did:ethr is a Decentralized Identifier (DID) method that anchors identity information to the Ethereum blockchain and other EVM-compatible networks. A DID is a globally unique, cryptographically verifiable identifier that an individual or organization controls without a central registry. The did:ethr method, standardized by the Decentralized Identity Foundation (DIF), uses a smart contract known as the Ethereum DID Registry (ERC-1056) to store and manage the public keys and service endpoints associated with a DID. This creates a self-sovereign identity system where users have direct cryptographic control over their identifiers.
did:ethr
What is did:ethr?
did:ethr is a Decentralized Identifier (DID) method specification that uses the Ethereum blockchain and compatible EVM networks as a verifiable data registry for public keys and service endpoints.
The core mechanism involves creating a DID from an Ethereum address. A standard did:ethr identifier looks like did:ethr:0x..., where the suffix is an Ethereum address. The corresponding private key for that address acts as the controller's proof of ownership. Identity attributes, such as new public keys or links to off-chain data, are written as DID Document (DID Doc) updates to the Ethereum DID Registry via signed transactions. Verifiers can then resolve the DID by querying the registry to retrieve the current, cryptographically verifiable DID Document without relying on a centralized server.
Key technical components include the Ethereum DID Registry smart contract, which maintains a mapping of DIDs to their associated public keys and service endpoints, and ERC-1056, which formalizes the contract interface. Updates to a DID Document—such as adding a new signing key or a link to a Verifiable Credential service—are made by sending a transaction signed by a current authorized key. This design ensures that identity control is permissionless and decentralized, aligning with blockchain principles.
Primary use cases for did:ethr span decentralized applications (dApps), user authentication (Sign-In with Ethereum), verifiable credentials, and secure, blockchain-based messaging. For example, a dApp can use a user's did:ethr to authenticate them without a password, relying instead on a cryptographic signature. Its advantages include interoperability through W3C DID standards, cryptographic security inherited from Ethereum, and resilience due to the decentralized nature of the underlying blockchain, avoiding single points of failure common in traditional identity systems.
How did:ethr Works
A technical overview of the did:ethr method, which anchors Decentralized Identifiers (DIDs) on the Ethereum blockchain and other EVM-compatible networks.
The did:ethr method is a W3C Decentralized Identifier (DID) specification that uses an Ethereum address as the core of its persistent identifier, enabling a cryptographically verifiable digital identity anchored to a public blockchain. A did:ethr identifier, such as did:ethr:0xabc..., is a URN (Uniform Resource Name) that directly corresponds to an externally owned account (EOA) or smart contract address. The associated DID Document is not stored on-chain but is dynamically generated from on-chain registry events, with its public keys and service endpoints defined by transactions to a smart contract known as the EthereumDIDRegistry.
Control of the DID is managed through a delegate structure recorded in the EthereumDIDRegistry. An identity owner can authorize other Ethereum addresses (delegates) to act on their behalf for specific operations, such as updating public keys or service endpoints. This is achieved by signing and submitting EIP-712 structured data to the registry contract. The DID Document is constructed by querying the registry for valid, non-revoked events attributed to the DID's address, ensuring the document reflects the current, authorized state without storing redundant data on-chain.
A key feature of did:ethr is its key rotation and recovery mechanism. If a private key is compromised, the identity owner (or an authorized delegate) can revoke the old public key and add a new one to the registry, effectively recovering control without changing the core DID identifier. This process maintains the identity's continuity while updating its cryptographic material. Furthermore, the method supports off-chain verifiable credentials and signatures using the EthereumEIP712Signature2021 or EthereumEd25519Signature2020 suites, allowing the DID controller to sign JSON-LD documents in a manner verifiable by the public keys listed in its DID Document.
The did:ethr method is network-agnostic, extending beyond the Ethereum mainnet. The DID method specification includes a chain identifier or network name, allowing it to function on any EVM-compatible chain like Polygon, Arbitrum, or a private network (e.g., did:ethr:sepolia:0x...). This flexibility means the same conceptual identity system can be deployed across different environments, from public L2s to permissioned consortium chains. The universal resolver pattern allows a single resolver to fetch DID Documents from any of these supported networks.
In practice, did:ethr enables use cases such as self-sovereign login (SSI), verifiable credentials for KYC, and decentralized application (dApp) user identities. Because the identity is linked to a blockchain account, it seamlessly integrates with Web3 wallets like MetaMask for signing authentication requests (Sign-In with Ethereum) and authorizing transactions. This bridges the gap between traditional DID-based identity systems and the existing Ethereum ecosystem, providing a robust, interoperable foundation for decentralized identity that leverages proven blockchain security and infrastructure.
Key Features of did:ethr
The did:ethr method is a W3C-compliant Decentralized Identifier (DID) specification that anchors identity on the Ethereum blockchain and other EVM-compatible networks. It provides a standard way to create, resolve, update, and deactivate DIDs using on-chain smart contracts and off-chain DID documents.
Ethereum-Based Identifier
A did:ethr DID is derived directly from an Ethereum account (externally owned account or smart contract). The core identifier format is did:ethr:<network>:<address>. This creates a cryptographically verifiable link between the blockchain address and the DID, where the private key holder is the authoritative controller. For example, did:ethr:0x1:0xb9c5714089478a327f09197987f16f9e5d936e8a.
DID Document & On-Chain Registry
The DID's metadata, called a DID Document, contains public keys, service endpoints, and authentication mechanisms. did:ethr uses an on-chain DID Registry smart contract (like EthereumDIDRegistry) to store critical changes. The document itself is assembled by a resolver, combining immutable on-chain events (e.g., key updates) with off-chain JSON for efficiency.
Public Key Management
Controllers can manage their cryptographic material by publishing updates to the on-chain registry. Key operations include:
- Adding a new public key or delegate for authentication.
- Revoking a previously authorized key.
- Setting an attribute, like a service endpoint for communication. Each change is signed by the current controller, creating an immutable audit trail on the blockchain.
Multi-Chain & Layer 2 Support
The method is not limited to Ethereum Mainnet. It supports any EVM-compatible network by specifying a chain ID or network name in the DID string. This enables identity portability across:
- Layer 1s: Polygon (
did:ethr:polygon:...), Binance Smart Chain. - Layer 2s: Arbitrum, Optimism.
- Testnets: Goerli, Sepolia. The same cryptographic principles apply, anchored to each chain's registry instance.
Verifiable Credentials & Signatures
did:ethr DIDs are primarily used to issue and verify W3C Verifiable Credentials and create Verifiable Presentations. The controller signs payloads (like a credential) with their private key, and any verifier can cryptographically confirm the signature's validity against the public keys listed in the resolved DID Document, enabling trustless verification.
Decentralized & Self-Sovereign
The architecture eliminates central issuing authorities. Identity control is self-sovereign:
- Creation: Anyone with an Ethereum wallet can create a DID instantly, at no initial cost.
- Control: Only the holder of the private key can make authorized changes.
- Persistence: The identifier and its change history are secured by the underlying blockchain's consensus, resistant to censorship.
Ecosystem Usage & Adoption
The did:ethr method leverages the Ethereum blockchain as a verifiable data registry for Decentralized Identifiers (DIDs). Its adoption is driven by its simplicity, alignment with existing Web3 infrastructure, and robust cryptographic security.
Core Technical Foundation
A did:ethr DID is anchored to an Ethereum address (or a secp256k1 public key). The core document (DID Document) is not stored on-chain; instead, a smart contract registry (like the ERC-1056 EthrDIDRegistry) records public key updates and service endpoints. This creates a permanent, cryptographically verifiable link between an identity and its controlling keys.
- DID Format:
did:ethr:<network>:<address> - Registry: Stores key management events (add/revoke) and service endpoints.
- Resolution: Clients query the registry to reconstruct the current, valid DID Document.
Primary Use Cases
did:ethr is used to create self-sovereign identities for users, organizations, and devices within the Ethereum ecosystem.
- User Logins: Passwordless authentication for dApps and services using Sign-In with Ethereum (SIWE).
- Verifiable Credentials: Issuing and presenting tamper-proof digital attestations (e.g., proof of KYC, membership).
- Decentralized Attestations: Projects like EAS (Ethereum Attestation Service) use it to sign and verify off-chain data.
- DAO & Governance: Linking a persistent identity to a wallet for reputation and voting systems.
Key Adopters & Integrations
The method is supported by major libraries and integrated into prominent identity stacks.
- Libraries: The official ethr-did and did-jwt libraries by uPort (now Consensys Mesh).
- Identity Wallets: Integrated into wallets like MetaMask via Snaps and Valora.
- Verification Services: Used by Veramo, a modular framework for SSI, and Spruce ID's Sign-In with Ethereum.
- Enterprise: Adopted by Microsoft's ION (which uses a Sidetree protocol atop Bitcoin, but
did:ethris a key parallel for the Ethereum ecosystem).
Advantages for Developers
Developers choose did:ethr for its low friction and crypto-native design.
- Familiar Tooling: Works directly with existing Ethereum wallets and keys; no new key management needed.
- Low Cost: Most identity operations (key rotation, service updates) are simple, low-gas transactions.
- Interoperability: Compliant with W3C DID Core specifications, enabling compatibility with the broader SSI landscape.
- Proven Security: Inherits the security of the Ethereum blockchain and its elliptic curve cryptography.
Comparison to Other DID Methods
did:ethr is often compared to other blockchain-based DID methods.
- vs
did:key:did:ethrprovides an on-chain registry for key rotation and service endpoints, whiledid:keyis a simple, off-chain method without update capabilities. - vs
did:web:did:ethris decentralized and cryptographically verifiable via blockchain consensus, whereasdid:webrelies on the security and availability of a traditional web domain. - vs
did:ion: Both support high-frequency operations, butdid:ionuses a layer-2 protocol on Bitcoin, whiledid:ethris native to the Ethereum execution layer.
The Future & EIP-5805
The ecosystem is evolving with new standards to deepen integration. EIP-5805: Delegatable Ethereum-backed DIDs is a key proposal.
- Delegation: Allows a primary DID (e.g., a company) to delegate signing authority to subordinate DIDs (e.g., employee wallets), enabling complex organizational structures.
- Enhanced Use Cases: Facilitates enterprise adoption, DAO sub-committees, and automated agent-based interactions.
- Forward Compatibility: Designed to work with existing
did:ethrinfrastructure, ensuring a smooth upgrade path for current adopters.
did:ethr vs. Other DID Methods
A technical comparison of the Ethereum-based did:ethr method against other prominent DID methods, highlighting key architectural and operational differences.
| Feature / Metric | did:ethr | did:key | did:web | did:ion (Bitcoin/Sidetree) |
|---|---|---|---|---|
Underlying Ledger | Ethereum (or any EVM chain) | None (off-chain) | Web Domain (HTTPS) | Bitcoin + IPFS |
DID Document Storage | On-chain registry (smart contract) | Embedded in DID string | Resolved from a .well-known URL | Off-chain Sidetree protocol, anchored to Bitcoin |
Update Mechanism | Smart contract transaction | Cannot be updated; generate new DID | Update file at web endpoint | Sidetree batch operations (CRUD) |
Resolution Latency | Block confirmation time (e.g., ~12 sec) | Instant (local derivation) | HTTP request latency | Dependent on Sidetree node sync & Bitcoin confirmation |
Key Rotation Support | ||||
Delegation / Controllers | ||||
Typical Use Case | High-assurance, on-chain identity | Ephemeral or static peer connections | Prototyping & trusted domain contexts | Scalable, decentralized identity with long-term integrity |
Implementation Complexity | Requires gas fees & wallet integration | Trivial (crypto libraries) | Simple (web server hosting) | High (requires Sidetree node infrastructure) |
Practical Use Cases & Examples
did:ethr enables verifiable, self-sovereign identity anchored to Ethereum wallets. These cards illustrate its concrete applications in decentralized systems.
Decentralized Application (dApp) Login
Replaces traditional username/password or centralized OAuth with a cryptographic login flow. Users sign a challenge with their Ethereum private key (e.g., via MetaMask) to prove control of their DID. This creates a seamless, passwordless, and phishing-resistant authentication method for Web3 applications.
- Key Benefit: No custodial accounts or data silos.
- Example: A DeFi platform uses
did:ethrto authenticate users and securely associate their on-chain reputation with their identity.
Verifiable Credentials & Attestations
Serves as the foundational identifier for issuing and holding Verifiable Credentials (VCs). An issuer (like a university or DAO) can sign a credential (e.g., a diploma or membership proof) linked to a user's did:ethr. The user can then present this credential to any verifier, who can cryptographically check the issuer's signature against the DID's on-chain DID Document.
- Key Benefit: Enables portable, user-controlled credentials that are tamper-proof and instantly verifiable.
Decentralized Identifiers for Organizations (DAO)
DAOs and other decentralized entities use did:ethr as their official, on-chain legal identity. The DID can be controlled by a multisig wallet or a smart contract, with authorization rules encoded on-chain. This allows the organization to:
- Sign agreements verifiably.
- Manage resource permissions (e.g., treasury access).
- Issue credentials to members or partners.
This creates a trust layer for organization-to-organization (B2B) interactions in Web3.
Secure Messaging & Communication
Provides the public key infrastructure for end-to-end encrypted communication. Applications can resolve a user's did:ethr to obtain their current public key from the Ethereum Name Service (ENS) or on-chain registry, enabling secure messaging without relying on a central directory.
- Protocols: Used in frameworks like Waku and XMTP for wallet-to-wallet chat.
- Key Benefit: Communication channels are tied to a user's sovereign identity, not a platform-owned account.
Sybil-Resistant Governance
Mitigates duplicate or fake identities in decentralized governance systems. By requiring a DID linked to a unique Ethereum address (with a non-zero cost of creation), projects can implement one-person-one-vote models instead of one-token-one-vote. Users prove control of their DID to claim voting power, making Sybil attacks economically impractical.
- Example: A DAO uses
did:ethrto distribute non-transferable governance rights to verified contributors.
Cross-Chain & Interoperable Identity
While anchored to Ethereum, the did:ethr method is designed for interoperability. Through DID resolvers and universal resolvers, this identity can be recognized and used across different blockchain ecosystems and standards-compliant platforms. The DID Document can also contain service endpoints for other chains.
- Key Benefit: A single, user-controlled identity can interact with multiple chains and verifiers, avoiding fragmentation.
Technical Deep Dive
A technical exploration of the did:ethr method, a decentralized identifier specification that leverages the Ethereum blockchain for identity management, including its core components, resolution process, and use cases.
A did:ethr is a Decentralized Identifier (DID) method that uses the Ethereum blockchain as its root of trust, creating a globally unique, cryptographically verifiable identifier anchored to an Ethereum address or smart contract. It works by defining a specific URI format (did:ethr:<identifier>) where the identifier is typically an Ethereum address (e.g., did:ethr:0xabc123...). The associated DID Document, which contains public keys and service endpoints, is not stored directly on-chain but is derived deterministically from blockchain state and events, allowing any party to resolve the DID to its current, verifiable document without a central registry.
Security Considerations
The did:ethr method leverages Ethereum's security model for decentralized identifiers, introducing unique risks around key management, smart contract logic, and network dependencies.
Smart Contract Attack Surface
The Ethereum DID Registry is a smart contract (e.g., the ERC-1056 standard). Its security depends on the correctness of its code and the integrity of the underlying blockchain. Risks include:
- Reentrancy or logic bugs in the registry contract.
- Upgrade mechanisms for the registry, which could be malicious or compromised.
- Gas price manipulation (e.g., via time-dependent attacks) to front-run legitimate DID updates. Users must trust the specific deployed instance of the registry contract.
Network & Finality Risks
DID operations are subject to Ethereum's consensus and network conditions.
- Chain Reorganizations: A block containing a DID update could be orphaned, temporarily reverting the DID's state.
- Finality Delay: On proof-of-work chains, waiting for sufficient confirmations is critical before considering an update final.
- Network Congestion: High gas fees can make updating or revoking a DID prohibitively expensive during attacks, delaying critical security responses.
Delegates & Authorization
did:ethr allows a DID controller to appoint delegate keys (via the registry) to perform specific actions (e.g., signing verifiable credentials) without exposing the primary key. Security considerations:
- Scope Limitation: Delegates should be granted minimal, time-bound permissions.
- Delegate Key Security: A compromised delegate key grants the attacker its assigned capabilities.
- Revocation Lag: Revoking a malicious delegate requires an on-chain transaction, which is not instantaneous.
Identifier Correlation
The core did:ethr identifier is derived from an Ethereum public key. This creates inherent correlation risks:
- The same Ethereum address used for a DID and for financial transactions links identity to all on-chain activity.
- Key rotation (changing the controlling key) is recorded on-chain, creating a public history of ownership changes.
- Privacy-focused solutions like semantic hiding or using a fresh, dedicated address for the DID are necessary to mitigate this.
Common Misconceptions
Decentralized Identifiers (DIDs) on Ethereum are a powerful standard for self-sovereign identity, but several persistent myths can lead to implementation errors and incorrect assumptions about their capabilities.
No, a did:ethr is not the same as a standard Ethereum wallet address, though it is derived from one. A did:ethr is a Decentralized Identifier (DID) that uses an Ethereum account's public key as its foundation, formatted as did:ethr:<address_or_public_key>. The critical distinction is that the DID is a persistent identifier for a controller, while the underlying wallet address can change. The DID document, which contains public keys and service endpoints, can be updated to point to new addresses or keys without changing the DID itself, enabling key rotation and recovery.
Frequently Asked Questions (FAQ)
Answers to common questions about the Ethereum-based decentralized identifier method, its technical implementation, and practical use cases.
A did:ethr is a Decentralized Identifier (DID) method that uses the Ethereum blockchain as its root of trust. It works by creating a DID document, which is a JSON-LD file containing public keys and service endpoints, whose integrity is anchored to a specific Ethereum address or a smart contract. The DID itself is a URI formatted as did:ethr:<identifier>, where the identifier can be a 20-byte Ethereum address (e.g., did:ethr:0xab...) or an ERC-1056 EthrDIDRegistry contract address. The associated DID document is not stored on-chain; instead, its current state is derived by reading relevant events (like DIDOwnerChanged or DIDAttributeChanged) emitted by the registry contract, allowing for updates without modifying a central document.
Get In Touch
today.
Our experts will offer a free quote and a 30min call to discuss your project.