Protocol model
Vestige is a narrow onchain primitive: a deterministic inheritance rule for self-custodied assets. It is intentionally smaller than legal estate planning and stricter than a social recovery system.
Problem statement
Self-custody is powerful because the owner controls assets directly. The same property creates an inheritance problem: if the owner disappears, loses access, or dies, the intended heir usually has no safe onchain path to recover those assets.
Vestige does not try to identify death or legal ownership. Instead, it gives the owner a deterministic liveness rule: if this wallet does not check in for a configured amount of time, this heir address can claim the vault.
Core rule
The complete protocol rule can be reduced to one timestamp formula. The vault is claimable when the current block timestamp is greater than or equal to lastCheckIn + inactivityPeriod + gracePeriod.
Before that timestamp, the owner path is available. After that timestamp, owner-side actions that could move assets away from the heir are frozen.
claimableAt(owner) = lastCheckIn + inactivityPeriod + gracePeriodRoles
The contract recognizes strict roles from addresses, not from names or offchain identity.
Non-goals
Vestige stays intentionally focused. Several things are out of scope for this contract.
- No identity verification or proof of death.
- No legal estate planning guarantees.
- No automatic discovery of all wallet assets.
- No centralized recovery desk.
- No automatic bulk claim loop over arbitrary token lists.
Why Arc and native USDC
The current product profile is Arc Testnet with native USDC. This makes the main inheritance asset stable and readable for normal users: balances, deposits, withdrawals, and claims are presented as USDC rather than generic gas-token language.
ERC20 token support remains available, but native USDC is the main settlement path in the current dApp.
