
{"id":100941,"date":"2025-09-30T13:47:07","date_gmt":"2025-09-30T13:47:07","guid":{"rendered":"https:\/\/mycryptomania.com\/?p=100941"},"modified":"2025-09-30T13:47:07","modified_gmt":"2025-09-30T13:47:07","slug":"erc-8004-a-trustless-extension-of-googles-a2a-protocol-for-on-chain-agents","status":"publish","type":"post","link":"https:\/\/mycryptomania.com\/?p=100941","title":{"rendered":"ERC-8004: A Trustless Extension of Google\u2019s A2A Protocol for On-chain Agents"},"content":{"rendered":"<p>Over the past few years, Ethereum has become the go-to platform for financial apps, stablecoins, and tokenised assets. Now, the next big step is bringing <strong>AI agents<\/strong> on-chain.<\/p>\n<p>Why does this matter? Imagine having AI agents that\u00a0can:<\/p>\n<p><strong>Discover and hire each other<\/strong> to get work done automatically.<strong>Share reputation and track records<\/strong> so you know which ones to\u00a0trust.<strong>Verify results on-chain<\/strong> so payments only happen when jobs are done correctly.<\/p>\n<p>That\u2019s where <strong>ERC-8004<\/strong> comes in. It extends <a href=\"https:\/\/developers.googleblog.com\/en\/a2a-a-new-era-of-agent-interoperability\/\">Google\u2019s Agent-to-Agent (A2A)<\/a> protocol but adds Ethereum\u2019s strengths: trustless verification, cryptographic proofs, and a permanent on-chain record. This way, agents can coordinate safely without needing to \u201cjust trust\u201d each\u00a0other.<\/p>\n<p>In short, <strong>ERC-8004 is about making AI agents as reliable and trustworthy as smart contracts.<\/strong><\/p>\n<h3>ERC-8004 in\u00a0Detail<\/h3>\n<h4>1. Identity\u00a0Registry<\/h4>\n<p>The <strong>Identity Registry<\/strong> provides a universal, verifiable identity for each\u00a0agent.<\/p>\n<p>Agents register their <strong>Agent Card<\/strong> on-chain.The card includes metadata (name, description, capabilities) and an <strong>EVM\u00a0address<\/strong>.ERC-8004 aligns with the <a href=\"https:\/\/chainagnostic.org\/CAIPs\/caip-10\"><strong>CAIP-10 standard<\/strong><\/a>, meaning agents can be referenced <strong>across different chains<\/strong>.<\/p>\n<p><strong>Example Agent Card\u00a0(JSON)<\/strong>:<\/p>\n<p>{<br \/>  &#8220;agent_id&#8221;: &#8220;agent.eth#0x1234567890abcdef&#8221;,<br \/>  &#8220;name&#8221;: &#8220;ResearchAgent&#8221;,<br \/>  &#8220;description&#8221;: &#8220;AI agent specialized in DeFi research&#8221;,<br \/>  &#8220;capabilities&#8221;: [&#8220;data_analysis&#8221;, &#8220;onchain_query&#8221;, &#8220;report_generation&#8221;],<br \/>  &#8220;evm_address&#8221;: &#8220;0x1234567890abcdef1234567890abcdef12345678&#8221;,<br \/>  &#8220;schemas&#8221;: [&#8220;erc8004\/identity\/v1&#8221;]<br \/>}<\/p>\n<p><strong>Solidity Interface (simplified)<\/strong>:<\/p>\n<p>interface IIdentityRegistry {<br \/>    function registerAgent(<br \/>        address agentAddress,<br \/>        string calldata agentURI<br \/>    ) external;<\/p>\n<p>    function getAgent(address agentAddress)<br \/>        external<br \/>        view<br \/>        returns (string memory agentURI);<br \/>}<\/p>\n<p>\ud83d\udc49 This allows an off-chain system to fetch an agent\u2019s JSON card from a URI stored on-chain.<\/p>\n<h4>2. Reputation Registry<\/h4>\n<p>The <strong>Reputation Registry<\/strong> records structured feedback after tasks are completed.<\/p>\n<p>Client agents submit <strong>feedback attestations<\/strong> about server\u00a0agents.Feedback can be multi-dimensional (accuracy, reliability, timeliness, etc.).Attestation layers like <strong>Ethereum Attestation Service (EAS)<\/strong> can be plugged\u00a0in.<\/p>\n<p><strong>Example Feedback Data\u00a0(JSON)<\/strong>:<\/p>\n<p>{<br \/>  &#8220;feedback_id&#8221;: &#8220;fbk_001&#8221;,<br \/>  &#8220;client_agent&#8221;: &#8220;agent.eth#0xabc123&#8230;&#8221;,<br \/>  &#8220;server_agent&#8221;: &#8220;agent.eth#0x123456&#8230;&#8221;,<br \/>  &#8220;task_id&#8221;: &#8220;task_789&#8221;,<br \/>  &#8220;ratings&#8221;: {<br \/>    &#8220;accuracy&#8221;: 5,<br \/>    &#8220;timeliness&#8221;: 4,<br \/>    &#8220;reliability&#8221;: 5<br \/>  },<br \/>  &#8220;comments&#8221;: &#8220;Task completed successfully and ahead of schedule&#8221;,<br \/>  &#8220;timestamp&#8221;: &#8220;2025-09-29T12:00:00Z&#8221;<br \/>}<\/p>\n<p><strong>Solidity Interface (simplified)<\/strong>:<\/p>\n<p>interface IReputationRegistry {<br \/>    function submitFeedback(<br \/>        address client,<br \/>        address server,<br \/>        string calldata feedbackURI<br \/>    ) external;<\/p>\n<p>    function getFeedback(address server)<br \/>        external<br \/>        view<br \/>        returns (string[] memory feedbackURIs);<br \/>}<\/p>\n<p>\ud83d\udc49 Developers can store only the <strong>URI to feedback JSON<\/strong> on-chain, keeping gas costs low, while off-chain indexers aggregate ratings.<\/p>\n<h4>3. Validation Registry<\/h4>\n<p>The <strong>Validation Registry<\/strong> ensures that tasks are actually executed correctly.<\/p>\n<p>Server agents request validation after publishing a <strong>DataHash<\/strong> of their\u00a0results.Validators can\u00a0use:<\/p>\n<p>\u2192 <strong>Crypto-economic methods<\/strong> (restaking, AVSs).<\/p>\n<p>\u2192<strong> Cryptographic proofs<\/strong> (zkTLS, TEE attestations).<\/p>\n<p>A <strong>ValidationResponse<\/strong> is then posted on-chain.<\/p>\n<p><strong>Validation Request\u00a0(JSON)<\/strong>:<\/p>\n<p>{<br \/>  &#8220;validation_request_id&#8221;: &#8220;valreq_123&#8221;,<br \/>  &#8220;server_agent&#8221;: &#8220;agent.eth#0x123456&#8230;&#8221;,<br \/>  &#8220;task_id&#8221;: &#8220;task_789&#8221;,<br \/>  &#8220;data_hash&#8221;: &#8220;0xabcdef1234567890&#8230;&#8221;,<br \/>  &#8220;validation_type&#8221;: &#8220;zkTLS&#8221;<br \/>}<\/p>\n<p><strong>Validation Response\u00a0(JSON)<\/strong>:<\/p>\n<p>{<br \/>  &#8220;validation_request_id&#8221;: &#8220;valreq_123&#8221;,<br \/>  &#8220;validator_agent&#8221;: &#8220;agent.eth#0x987654&#8230;&#8221;,<br \/>  &#8220;status&#8221;: &#8220;verified&#8221;,<br \/>  &#8220;proof&#8221;: &#8220;0xdeadbeefcafebabe&#8230;&#8221;,<br \/>  &#8220;timestamp&#8221;: &#8220;2025-09-29T12:05:00Z&#8221;<br \/>}<\/p>\n<p><strong>Solidity Interface (simplified)<\/strong>:<\/p>\n<p>interface IValidationRegistry {<br \/>    function requestValidation(<br \/>        address server,<br \/>        string calldata dataHash,<br \/>        string calldata validationType<br \/>    ) external returns (uint256 requestId);<\/p>\n<p>    function submitValidationResponse(<br \/>        uint256 requestId,<br \/>        address validator,<br \/>        string calldata proof,<br \/>        bool verified<br \/>    ) external;<\/p>\n<p>    function getValidation(uint256 requestId)<br \/>        external<br \/>        view<br \/>        returns (bool verified, string memory proof);<br \/>}<\/p>\n<p>\ud83d\udc49 Developers can integrate this registry into <strong>escrow contracts<\/strong> so that funds are released only if validation succeeds.<\/p>\n<h3>Full Agent\u00a0Workflow<\/h3>\n<p><strong>Identity: <\/strong>Agents register their Agent Card in the Identity Registry.<strong>Discovery: <\/strong>Client finds Server via Agent\u00a0Card.<strong>Task Execution<\/strong>: Server executes the task, publishes a <strong>data\u00a0hash<\/strong>.<strong>Validation<\/strong>: Validators check outputs, post responses on-chain.<strong>Feedback: <\/strong>Clients submit feedback linked to the validation result.<strong>Payments<\/strong>: Escrow contracts release funds if validations succeed.<\/p>\n<h3>Developer Benefits<\/h3>\n<p><strong>Composable APIs<\/strong>: Easy-to-integrate Solidity interfaces.<strong>Gas Efficiency<\/strong>: URIs point to JSON files instead of storing large amounts of\u00a0data.<strong>Modular Trust Models<\/strong>: Choose between crypto-economic or cryptographic verification.<strong>Cross-Chain Compatibility<\/strong>: Identity Registry aligns with\u00a0<strong>CAIP-10<\/strong>.<strong>Extensible Design<\/strong>: New proof systems (e.g., zkML, decentralised TEEs) can be plugged\u00a0in.<\/p>\n<h3>Example Use Cases for Developers<\/h3>\n<p><strong>Onchain Research-as-a-Service<\/strong>\u200a\u2014\u200aAgents provide verified reports with reputation scores.<strong>DeFi Yield Agents<\/strong>\u200a\u2014\u200aStrategies validated before rewards are distributed.<strong>Onchain Credit<\/strong>\u200a\u2014\u200aBorrower agents rated via feedback registry.<strong>Conditional Gig Payouts<\/strong>\u200a\u2014\u200aEscrow tied to successful validation proofs.<\/p>\n<h3>Putting ERC-8004 Into\u00a0Practice<\/h3>\n<p>So far, we\u2019ve looked at ERC-8004 as a <strong>specification<\/strong>: identity, reputation, and validation registries. But how does this look in a <strong>real\u00a0system<\/strong>?<\/p>\n<p>One of the most useful examples to learn from is the code of <strong>ChaosChain Genesis Studio<\/strong>\u200a\u2014\u200athe <strong>first end-to-end commercial prototype of ERC-8004<\/strong>.<\/p>\n<p>\ud83d\udc49 Repo: <a href=\"https:\/\/github.com\/ChaosChain\/chaoschain-genesis-studio\">ChaosChain\/chaoschain-genesis-studio<\/a><\/p>\n<p><strong>What does it demonstrate?<\/strong><\/p>\n<p>On-chain <strong>agent identity registration<\/strong><strong>Verifiable work<\/strong> using data hashes &amp; validation<strong>Direct USDC payments<\/strong> linked to validation success<strong>Foundations for IP monetisation<\/strong>, where contributions can be attributed and\u00a0rewarded<\/p>\n<h3>Example Flow: Alice, Bob, and\u00a0Charlie<\/h3>\n<p><strong>Alice (Server Agent)<\/strong> runs a task (e.g. DeFi analysis) and posts a <strong>data\u00a0hash<\/strong>.<strong>Bob (Validator Agent)<\/strong> validates the task and posts a <strong>Validation Response<\/strong>.<strong>Charlie (Client Agent)<\/strong> leaves feedback in the Reputation Registry.If validation passes, the <strong>escrowed USDC payment<\/strong> is released to\u00a0Alice.<\/p>\n<h3>Code Patterns from ChaosChain Prototype<\/h3>\n<h4>Identity Registration (Solidity)<\/h4>\n<p>Agents need to be discoverable. In the prototype, this is done with a simple Solidity function:<\/p>\n<p>function registerAgent(address agent, string calldata agentURI) external {<br \/>    require(agent != address(0), &#8220;Invalid agent&#8221;);<br \/>    identities[agent] = agentURI;<br \/>    emit AgentRegistered(agent, agentURI);<br \/>}<\/p>\n<p>This ensures every agent has a unique on-chain record pointing to its metadata (Agent\u00a0Card).<\/p>\n<p><strong>Validation Request\u00a0(JSON)<\/strong><\/p>\n<p>When a task is finished, the server agent publishes a <strong>validation request<\/strong>. In practice, this looks like a JSON structure:<\/p>\n<p>{<br \/>  &#8220;validation_request_id&#8221;: &#8220;valreq_123&#8221;,<br \/>  &#8220;server_agent&#8221;: &#8220;0x123456&#8230;&#8221;,<br \/>  &#8220;task_id&#8221;: &#8220;task_789&#8221;,<br \/>  &#8220;data_hash&#8221;: &#8220;0xabcdef123456&#8230;&#8221;,<br \/>  &#8220;validation_type&#8221;: &#8220;zkTLS&#8221;<br \/>}<\/p>\n<p>This JSON\u00a0defines:<\/p>\n<p>who did the work (server_agent)What was done (task_id)a cryptographic commitment to the result (data_hash)how it should be verified (validation_type)<\/p>\n<h4>Payment Hook (USDC\u00a0Escrow)<\/h4>\n<p>Once validation succeeds, USDC payments are released directly to the server\u00a0agent:<\/p>\n<p>function releasePayment(address to, uint256 amount) external onlyValidator {<br \/>    require(validationsPassed[to], &#8220;Validation not complete&#8221;);<br \/>    usdc.transfer(to, amount);<br \/>    emit PaymentReleased(to, amount);<br \/>}<\/p>\n<p>This guarantees <strong>\u201cno work, no pay\u201d<\/strong>. If validation fails, no funds leave\u00a0escrow.<\/p>\n<p>The ChaosChain prototype proves ERC-8004\u00a0can:<\/p>\n<p>Coordinate multiple agents in a <strong>trustless environment<\/strong>Link <strong>validation and payments<\/strong> directly\u00a0on-chainSupport <strong>real commercial use cases<\/strong> like research agents, DeFi strategies, and automated credit\u00a0scoring<\/p>\n<p>It\u2019s also the <strong>foundation for IP monetisation<\/strong>: once agents have identities, reputations, and on-chain payment flows, their outputs (research, strategies, data) can be treated as valuable, tradable intellectual property.<\/p>\n<h3>Conclusion<\/h3>\n<p>ERC-8004 extends Google\u2019s A2A protocol into the <strong>Web3 agentic economy<\/strong>, introducing <strong>identity, reputation, and validation registries<\/strong> that developers can use to build trustless, verifiable agent ecosystems.<\/p>\n<p><strong>Identity Registry<\/strong> \u2192 discoverable, cross-chain agent\u00a0IDs.<strong>Reputation Registry<\/strong> \u2192 structured, verifiable feedback.<strong>Validation Registry<\/strong> \u2192 cryptographic + crypto-economic task verification.<\/p>\n<p>For developers, this means a <strong>plug-and-play standard<\/strong> to build agents that can cooperate across ecosystems while preserving Ethereum\u2019s trust guarantees.<\/p>\n<p>ERC-8004 is still early, but it could become the <strong>cornerstone standard<\/strong> for agent-to-agent collaboration in DeFi, RWA, AI coordination, and\u00a0beyond.<\/p>\n<h3>References<\/h3>\n<p><a href=\"https:\/\/eips.ethereum.org\/EIPS\/eip-8004\">ERC-8004: Trustless Agents (EIP\u00a0Draft)<\/a><a href=\"https:\/\/ethereum-magicians.org\/t\/erc-8004-trustless-agents\/25098\">Ethereum Magicians: ERC-8004 Discussion<\/a><a href=\"https:\/\/developers.googleblog.com\/en\/a2a-a-new-era-of-agent-interoperability\/\">Google A2A Protocol Announcement<\/a><a href=\"https:\/\/medium.com\/hashkey-capital-insights\/erc-8004-and-the-agent-economy-a9b9eee9fa8d\">ERC-8004 and the Agent\u00a0Economy<\/a><\/p>\n<p><a href=\"https:\/\/medium.com\/coinmonks\/erc-8004-a-trustless-extension-of-googles-a2a-protocol-for-on-chain-agents-b474cc422c9a\">ERC-8004: A Trustless Extension of Google\u2019s A2A Protocol for On-chain Agents<\/a> was originally published in <a href=\"https:\/\/medium.com\/coinmonks\">Coinmonks<\/a> on Medium, where people are continuing the conversation by highlighting and responding to this story.<\/p>","protected":false},"excerpt":{"rendered":"<p>Over the past few years, Ethereum has become the go-to platform for financial apps, stablecoins, and tokenised assets. Now, the next big step is bringing AI agents on-chain. Why does this matter? Imagine having AI agents that\u00a0can: Discover and hire each other to get work done automatically.Share reputation and track records so you know which [&hellip;]<\/p>\n","protected":false},"author":0,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-100941","post","type-post","status-publish","format-standard","hentry","category-interesting"],"_links":{"self":[{"href":"https:\/\/mycryptomania.com\/index.php?rest_route=\/wp\/v2\/posts\/100941"}],"collection":[{"href":"https:\/\/mycryptomania.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mycryptomania.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/mycryptomania.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=100941"}],"version-history":[{"count":0,"href":"https:\/\/mycryptomania.com\/index.php?rest_route=\/wp\/v2\/posts\/100941\/revisions"}],"wp:attachment":[{"href":"https:\/\/mycryptomania.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=100941"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mycryptomania.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=100941"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mycryptomania.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=100941"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}