Operations

Troubleshooting

A field guide for the exact issues that happen while testing Vestige: wrong address, stale env, disabled buttons, claim timing, and confusing wallet labels.

MetaMask says the address is not a contract

Do not continue the transaction. This warning usually means the frontend is using the zero address, an old address, or an address from a different network.

Check env
NEXT_PUBLIC_VAULT_ADDRESS must equal the Arc Testnet deployment.
Check network
Wallet must be on Arc Testnet, chain ID 5042002.
Check bytecode
ArcScan address page must show contract code.
Restart
Restart Next.js after changing env variables.

Claim button is disabled

A disabled claim button is usually correct. The dApp should explain which condition is missing.

Not heir
Connected wallet does not match vault.heir.
Wrong owner
The heir page is reading the wrong owner address.
Still active
block.timestamp is before claimableAt(owner).
Already claimed
InheritanceActivated already happened.
No vault
VaultDoesNotExist for the owner address.

Can not create a second vault

This is expected if the old vault still exists. One owner address can have one vault lifecycle until the previous lifecycle is disabled.

1. Claim or withdraw remaining native USDC
2. Claim or withdraw tracked token balances
3. Call disableVault
4. Create a new vault

Wallet still says ETH

The dApp should say native USDC. If a wallet shows generic ETH-like labels, inspect the transaction details and make sure the frontend is not calling an old ETH-named ABI.

  • Current ABI uses depositUSDC, withdrawUSDC, claimUSDC.
  • Old ABI used depositETH, withdrawETH, claimETH and should not be used on Arc profile.
  • MetaMask may still use generic native-asset wording internally, but app copy should be USDC.

Gas cap or estimation errors

A gas error often hides a revert or stale ABI issue. Do not treat it as a gas-only problem until the underlying custom error is inspected.

VaultClaimable
Owner action is frozen because heir window is open.
VaultNotClaimable
Heir action is too early.
VaultAlreadyClaimed
Inheritance has already been activated.
Function mismatch
Frontend ABI does not match deployed contract.