Skip to content

sudeepb02/awesome-erc8004

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 

Repository files navigation

ERC-8004 Logo

Awesome ERC-8004

A curated list of awesome resources for ERC-8004: Trustless Agents


🚀 Quick Start

ERC-8004 is an Ethereum standard that extends the Agent-to-Agent (A2A) Protocol with a trust layer, enabling participants to discover, choose, and interact with agents across organizational boundaries without pre-existing trust. The protocol introduces three lightweight, on-chain registries for identity, reputation, and validation.

New to ERC-8004? Start with:


📋 Table of Contents

🎯 Getting Started

📚 Official Resources

👥 Community & Projects

🔧 Development

📊 Research & Resources


❓ What is ERC-8004?

ERC-8004 introduces three lightweight, on-chain registries that enable trustless agent interactions:

Core Components

Registry Purpose Details
Identity Registry Agent discovery & portable identifiers ERC-721 with URIStorage
Reputation Registry Feedback & attestation system Standard interface for scores & metadata
Validation Registry Independent verification hooks Generic validation framework

🎯 Key Benefits

  • 🔍 Cross-organizational Discovery - Find agents without pre-existing relationships
  • 🔌 Flexible Endpoints - Support for A2A, MCP, ENS, DIDs, and wallet addresses
  • ⚖️ Modular Trust - Pluggable trust models from low-stake to high-stake interactions
  • 🔗 On-chain Composability - Smart contracts can read reputation and validation data
  • ⚡ Gas Efficient - Off-chain data storage with on-chain integrity
  • 🛡️ Standard Compliant - Full ERC-721 compatibility for NFT marketplace integration

🔐 Trust Models Supported

  1. Reputation-based - Client feedback with scores (0-100), tags, and metadata
  2. Crypto-economic - Stake-secured validation with economic incentives
  3. Crypto-verification - TEE attestations and zkML proofs for cryptographic trust

📖 Official Resources

📄 Specification

📊 Current Status

  • Status: Peer Review
  • Version: v1 Complete
  • Registries: 3 operational (Identity, Reputation, Validation)
  • Community: Active builder ecosystem with implementations

🏗️ Architecture Overview

┌─────────────────┐
│ 🔍 Agent        │
│    Discovery    │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ 🏛️ Identity     │
│    Registry     │
└────────┬────────┘
         │
         ▼
┌─────────────────┐
│ 📝 Agent        │
│   Registration  │
└────┬───────┬────┘
     │       │
     ▼       ▼
┌─────────┐ ┌─────────────┐
│ ⭐ Rep. │ │ ✅ Valid.   │
│ Registry│ │  Registry   │
└────┬────┘ └──────┬──────┘
     │             │
     └──────┬──────┘
            ▼
    ┌─────────────────┐
    │ 🔐 Trust        │
    │   Assessment    │
    └────────┬────────┘
             │
             ▼
    ┌─────────────────┐
    │ 🤝 Agent        │
    │   Interaction   │
    └─────────────────┘

📋 Agent Registration Schema

{
  "type": "https://eips.ethereum.org/EIPS/eip-8004#registration-v1",
  "name": "myAgentName",
  "description": "A natural language description of the Agent...",
  "image": "https://example.com/agentimage.png",
  "endpoints": [
    {
      "name": "A2A",
      "endpoint": "https://agent.example/.well-known/agent-card.json",
      "version": "0.3.0"
    },
    {
      "name": "MCP",
      "endpoint": "https://mcp.agent.eth/",
      "version": "2025-06-18"
    }
  ],
  "supportedTrust": ["reputation", "crypto-economic", "tee-attestation"]
}

📹 Community Calls & Content

🎥 Recorded Sessions

🎪 Events & Conferences


🌟 Active Builder Projects

🚀 Infrastructure & SDKs

Automata Network

Praxis Protocol

Ch40s Chain

Vistara Labs

🤝 Collaboration Frameworks

Ensemble Framework

ISEK

💰 Payment Infrastructure

Primev

🔐 Security & Verification

Phala Network

Sparsity

🪪 Identity & Trust

Chitin

  • Chitin - Soul identity layer for AI agents on Base L2. Uses ERC-8004 register() for agent passports + Soulbound Tokens (EIP-5192) as permanent soul certificates. Includes W3C DID resolution, on-chain certificates, multi-method governance voting, and A2A readiness verification. Live on Base Mainnet.
  • Chitin MCP Server - MCP server for AI assistants to verify agent identities, resolve DIDs, and manage certificates (npx chitin-mcp-server)
  • Chitin Contracts - Open source smart contracts (MIT). Solidity 0.8.28 + Foundry, 146 tests, verified on Basescan.

🎮 Applications & Demos

AgentStore - Open-source marketplace for AI agents using ERC-8004 identity and x402 payments for trustless agent discovery and USDC settlement.

Cotten IO (Scypted)

Community Projects

🎓 Educational Resources

💬 Discussions & Forums

🏛️ Official Channels

👥 Community Groups


🔬 Research & Papers

📚 Academic papers and research related to trustless agents and ERC-8004

This section is currently being populated. Contribute research papers and academic work!

🛠️ Development Resources

🎯 Getting Started for Developers

  1. Read the EIP-8004 Specification
  2. Join the Builder Program
  3. Check out Reference Implementations
  4. Review Contract Deployments
  5. Join the Developer Community

🏗️ Contract Deployments

Official Implementation: erc-8004/erc-8004-contracts

The reference implementation contracts are deployed on multiple testnets including Ethereum Sepolia, Base Sepolia, Linea Sepolia, and Hedera Testnet. Complete deployment addresses and supported networks are available in the contracts repository.

Mainnet Status:

  • Planned Release: End of October 2025
  • Target Networks: Major L2s and EVM-compatible L1s
  • Governance: Multi-signature governance structure
  • Governance Contact: davide.crapis@ethereum.org

🛠️ SDKs and Libraries

JavaScript/TypeScript

Python


📋 Smart Contract Interfaces

🏛️ Identity Registry (ERC-721 Compatible)

// Register new agent
function register(string tokenURI, MetadataEntry[] calldata metadata)
    returns (uint256 agentId)

// Manage metadata
function setMetadata(uint256 agentId, string key, bytes value)
function getMetadata(uint256 agentId, string key) returns (bytes)

⭐ Reputation Registry

// Give feedback (requires agent signature)
function giveFeedback(
    uint256 agentId,
    uint8 score,
    bytes32 tag1,
    bytes32 tag2,
    string fileuri,
    bytes32 filehash,
    bytes feedbackAuth
)

// Query reputation
function getSummary(
    uint256 agentId,
    address[] clientAddresses,
    bytes32 tag1,
    bytes32 tag2
) returns (uint64 count, uint8 averageScore)

✅ Validation Registry

// Request validation
function validationRequest(
    address validatorAddress,
    uint256 agentId,
    string requestUri,
    bytes32 requestHash
)

// Provide validation response
function validationResponse(
    bytes32 requestHash,
    uint8 response,
    string responseUri,
    bytes32 responseHash,
    bytes32 tag
)

🏛️ Standards & References

📜 Core Standards

  • CAIP-10 - Chain Agnostic Improvement Proposal for account identification
  • RFC 8615 - Well-Known URIs specification
  • RFC 7071 - A Media Type for Reputation Interchange (Reputons)
  • ERC-721 - Non-Fungible Token Standard (base for Identity Registry)

🔗 Related Services

🔗 Related Standards

🌐 Ethereum Ecosystem

  • ERC-8001 - Agent-to-Agent coordination (mentioned in discussions)
  • EAS - Ethereum Attestation Service for on-chain attestations

🤝 External Protocols

💡 FAQ

🔍 What is ERC-8004 and how does it relate to the A2A Protocol?

ERC-8004 extends the Agent-to-Agent (A2A) Protocol with a trust layer that allows participants to discover, choose, and interact with agents across organizational boundaries without pre-existing trust. It introduces three lightweight, on-chain registries—Identity, Reputation, and Validation—while leaving application-specific logic to off-chain components.

🏗️ What are the three core components of ERC-8004?

The three registries are:

  1. Identity Registry - Minimal on-chain handle that resolves to an agent's off-chain AgentCard
  2. Reputation Registry - Standard interface for posting and fetching attestations
  3. Validation Registry - Generic hooks for requesting and recording independent checks
🔐 What trust models does ERC-8004 support?

ERC-8004 supports three pluggable trust models:

  • Reputation-based systems using client feedback
  • Stake-secured inference validation (crypto-economics)
  • TEE attestations for agents running in Trusted Execution Environments (crypto-verifiability)

📊 Specification Status

📋 What is the current status of the ERC-8004 specification?

ERC-8004 is in peer review status with a complete specification available. The protocol includes three operational registries (Identity, Reputation, and Validation) and has strong community support with builders actively developing implementations.

✅ What does ERC-8004 v1 include?

The current specification includes:

  • ✅ Complete smart contract interfaces for all three registries
  • ✅ ERC-721 compatible Identity Registry with metadata support
  • ✅ Comprehensive feedback system with on-chain scoring (0-100) and off-chain metadata
  • ✅ Validation framework supporting crypto-economic and crypto-verification models
  • ✅ Full compatibility with A2A Protocol and MCP endpoints
  • ✅ Deployment-ready smart contract specifications

🔧 Technical Implementation

⚡ Why does ERC-8004 prioritize off-chain data storage over on-chain?

The protocol deliberately keeps complex data off-chain for several reasons:

  • Gas efficiency - Avoids requiring agents to sign transactions for each feedback
  • Scalability - Enables sophisticated reputation algorithms and aggregation services
  • Flexibility - Allows for custom validation protocols with their own incentive mechanisms
  • Aggregation focus - Single feedback/validation entries are rarely used alone; they're typically aggregated
🔗 Should validation and reputation data be stored on-chain for smart contract composability?

This is an active debate in the community. Arguments for on-chain storage include:

  • Enabling smart contracts to read validation responses and condition logic on them
  • Decoupling validation from enforcement (validators focus on validation, other protocols handle slashing)
  • Supporting permissionless innovation by other developers

The current specification keeps data off-chain but emits events, though some suggest making on-chain storage optional.

🌐 How does domain validation work in the Identity Registry?

Currently, the ERC doesn't specify how to verify that an agent actually owns the domain they claim. This verification is left to users of the protocol. Future versions might include:

  • Trusted party verification
  • Consensus/verification mechanisms (e.g., zkTLS proofs)
  • Allowing multiple agents to claim the same domain with disambiguation
🔗 Why does ERC-8004 require agents to use domains instead of URLs?

The current specification requires each agent to have its own domain/subdomain with AgentCard at the well-known location /.well-known/agent-card.json. This is stricter than the A2A spec, which allows URLs. Some community members suggest using URLs instead to allow multiple agents per domain.

⭐ Reputation and Trust

📊 Should reputation be a single aggregate score or modular?

The community strongly favors modular approaches:

  • Against single scores: Creates monopolistic behavior and oversimplifies trust relationships
  • For modularity: Trust is context-dependent and varies between agent pairs
  • 🎯 Preferred approach: Index and reference multiple reputation systems, allowing agents to choose relevant metrics
🤝 How should reputation providers work together?

Community suggestions include:

  • Multiple providers (e.g., Virtuals, Creatorbid, Base) offering scores for agents
  • (Agent, Provider) pairs in the registry for on-chain applications
  • Reducing bias and collusion risk through multiple score sources
  • Individual attestation history remaining standalone
🔄 Is trust universal between agents?

No. Trust is not a universal value but a vector from one agent to another. Alice's trust for Bob will differ from Charlie's trust for Bob, and Alice's trust varies by context/domain of interaction. This reinforces the need for modular, context-aware reputation systems.

💰 Payment and Economics

💳 How does ERC-8004 handle payments between agents?

ERC-8004 deliberately doesn't cover payments to remain unopinionated and avoid coupling trust/discovery with specific payment protocols. However:

  • Payment proofs can be included as optional attributes in off-chain schemas
  • The team is collaborating with groups working on A2A payment extensions based on x402
  • Payment references should be lightweight hooks in Reputation records for correlation
🔄 What payment mechanisms are envisioned?

While payments are orthogonal to ERC-8004, the specification provides examples showing how x402 payment proofs can enrich feedback signals:

{
  "proof_of_payment": {
    "fromAddress": "0x00...",
    "toAddress": "0x00...",
    "chainId": "1",
    "txHash": "0x00..."
  }
}

Other potential mechanisms include:

  • Time locks and predetermined arbitration
  • Staking by buyer or seller
  • Escrow systems with crypto-economic guarantees
  • Integration with A2A payment extensions based on x402
🎯 Should there be incentives for providing feedback or guaranteeing data availability?

This is mentioned as a possible future direction, including:

  • Incentives to provide feedback
  • Guarantees for off-chain data availability of feedback and validations
  • Crypto-economic mechanisms for validator honesty

✅ Validation and Verification

🔍 How do the two validation scenarios work?
  • Crypto-economic scenario: DataHash commits to job re-execution info; AgentValidator can be trusted agents, committees, or stake-secured services
  • Crypto-verification scenario: DataHash commits to TEE attestation/zkTLS proof info; AgentValidator is a verifier smart contract checking proofs on-chain
🔗 What's the relationship between ERC-8004 and other agent standards?
  • ERC-8001: Focuses on agent-to-agent coordination and consensus (orthogonal to ERC-8004)
  • EAS: Referenced for on-chain attestations
  • RFC 7071 (Reputons): Standard for reputation interchange, relevant for reputation systems

🚀 Implementation and Development

🏛️ Will there be a single registry per chain or multiple registries?

The goal is to have one singleton Identity Registry per chain to prevent proliferation of slightly different registries.

💰 Should registration be free or require deposits?

This implementation detail isn't specified in the current ERC but is under discussion for future versions.

📋 How detailed are the smart contract interfaces?

The current ERC provides function names and parameters but lacks detailed Solidity interfaces. Future versions will include more precise type specifications and complete interface definitions.

🌉 What about cross-chain support?

Cross-chain identifiers are mentioned as a possible future direction, along with:

  • NFT interfaces for agent minting, ownership, and transfer
  • ENS support
  • Integrations with A2A payment extensions

🌐 Integration and Ecosystem

🔌 How does ERC-8004 integrate with existing projects?

Several projects are already building compatible systems:

  • Ensemble Framework: Building trustless layer for agent collaboration
  • CoopHive Alkahest: Smart contracts for peer-to-peer escrowed exchange
  • Various reputation and validation service providers
🏗️ What standards does ERC-8004 build upon?

Key standards include:

  • CAIP-10: Chain-agnostic account identification
  • RFC 8615: Well-Known URIs specification
  • A2A Protocol: Base agent-to-agent communication
  • EAS: Ethereum Attestation Service patterns

🤝 Contributing

We welcome contributions to this awesome list!

📝 What to Contribute

  • 🔧 Implementations of ERC-8004
  • 🛠️ Tools and libraries for developers
  • 📚 Documentation and tutorials
  • 🔬 Research papers and academic work
  • 🚀 Community projects using ERC-8004
  • 💬 Discussion summaries and insights

🔄 How to Contribute

  1. Check the issues for ongoing discussions
  2. Fork this repository
  3. Add your resource to the appropriate section
  4. Submit a pull request with a clear description
  5. Follow the Awesome List Guidelines

📖 See Contributing Guidelines for detailed instructions.


🙏 Acknowledgments

👨‍💻 Core Authors & Contributors

  • Marco De Rossi @marco_derossi (MetaMask)
  • Davide Crapis @dcrapis (Ethereum Foundation)
  • Jordan Ellis (Google)
  • Erik Reppel (Coinbase)

🏢 Contributing Organizations

  • Ethereum Foundation's dAI team - Core protocol development and research
  • Consensys - Implementation and ecosystem development
  • Builder Community - Active development and technical feedback

🌟 Community

And to all the community members providing feedback and technical contributions to the ecosystem.


📄 License

CC0

To the extent possible under law, the contributors have waived all copyright and related or neighboring rights to this work.


Made with ❤️ by the ERC-8004 community

About

A curated list of awesome resources for ERC-8004: Trustless Agents

Resources

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages