Attestation Network
Understand how AfterCrypt Protocol verifies release conditions through a decentralized network of attestation nodes.
What is the Attestation Network?
The Attestation Network is a decentralized system of nodes that verify release conditions for vaults. Instead of relying on a single oracle or centralized authority, multiple independent nodes must reach consensus before assets can be released.
How Attestation Works
Release Condition Triggered
A beneficiary or automated system submits a release request with supporting evidence (e.g., death certificate hash, government record ID, or oracle data).
Node Verification
Attestation nodes independently verify the evidence using multiple data sources including government APIs, oracle networks, and trusted third-party services.
Attestation Submission
Each node submits its attestation (verified or rejected) to the on-chain AttestationRouter contract along with a cryptographic proof of verification.
Consensus Reached
When 67% of active nodes submit verified attestations, consensus is reached. The vault status changes to "releasable" and beneficiaries can claim their allocated assets.
Supported Attestation Sources
Government Records
Official death certificates and vital records from government databases (where available via API).
Trusted Third Parties
Law firms, notaries, and other trusted entities that can verify identity and events.
Oracle Networks
Integration with Chainlink, Band Protocol, and other decentralized oracle networks.
Time-Based
Automatic attestation when check-in deadlines are missed (inactivity trigger).
Multi-Signature
Designated trustees can submit attestations that require multiple signatures.
Custom Sources
Integration with custom data sources via our attestation provider API.
SDK Integration
Submit Attestation Request
import { AfterCryptProtocol } from '@aftercrypt/sdk';
const sdk = new AfterCryptProtocol({
chain: 'bsc',
mode: 'mainnet'
});
// Submit attestation with proof hash
const attestation = await sdk.attestation.submit(
vaultId,
'government_record', // source type
'0xProofHashFromDeathCertificate...'
);
console.log(attestation);
// { id: 'att_123', status: 'pending', source: 'government_record' }Check Attestation Status
// Get current attestation status
const status = await sdk.attestation.getStatus(vaultId);
console.log(status);
// {
// pending: 12,
// verified: 68,
// rejected: 2,
// total: 82,
// consensusThreshold: 67,
// consensusReached: true,
// releasable: true
// }
// Get detailed attestation list
const attestations = await sdk.attestation.getAll(vaultId);
attestations.forEach(att => {
console.log(`Node ${att.nodeId}: ${att.verified ? 'Verified' : 'Rejected'}`);
});Monitor Attestation Events
// Listen for new attestations
sdk.events.onAttestation(vaultId, (attestation) => {
console.log(`New attestation from node ${attestation.nodeId}`);
console.log(`Status: ${attestation.verified ? 'Verified' : 'Rejected'}`);
});
// Listen for consensus events
sdk.events.onConsensusReached(vaultId, (event) => {
console.log('Consensus reached! Vault is now releasable.');
console.log(`Total verified: ${event.verifiedCount}`);
console.log(`Release available at: ${event.releaseTime}`);
});Security Considerations
Sybil Resistance
Nodes must stake tokens to participate in the network. Malicious behavior results in stake slashing, making attacks economically infeasible.
Data Privacy
Sensitive data is never stored on-chain. Only cryptographic proofs and hashes are submitted, preserving beneficiary privacy.
Dispute Resolution
A governance-controlled dispute period allows challenges before final release. Disputed attestations are reviewed by the DAO.
Audit Trail
Every attestation is permanently recorded on-chain with timestamps and node signatures for full transparency and accountability.
Run an Attestation Node
Earn rewards by participating in the attestation network.