AeternumAeternum
Back to App

User Functions

All write functions — register, deposit, send, withdrawAll, ping, updateBackupAddress, updateInactivityPeriod, cancelRecovery.


All functions on this page are state-changing — they cost gas and modify on-chain state. Every function except cancelRecovery resets the caller's lastActivity timestamp as a side effect.

The contract address on Sepolia is 0x9Eb95e4b47aECCB131f20AE7af33A29832499067.


payable

register

register(address backupAddress, uint256 inactivityPeriod) external payable

Creates a vault for the caller. The caller's address becomes the protected wallet. Registration with a zero balance is valid — ETH can be deposited later. If the caller previously had an abandoned vault with a remaining balance, that balance is automatically carried into the new vault.


payable

deposit

deposit() external payable

Adds ETH to the caller's existing vault. The vault must already be registered. Resets the inactivity timer.


nonpayable

send

send(address to, uint256 amount) external

Sends ETH from the caller's vault to any Ethereum address. The vault balance decreases by the sent amount. Resets the inactivity timer. Follows the CEI pattern — balance is updated before the external ETH call.


nonpayable

withdrawAll

withdrawAll() external

Transfers the caller's entire vault balance back to their own wallet. The vault remains active and registered after withdrawal — the user can deposit again at any time. To fully deregister, use cancelRecovery() instead. Resets the inactivity timer.


nonpayable

ping

ping() external

Resets the inactivity timer without moving any funds or changing any settings. Use this to signal liveness when you are not planning to transact but your inactivity period is approaching.


nonpayable

updateBackupAddress

updateBackupAddress(address newBackupAddress) external

Changes the backup address on the caller's vault. The new address must not be zero, the caller's own address, or a permanently blocked address. Resets the inactivity timer.


nonpayable

updateInactivityPeriod

updateInactivityPeriod(uint256 newPeriod) external

Changes the inactivity period on the caller's vault. The new period must fall within the enforced minimum and maximum bounds. Resets the inactivity timer.


nonpayable

cancelRecovery

cancelRecovery() external

Withdraws all ETH and permanently removes the vault from monitoring in one transaction. The caller is deregistered. Re-registration is allowed after cancellation. If the vault has zero balance, deregistration still completes with no ETH transfer.