ERC-735 is a proposal for a standard interface for Claim Holder contracts, which are often paired with ERC-725 identity contracts. Its primary function is to allow an Ethereum-based identity to issue, add, remove, and query claims made by or about itself. A claim is a statement from an issuer (another identity) about the subject (the claim holder), such as a verification of an email address, a KYC attestation, or a proof of membership. This standard does not define the validity or trustworthiness of a claim; it merely provides a structured way to store and reference them on-chain.
ERC-735
What is ERC-735?
ERC-735 is an Ethereum Request for Comments (ERC) standard that defines a smart contract interface for managing claims and attestations about an identity, enabling decentralized identity verification.
The standard specifies key functions like addClaim, removeClaim, and getClaim. Each claim contains metadata including the claim type, the issuer's address, the signature scheme used, the actual data of the claim, and a URI pointing to external evidence. By separating the identity (ERC-725) from the claims about it (ERC-735), the design allows for modular and upgradable identity systems. This enables use cases where an identity can aggregate verifications from multiple, potentially trusted, sources without modifying its core identity contract.
In practice, ERC-735 is a foundational component for Decentralized Identity (DID) and Self-Sovereign Identity (SSI) systems on Ethereum. For example, a university (issuer) could sign a claim attesting that a specific Ethereum address (subject) holds a degree. The graduate's identity contract would store this signed claim via ERC-735. A third party, like an employer, could then cryptographically verify this claim by checking the issuer's signature. While not as widely adopted as some token standards, ERC-735 provides the critical attestation layer for more complex identity frameworks like those proposed by the Decentralized Identity Foundation (DIF).
How ERC-735 Works
ERC-735 is a proposed Ethereum standard for a decentralized, on-chain claim registry that allows any Ethereum address to make verifiable statements about another address, identity, or entity.
ERC-735, or Ethereum Request for Comments 735, defines a smart contract interface for managing claims. A claim is a signed piece of data from an issuer (a trusted entity) about a subject (typically a user's Ethereum address). The core mechanism involves three primary functions: adding a claim, removing a claim, and querying claims. Claims are stored with metadata including the claim type, scheme, issuer address, signature, data, and a URI for off-chain evidence. This structure allows any external contract or dApp to programmatically verify assertions about an identity without relying on a centralized database.
The standard specifies several claim types (e.g., 1 for KYC, 2 for accreditation) and signature schemes (e.g., ECDSA, EIP-191). When an issuer creates a claim, they hash the claim data, sign it with their private key, and submit it to the subject's claim holder contract. The subject must then invoke addClaim to store this signed data on-chain. Verification is performed off-chain by a relying party, who can cryptographically check the issuer's signature against the stored data and the issuer's known public key, ensuring the claim's authenticity and integrity.
A key innovation of ERC-735 is its separation of the Claim Holder and Claim Verifier roles. The Claim Holder is a smart contract, often deployed per user or attached to an ERC-725 identity, that stores claims. The Claim Verifier is any logic, on-chain or off-chain, that interprets these claims. This design enables modularity; for instance, a DeFi protocol (the verifier) can check for a specific KYC claim type from a known regulator (the issuer) stored in a user's holder contract before permitting a transaction, enabling compliant decentralized applications.
ERC-735 is intrinsically linked with ERC-725, which defines a standard for blockchain identities. ERC-725v2 identities can implement the ERC-735 interface directly, creating a unified identity and claim management system. This combination allows an Ethereum Address to act as a programmable agent with attached verifiable credentials. Use cases extend beyond KYC to include proof-of-membership, skill attestations, and reputation scores, forming a foundational layer for decentralized identity (DID) and trust frameworks within the Web3 ecosystem.
While powerful, ERC-735 has limitations. Storing claim data fully on-chain can be costly, which is why the standard supports linking to off-chain data via the URI field. Furthermore, the standard does not define revocation mechanisms or the trustworthiness of issuers; these are social and application-layer concerns. Despite its status as a draft proposal and not a final standard, ERC-735's design has significantly influenced subsequent identity solutions like Verifiable Credentials and the work of the Decentralized Identity Foundation.
Key Features of ERC-735
ERC-735 is an Ethereum standard for managing on-chain identity claims, allowing smart contracts to request, issue, hold, and verify attestations about an identity.
Claim Structure
A Claim is a structured attestation issued to an identity. Each claim contains:
- Issuer: The Ethereum address that created and signed the claim.
- Topic: The identity (ERC-725) to which the claim pertains.
- Scheme: The data format type (e.g., 3 = on-chain, 4 = off-chain).
- Signature: Cryptographic proof from the issuer.
- Data: The claim payload (e.g., a hash of the attestation data).
- URI: A location for additional off-chain data.
Key Management Functions
The standard defines core functions for managing the lifecycle of claims:
- addClaim(): Adds a new claim to the identity's registry.
- removeClaim(): Revokes an existing claim.
- getClaim(): Retrieves a specific claim by its ID.
- getClaimIdsByTopic(): Finds all claims associated with a given identity topic. These functions allow an identity to curate a verifiable portfolio of attestations.
On-Chain vs. Off-Chain Data
ERC-735 supports flexible data storage patterns:
- On-Chain (Scheme 3): The claim
datafield contains the full attestation directly on the blockchain (e.g., a boolean or a small data hash). - Off-Chain (Scheme 4): The claim
datafield stores a hash (like a IPFS or Swarm hash) of the attestation. The full data is stored off-chain, with the on-chain hash serving as a tamper-proof reference. This is crucial for privacy and scalability.
Integration with ERC-725
ERC-735 is designed to work in tandem with ERC-725 (Identity). An ERC-725 smart contract represents a blockchain identity (for a person, organization, or object). The ERC-735 contract is then used as a claim holder attached to that identity. This separation of concerns allows the core identity (keys, permissions) to be managed separately from its verifiable credentials.
Use Cases & Verification
Claims enable decentralized verification of attributes without a central authority. Common use cases include:
- KYC/AML Attestations: A regulated entity issues a claim confirming an identity is verified.
- Skill Certifications: A DAO or institution attests to a member's qualifications.
- Membership Proofs: A token-gated community grants a membership claim. A verifier can check the claim's signature against the issuer's known public key and the data's integrity hash.
Comparison to Other Standards
ERC-735 is part of a broader ecosystem of identity standards:
- vs. ERC-725: ERC-725 defines the identity container (keys, execution). ERC-735 defines the attestations held by that container.
- vs. Verifiable Credentials (W3C VC): ERC-735 is an on-chain, Ethereum-native implementation of similar concepts. W3C VCs are a broader, blockchain-agnostic data model.
- vs. Soulbound Tokens (SBTs): SBTs are non-transferable tokens representing traits. An ERC-735 claim is a more generic, data-focused attestation that can be revoked by its issuer.
Relationship with ERC-725
ERC-735 (Claim Holder) and ERC-725 (Identity) are companion standards designed to create a modular, self-sovereign identity framework on the Ethereum blockchain, where one standard defines the identity container and the other manages the verifiable claims associated with it.
ERC-725 and ERC-735 form a symbiotic architectural pair for decentralized identity. ERC-725 defines a smart contract-based proxy account that acts as a programmable, blockchain-native identity. This identity can hold assets, execute transactions via its attached keys, and, crucially, interact with other smart contracts. ERC-735 is then implemented as an extension within an ERC-725 identity, adding the specific functionality to publish, manage, and revoke verifiable claims. Think of ERC-725 as the 'wallet' or 'container' for the identity, and ERC-735 as a specialized 'module' installed into that container to handle attestations.
The relationship is explicitly defined in the ERC-735 specification, which states that a claim holder contract MUST implement the ERC-735 interface and SHOULD implement ERC-725. This design allows the claim data (managed by ERC-735) to be intrinsically linked to the identity's keys and execution logic (managed by ERC-725). For example, a CompanyIdentity (ERC-725) could have an attached ClaimsRegistry (ERC-735) holding a claim issued by a trusted auditor verifying its business license. Any third-party dApp can then query the CompanyIdentity to find and verify this credential in a single, standardized interaction.
This modular separation of concerns provides significant flexibility. An ERC-725 identity can choose not to use ERC-735 if claim management is not needed, or it can implement multiple claim schemes. Furthermore, because ERC-725 identities are upgradeable proxy contracts, the claim logic can be improved or replaced over time without losing the core identity and its associated assets. This foundational pattern of a core identity (ERC-725) with pluggable functionality has influenced later, more integrated identity standards like ERC-725v2 and the broader Ethereum Attestation Service (EAS) ecosystem, which builds upon these core concepts of separable identity and verifiable data.
Anatomy of a Claim
ERC-735 is a proposed standard for a Claim Holder smart contract that allows an Ethereum entity (like a wallet or DAO) to manage verifiable claims issued by third-party Claim Issuers. This glossary breaks down its core components and mechanics.
Claim Holder Contract
The central smart contract defined by ERC-735. It acts as a vault for an entity's verifiable credentials. Key functions include:
- Adding Claims: Stores claims with a unique
claimId,scheme,issuer,signature,data, andURI. - Removing Claims: Allows the holder to revoke outdated claims.
- Querying Claims: Enables any party to fetch and verify claims associated with the holder's address.
Claim Structure
Each claim is a structured data packet containing:
claimId: A unique bytes32 identifier for the claim.scheme: The type of verification (e.g., ECDSA, RSA, or a custom scheme).issuer: The Ethereum address of the entity issuing the claim.signature: A cryptographic proof signed by the issuer's private key.data: The core claim information (e.g., a hash of "KYC verified").URI: An optional pointer to external metadata or evidence.
Claim Issuer
A trusted third party that creates and signs claims about a Claim Holder. Examples include:
- DAO Memberships: A DAO attesting a user is a member.
- KYC Providers: A service verifying real-world identity.
- Skill Certifiers: An institution issuing proof of a specific skill or accreditation. The issuer's signature is the cryptographic bedrock of the claim's validity.
Claim Topics & Schemes
These parameters categorize claims and define how they are verified.
- Topics: A
uint256identifier for the claim type (e.g., 1 for KYC, 2 for accreditation). This allows for efficient filtering and discovery. - Schemes: An identifier for the cryptographic scheme used in the
signature(e.g.,1for ECDSA,2for RSA). This tells a verifier how to validate the signature against the issuer's public key.
Verification & Revocation
The process of checking a claim's validity and managing its lifecycle.
- Verification: Any party can call the holder contract to retrieve a claim and verify its
signaturematches theissueranddata. This is done off-chain using standard cryptography. - Revocation: The Claim Holder can remove a claim from their contract at any time, instantly revoking its on-chain availability. The Claim Issuer can also revoke by no longer validating the signature.
Use Cases for ERC-735
ERC-735 is an Ethereum standard for managing claims, attestations, and delegated authorizations. These are its primary applications.
Comparison with Related Identity Standards
How ERC-735 (Claim Holder) compares to other key standards for managing identity and attestations on Ethereum.
| Feature / Attribute | ERC-735 (Claim Holder) | ERC-725 (Identity) | ERC-1056 (Lightweight Identity) | Verifiable Credentials (W3C) |
|---|---|---|---|---|
Core Purpose | Registry for third-party attestations (claims) | General-purpose proxy identity with key management | Lightweight, off-chain identity with on-chain delegates | Universal data model for cryptographically verifiable statements |
On-Chain Data Storage | Claims stored on-chain | Keys, claims, and data stored on-chain | Minimal (delegate addresses only) | Off-chain, with on-chain registries for DIDs/status |
Claim/VC Issuance | Direct on-chain issuance by claim issuers | Can be issued via linked ERC-735 or custom logic | Off-chain signatures, referenced via delegates | Off-chain issuance with cryptographic signatures |
Key Management | Relies on external key management (e.g., ERC-725) | Built-in key management with execution permissions | Simple Ethereum keypair, changeable via delegates | Decoupled; uses DID methods linked to cryptographic material |
Revocation Mechanism | On-chain removal by claim issuer or holder | On-chain removal or key revocation | On-chain removal of delegate | Status lists, on-chain registries, or cryptographic accumulators |
Gas Cost for Issuance | High (on-chain transaction) | High (on-chain transaction or via proxy) | Low (off-chain signature) | Low (off-chain signature) |
Interoperability Scope | Ethereum ecosystem, composable with ERC-725 | Ethereum-centric, flexible via execution | Ethereum-centric, simple integration | Blockchain-agnostic, standard JSON-LD/JWT formats |
Security & Trust Considerations
ERC-735 is an Ethereum standard for managing claims about an identity, enabling decentralized attestations and reputation systems. This section details its core security mechanisms and trust models.
Claim Verification & Revocation
The standard's security hinges on the ability to verify and revoke claims. A claim is a signed statement from an issuer about a subject. Security considerations include:
- Signature Verification: Each claim's validity is cryptographically verified against the issuer's public key.
- Revocation Registry: Issuers must maintain an on-chain or off-chain method to revoke outdated or fraudulent claims, preventing stale data from being trusted.
- Issuer Reputation: The trustworthiness of a claim is directly tied to the reputation and key security of its issuer.
Decentralized Trust Graphs
ERC-735 enables the creation of decentralized trust graphs, moving away from centralized authorities. Key aspects:
- Peer-to-Peer Attestation: Trust is established through a web of signatures from known entities, not a single root certificate.
- Selective Disclosure: Subjects can present specific claims without revealing their entire identity, enhancing privacy.
- Trust Transitivity: Applications can define policies for trusting claims based on the reputation of the issuers, creating layered trust models.
Key Management & Identity Theft
The security of an ERC-735 identity is fundamentally tied to the security of its private keys.
- Single Point of Failure: Compromise of the identity contract's owner key allows an attacker to add or remove any claim, completely subverting the identity.
- Recovery Mechanisms: The standard itself does not define key recovery; this must be implemented at the contract level (e.g., via social recovery, multi-sig).
- Claim Issuer Keys: The private keys of claim issuers are also critical targets, as their compromise allows forging trusted attestations.
On-Chain vs. Off-Chain Data
ERC-735 supports storing claim data on-chain or off-chain, each with distinct trade-offs.
- On-Chain Claims: Provide maximum availability and censorship resistance but incur gas costs and expose all data publicly.
- Off-Chain Claims (e.g., IPFS): Store only a content hash on-chain. This reduces cost and improves privacy but introduces availability risk—if the off-chain storage fails, the claim becomes unverifiable.
- Data Integrity: Off-chain data integrity is guaranteed by the on-chain hash, but its persistence is not.
Implementation Risks & Audits
As a standard interface, the security of a specific implementation is paramount.
- Reference Implementation: The canonical ERC-735 contract is a minimal interface; production systems require robust, audited implementations.
- Access Control Logic: The
addClaim,removeClaim, andchangeClaimfunctions must have strict authorization checks to prevent unauthorized modifications. - Upgradeability: If the identity contract is upgradeable, the upgrade mechanism itself becomes a critical security vector that must be secured.
Use Case: Sybil Resistance
A primary application of ERC-735 is providing Sybil resistance for decentralized applications.
- Proof-of-Personhood: Claims from trusted issuers can attest that an identity corresponds to a unique human.
- DAO Governance: Voting power can be weighted based on verified claims (e.g., membership, expertise) rather than simple token ownership.
- Credit Scoring: Decentralized finance (DeFi) protocols can use attested credit history claims to assess borrower risk without a central bureau. The security of these systems depends entirely on the integrity and collusion-resistance of the claim issuers.
Etymology and History
A historical overview of the ERC-735 standard, a proposed but unimplemented Ethereum standard for managing claims and attestations about an identity, which served as a conceptual precursor to modern decentralized identity solutions.
ERC-735 is an Ethereum Request for Comments (ERC) standard, numbered 735, that was proposed in 2017 by Fabian Vogelsteller, the co-author of the widely adopted ERC-20 token standard. Its formal title is "Claim Holder" and it was designed to work in tandem with ERC-725, the "Identity" standard. The number 735 follows sequentially from ERC-725, reflecting their intended symbiotic relationship. The proposal was part of a broader vision for a decentralized identity framework on Ethereum, where an ERC-725 identity contract could hold and manage claims issued by third parties via ERC-735.
The core concept of ERC-735 was to create a standardized way for smart contracts to request, hold, and verify claims—also known as attestations—about an identity. A claim could be any verifiable statement, such as a proof-of-age, a KYC certification, or a membership credential. The standard defined functions for adding, removing, and querying claims, with each claim containing metadata like the claim issuer's address, the claim type, and the actual data. This structure aimed to move identity verification logic on-chain, enabling trustless interactions based on verified attributes.
Despite its innovative design, ERC-735 was never formally finalized or widely implemented as an official Ethereum Standard (EIP). It remained in a draft state. The complexity of on-chain claim management, coupled with high gas costs and evolving architectural preferences, limited its adoption. The broader ecosystem began to favor off-chain attestation models, where verifiable credentials are signed and stored off-chain (e.g., using W3C Verifiable Credentials) and only minimal proofs or references are brought on-chain as needed for verification.
The historical significance of ERC-735 lies in its role as a foundational thought experiment that helped shape the discourse around decentralized identity (DID). It directly influenced later, more successful standards and systems. Its concepts are evident in the ERC-1056 (Lightweight Identity) standard, the ERC-780 (Claim Registry) proposal, and the architecture of Soulbound Tokens (SBTs) and non-transferable badges, which serve as on-chain attestations of reputation or membership.
Today, ERC-735 is studied as an important milestone in the evolution of blockchain-based identity. While superseded by more efficient and scalable approaches, its proposal provided a crucial early blueprint for how smart contracts could manage trust and verifiable data, paving the way for the current generation of decentralized identifiers (DIDs) and verifiable credential ecosystems that prioritize user sovereignty and privacy.
Frequently Asked Questions (FAQ)
ERC-735 is a proposed standard for managing claims and attestations on the Ethereum blockchain. This FAQ addresses common questions about its purpose, functionality, and relationship to other identity standards.
ERC-735 is a proposed Ethereum standard that defines a smart contract interface for managing claims and attestations about an identity. It works by allowing a Claim Holder contract to add, remove, and query claims issued by Claim Issuers. A claim is a statement made by an issuer about the holder, such as proof of age or accreditation. The holder's contract stores these claims, which can be requested and verified by third-party Verifiers (like dApps) to grant access or permissions without revealing the underlying identity data. This creates a modular, decentralized system for reputation and credential management.
Get In Touch
today.
Our experts will offer a free quote and a 30min call to discuss your project.