Builders

Deployment

Deployment connects the Solidity contract, Arc Testnet, frontend environment, docs, and smoke tests. Treat a deployed address as a product dependency, not a random config value.

Preflight checklist

Before deployment, confirm the ABI and product language match the frontend.

  • Contract contains depositUSDC, depositUSDCFor, withdrawUSDC, claimUSDC, and nativeUSDCBalances.
  • Timing constants are production-like days, not temporary minute-based testing constants.
  • Frontend config uses Arc Testnet only.
  • Docs deployed-contracts page is ready to receive the new address.

Deploy contract

Use the repository deployment scripts or Hardhat task configured for Arc Testnet. Record the resulting address, tx hash, block number, deployer, compiler, and chain ID.

# Example shape only; use the repository script configured for Arc
npm run deploy:arc

Configure frontend

Update the main frontend environment and restart Next.js. Next.js reads public env values at build/runtime startup, so stale dev servers can keep old addresses.

NEXT_PUBLIC_VAULT_ADDRESS=0x37d346aC72a27aF35b42903f90962F810F34a985
NEXT_PUBLIC_ARC_RPC_URL=https://rpc.testnet.arc.network
NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID=your_walletconnect_project_id

Smoke test

Run a complete low-value test before publishing the deployment as active.

  • Create a vault with a real heir address.
  • Deposit a small amount of native USDC and verify nativeUSDCBalances.
  • Call checkIn and verify lastCheckIn changes.
  • Update heir or periods and verify dashboard reads.
  • Withdraw a partial amount.
  • Use a short-window test deployment if you need to validate claims quickly.
  • Claim and disable the drained vault.

Publish deployment metadata

After smoke testing, update the docs deployed-contracts table and frontend environment example so integrators do not copy stale addresses.

Docs page
/deployed-contracts
Frontend env
NEXT_PUBLIC_VAULT_ADDRESS
Explorer proof
ArcScan contract address page