AeternumAeternum
Back to App

Testnet Walkthrough

New

End-to-end Sepolia test — connect, register with a 5-minute timer, fund your vault, and watch automatic recovery execute.


This walkthrough takes you through the complete Aeternum lifecycle on Sepolia testnet — from connecting your wallet all the way to watching the Aeternum keeper bot automatically transfer your ETH to your backup address. It uses a 5-minute inactivity timer so you can observe the full recovery cycle in a single session rather than waiting months.

Sepolia testnet — no real ETH

Everything in this walkthrough uses Sepolia test ETH, which has no monetary value. You can view the contract address and verify all transactions at Sepolia Etherscan.


What You Need

Before starting, prepare the following:

  • Browser wallet — MetaMask or any wallet that supports the EIP-1193 provider standard. See supported wallets.
  • Sepolia ETH — at least 0.05 SepoliaETH (get it free from sepoliafaucet.com or Google Cloud Web3)
  • A second Ethereum address — your "backup address" for this test. This can be a fresh MetaMask account, another wallet you control, or any address you can verify on Etherscan afterwards. You do not need Sepolia ETH in the backup address.

The Walkthrough

Get Sepolia ETH

Open sepoliafaucet.com or Google Cloud Web3 in a new tab. Enter your wallet address and switch to the Sepolia network in the faucet interface. Request Sepolia ETH — the faucet typically delivers 0.05 - 0.1 Sepolia ETH per claim. Wait for the transaction to confirm (usually under 30 seconds).

Verify your balance in MetaMask or on sepolia.etherscan.io/address/YOUR_ADDRESS. You should see at least 0.05 SepoliaETH.

Open the Aeternum app and connect

Navigate to aeternumvault.xyz. Click Connect Wallet in the top-right corner. Select your wallet from the RainbowKit modal and approve the connection.

If prompted to switch networks, confirm the switch to Sepolia. Your truncated address now appears in the header.

Register your vault with a 5-minute timer

Click Register on the vault dashboard. The registration modal opens.

Backup address: enter the second Ethereum address you prepared. This is where your Sepolia ETH will be sent when recovery triggers.

Inactivity period: enter 5 minutes (300 seconds). This is far below the mainnet minimum of 180 days — Sepolia testnet allows short timers specifically for testing this flow.

Optional deposit: enter the initial amount of ETH you want to secure in the vault. Leaving this empty is perfectly fine; you can easily deposit funds into your vault at any time after registration is complete.

Click Register and confirm the transaction in your wallet. Wait for the transaction to confirm (~15 seconds on Sepolia). Your vault is now live.

Deposit Sepolia ETH into your vault (If skipped in Step 3)

If you chose not to make an initial deposit during registration, click Deposit on the dashboard. Enter 0.02 in the ETH field. Confirm the transaction.

After confirmation, your vault balance shows 0.02 SepoliaETH and the countdown timer appears on the dashboard. The Aeternum keeper bot's indexer picks up your vault automatically — no separate action is required from you. As soon as 5 minutes of silence elapses, your vault becomes eligible for recovery.

Do nothing — let the timer expire

Wait at least 5 minutes without interacting with your vault. Do not interact with your vault in any way — no Ping, no Deposit, no Send. Any vault interaction resets the timer.

You can watch the countdown timer on the dashboard tick down to zero. Once it reaches zero, your vault becomes eligible for recovery. The keeper bot checks its own indexed database roughly every 12 seconds, then re-confirms directly on-chain before acting — it will pick up your vault as due on one of its next few cycles.

Watch the keeper bot execute the recovery

Typically within a minute or so of the timer expiring, a triggerRecovery transaction will appear on-chain. This step is permissionless at the contract level — any address could call it once your timer is up, but for this walkthrough, the Aeternum keeper bot handles it for you. You can observe the result in two ways:

  • On the dashboard: your vault balance drops to zero, the countdown timer disappears, and a "Recovery executed" entry appears in the vault history feed.

  • On Sepolia Etherscan: open your vault owner address on sepolia.etherscan.io and check the "Internal Transactions" tab. You will see an outgoing transfer from the AeternumVault contract address (0x9Eb95e4b47aECCB131f20AE7af33A29832499067) to your backup address.

Confirm the backup address received the ETH

Open your backup address on sepolia.etherscan.io. Under the Internal Txns tab, you should see a credit of 0.02 SepoliaETH from the AeternumVault contract. This confirms end-to-end recovery worked correctly.

The RecoveryExecuted event is also logged on the contract's event tab. Filter by RecoveryExecuted to see the exact log.


Re-Register and Test Again

After recovery, your vault is deregistered. Your backup address holds the ETH. To run the cycle again:

  1. If needed, transfer some Sepolia ETH back to your primary wallet
  2. Click Register on the dashboard — you can re-register with the same or a different backup address
  3. Deposit ETH and repeat

Test a Ping reset

Try the recovery cycle a second time but this time click Ping when the timer reaches 2 minutes. The countdown resets to 5 minutes again. This demonstrates that any interaction — including a cost-minimal ping — completely prevents recovery from firing.


Testing the Failure Path

If you want to verify the failed recovery handling:

  1. Register with a backup address that is a contract that rejects ETH (a contract with receive() external payable { revert(); })
  2. Deposit ETH and wait for recovery to trigger
  3. The contract will attempt the transfer, fail, restore your balance, increment the retry counter, and emit RecoveryFailed
  4. After three failures, the vault is abandoned and RecoveryAbandoned is emitted
  5. Your ETH is still accessible via send() and withdrawAll() even after abandonment

This path is easier to observe in a local Foundry test than on Sepolia, where deploying a rejection contract requires additional setup.


What's Different on Mainnet

Everything you experienced on Sepolia works identically on mainnet with two differences:

  • Timer minimum is 180 days — you cannot set a 5-minute timer on mainnet. The shortest allowed period is approximately 6 months.
  • Standard network gas fees — Aeternum v1 charges absolutely no protocol fees, premium subscriptions, or hidden deployment cuts. The only cost you will ever incur is the usual, standard Ethereum network gas fee required to validate your own vault interactions — such as register, deposit, send, and ping.