
What is ERC-8004, in one sentence: a Draft Ethereum standard, titled "Trustless Agents," that gives autonomous AI agents a verifiable on-chain identity so they can be discovered, evaluated, and trusted by other agents or humans without a central directory deciding who's legitimate. It's not a product, it's a specification, three on-chain registries plus a JSON file format, that other tools and platforms implement. This covers exactly what those three registries define, straight from the official EIP text.
TL;DR:
The specification's own abstract states it "proposes to use blockchains to discover, choose, and interact with agents across organizational boundaries without pre-existing trust, thus enabling open-ended agent economies." The problem it's solving: as AI agents increasingly act autonomously, on their own or on a user's behalf, there's no standard way for one agent (or a human) to verify who another agent actually is, check its track record, or confirm its output was actually correct, the way a marketplace's star ratings or a company's registered business ID does in more familiar systems.
Every agent gets a permanent handle through an ERC-721 token, built with the URIStorage extension. The core function is register(agentURI, metadata), which returns an agentId, the agent's on-chain identifier from that point forward. Because it's a standard NFT under the hood, existing wallets, block explorers, and marketplaces already know how to display and transfer it, no new tooling required just to represent the identity itself. The registry also supports setAgentWallet() for linking a payment address to the identity, and getMetadata()/setMetadata() for small key-value data stored directly on-chain.
Reputation tracks agent performance through client feedback. The core function, giveFeedback(agentId, value, valueDecimals, tag1, tag2, ...), records a signed fixed-point value (int128 with valueDecimals) plus up to two tags per interaction, and supports gasless submission via EIP-7702. The detail worth knowing: feedback can be value-weighted through proof of payment via x402 integration, meaning a $10,000 engagement can be weighted differently from unpaid or trivial work when reputation gets aggregated, rather than every piece of feedback counting identically regardless of stakes. Only the core fields (value, tags, revocation status) are stored on-chain; richer detail can be referenced through an optional feedbackURI.
For work where a simple client rating isn't enough, the Validation Registry lets independent validators check an agent's output. validationRequest() (called by the agent's owner or operator) asks for a check; validationResponse() (called by the validator) returns a 0-100 score, with the specification allowing several verification approaches, re-execution, cryptographic proof checking, or secure enclave (TEE) attestation, depending on what's appropriate for the work being verified. Like reputation feedback, the core response is on-chain, and heavier evidence can be referenced through a responseURI.
An agent's identity token points at a Registration File, a JSON document with a defined shape: a type field identifying it as an ERC-8004 registration, name, description, image, a services array listing the agent's actual endpoints (which protocol, which URL), an x402Support flag, an active flag, and a registrations array. This is the document that actually describes what the agent does and how to reach it, the identity token is just the pointer. The spec's own convention for referencing this file: ipfs://{cid} directly, since a CID is already a content hash, no separate integrity field needed.
ERC-8004's status on the official EIP page is Draft, not Final, worth stating plainly rather than glossing over. That said, it's not a fringe proposal either: per community coverage, it's been refined with input from Coinbase, MetaMask, ENS, EigenLayer, and The Graph. If you're building against it, the core registry shapes are stable enough to work with, but treat the exact interface as something that could still shift before the EIP progresses to a later stage.
AIOZ Pin's own tooling maps onto this standard directly, worth reading in full in AIOZ Pin for AI Agents: the Identity Registry's ERC-721 pattern is the same one pinNft() already targets, and the Registration File is exactly the kind of content-addressed JSON document AIOZ Pin's pinning tooling is built to handle.
What is ERC-8004 in simple terms? An Ethereum standard giving AI agents a verifiable on-chain identity, plus a way to track their reputation and have their work independently validated, so other agents or humans can trust them without a central authority vouching for them.
Is ERC-8004 a finished standard? No. Its status on the official EIP page is Draft. The core structure is stable enough for real building per community coverage, but the exact interface could still change before it's finalized.
What are the three registries in ERC-8004? Identity (an ERC-721 token per agent), Reputation (signed fixed-point feedback values with optional payment-weighted significance), and Validation (independent 0-100 scoring of agent output).
What is a Registration File in ERC-8004? A JSON document an agent's identity token points to, describing the agent's name, description, endpoints, and supported trust models, typically pinned to IPFS and referenced as ipfs://{cid}.
How does payment affect reputation under ERC-8004? Through x402 integration, feedback can be value-weighted based on proof of payment, so a high-value engagement can carry more weight in aggregated reputation than free or trivial work.
ipfs://{cid} reference
IPFS gateway not working? Read the status code first, then check the CID, your request rate, and whether anyone is providing the content. Here is the order.

ERC-1155 metadata on IPFS breaks when filenames ignore the {id} rule. Here is the exact 64-character format, a working folder layout, and the per-token option.

AIOZ Pin rate limits in one place: 180 requests per minute for the API, 15 per CID on the public gateway, and no predefined limit on premium gateways.

IPFS pin stuck on Pinning? Here is what Pinning, Pinned, and Failed mean on AIOZ Pin, why big directories can sit there, and how to read a pin's real state.

Two identical files, three IPFS tools, three different CIDs. Here is why that happened for years, and how IPIP-0499 made content addressing deterministic.

AIOZ Pin MCP server setup has two paths: llms.txt lets a super intelligence assistant read the API, the MCP server lets it call 11 tools. Here is each one.