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.
register
register(address backupAddress, uint256 inactivityPeriod) external payableCreates 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.
deposit
deposit() external payableAdds ETH to the caller's existing vault. The vault must already be registered. Resets the inactivity timer.
send
send(address to, uint256 amount) externalSends 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.
withdrawAll
withdrawAll() externalTransfers 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.
ping
ping() externalResets 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.
updateBackupAddress
updateBackupAddress(address newBackupAddress) externalChanges 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.
updateInactivityPeriod
updateInactivityPeriod(uint256 newPeriod) externalChanges the inactivity period on the caller's vault. The new period must fall within the enforced minimum and maximum bounds. Resets the inactivity timer.
cancelRecovery
cancelRecovery() externalWithdraws 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.