AFTER Documentation
Understand the architecture, security model, and implementation details of the Digital Legacy Protocol.
For Users
Understand how AFTER protects your digital assets. Read Protocol Basics →
For Developers
Integrate AFTER into wallets and applications. Developer Guide →
What is AFTER?
AFTER is a decentralized, non-custodial inheritance protocol designed for the Web3 era. It allows users to define exactly what happens to their digital assets in the event of long-term inactivity.
Protocol Philosophy
"Crypto made ownership permanent. AFTER makes succession possible."
Core Concepts
AFTER Plan
A predefined succession configuration secured on-chain.
Proof of Life
A valid owner check-in signature that resets the inactivity timer.
Inactivity Period
Preconfigured time (e.g., 180 days) before recovery begins.
Grace Period
Additional recovery window (e.g., 30 days) for the owner.
Guardian Threshold
Required approvals from trusted entities.
Execution
Final distribution of assets to beneficiaries.
Early Participation Treasury
AFTER designates a transparent onchain treasury to support discretionary ETH incentives for eligible early users who participate in protocol testing and interaction programs. The treasury is intended to align early community participation with the long-term development of the protocol.
0xf89903f371141f2f061485f192cd4f48c02d918eView on Blockscout Treasury rewards are not guaranteed and do not represent yield, interest, or a contractual entitlement. Eligibility criteria, allocation amounts, snapshots, and distribution timing may change and will only be announced through official AFTER channels. Users should independently verify all transactions onchain.
Create Plan (SDK Example)
Developers can easily integrate AFTER using our TypeScript SDK. Below is a simplified example of creating a legacy plan.
const plan = await after.createPlan({
inactivityPeriod: 180, // days
gracePeriod: 30, // days
beneficiaries: [
{ address: "0x...", allocation: 70 },
{ address: "0x...", allocation: 30 }
],
guardians: ["0x...", "0x...", "0x..."],
threshold: 2
});
console.log(`Plan #${plan.id} secured.`);