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:arcConfigure 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_idSmoke 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.
