What are Attestations?
An attestation is a verifiable claim made by a trusted entity (authority) about a subject (user, contract, or organization). Think of attestations as on-chain certificates that prove something about an entity. In the real world, attestations are everywhere:- A university diploma attests to your education
- A driver’s license attests to your driving ability
- A credit score attests to your financial reliability
- A vaccination record attests to your health status
Core Components
Every attestation consists of five key components:Authority
The trusted entity making the claim (KYC provider, DAO, organization)
Subject
The entity the claim is about (wallet address, smart contract, etc.)
Schema
The structure defining what data the attestation contains
Data
The actual claim data (verified: true, score: 85, etc.)
Metadata
Additional info like expiration, creation time, revocation status
Attestation Lifecycle
Attestations follow a predictable lifecycle:States Explained
Created
Created
The attestation has been issued and recorded on-chain. It’s ready to be used for verification.
Active
Active
The attestation is valid and can be used for verification. This is the normal operating state.
Expired
Expired
The attestation has passed its expiration date and is no longer valid for verification.
Revoked
Revoked
The authority has explicitly revoked the attestation, making it invalid regardless of expiration.
Archived
Archived
The attestation is kept for historical purposes but is not active.
Types of Attestations
AttestProtocol supports various types of attestations:Identity Attestations
Verify credentials and identity claims:Behavioral Attestations
Document actions, achievements, and behavioral patterns:Relationship Attestations
Document relationships and affiliations between entities:Attestation Properties
Immutability
Once created, the core attestation data cannot be changed. This ensures trust and prevents tampering.Verifiability
Anyone can verify an attestation’s authenticity using cryptographic proofs without revealing sensitive data.Composability
Attestations can reference other attestations, creating complex trust networks:Programmability
Smart contracts and applications can automatically verify attestations:Working with Attestations
Creating Attestations
Using the AttestProtocol SDK to create attestations:Fetching Attestations
Retrieve and verify attestations:Revoking Attestations
Authorities can revoke attestations they issued:Trust Models
AttestProtocol supports different trust models:Single Authority
One trusted entity issues attestations:Multi-Authority
Multiple entities must agree:Web of Trust
Entities attest to each other:Delegated Authority
Authorities can delegate attestation power:Privacy Considerations
AttestProtocol supports various privacy models:Public Attestations
Full data is visible on-chain:Private Attestations
Only hashes are stored on-chain:Zero-Knowledge Attestations
Prove claims without revealing data:Best Practices
Schema Design
Schema Design
- Keep schemas simple and focused
- Use semantic field names
- Include version information for evolving schemas
- Document field meanings clearly
Data Structure
Data Structure
- Store minimal necessary data
- Use standard formats (ISO dates, etc.)
- Consider privacy implications
- Plan for schema evolution
Expiration Strategy
Expiration Strategy
- Set appropriate expiration dates
- Consider renewal processes
- Balance security with user experience
- Plan for grace periods
Authority Management
Authority Management