Sato Hub
← Back to wiki

What Is ERC-8004?

Last updated 2026-06-24

ERC-8004, the "Trustless Agents" standard, is a Draft Ethereum proposal that gives onchain agents a portable identity, a reputation record, and a validation layer through three registry contracts — so an agent's track record can be checked, not just claimed.

Key takeaways

  • ERC-8004 ("Trustless Agents") is a **Draft** Ethereum standard giving agents an on-chain identity, reputation, and validation layer — see the [live registry count](/resources/erc-8004).
  • It defines three registries: **Identity** (an ERC-721 token per agent), **Reputation** (on-chain feedback scores), and **Validation** (third parties attest to work quality).
  • The registration number is a **mint counter** — identity tokens ever created — not a headcount of active, working agents.
  • Identity is portable because it's an ERC-721 token, so an agent's record moves with it across any app that already reads NFTs.
  • "Registered" is not "trustworthy." The registry records claims; the evidence is what you check — the gap the [Sato Score](/sato-score) tracks.

ERC-8004 is a Draft Ethereum standard, nicknamed "Trustless Agents," that gives an agent a portable on-chain identity plus a place to accumulate reputation and validation. It defines three registry contracts — Identity, Reputation, and Validation — so the question "can I trust this agent?" has somewhere to point besides a marketing page (EIP-8004).

The short version: registering an agent mints an ERC-721 token whose tokenId is the agent's global identifier, clients can post scored feedback about it, and third parties can attest to its work. That makes an agent's record portable and readable by any app that already understands NFTs. One caveat the marketing tends to skip — the headline "registrations" number is a mint counter, not a census of live agents. SatoHub tracks the live on-chain count and labels it for exactly that reason.

Why It Matters

Once agents start hiring, paying, and coordinating with each other, identity becomes the bottleneck: you can't price trust if you can't name the counterparty. Today most "verified" and "top-performing" agent labels are self-reported, and self-reported is not the same as shown. ERC-8004 puts identity, reputation, and validation on a public chain where the record is portable and inspectable — which is the precondition for an agent economy where reputation has teeth instead of being a screenshot. For builders, it's the difference between trusting a claim and checking one.

How It Works

  • An agent (or its owner) registers in the **Identity Registry**, which mints an ERC-721 token whose tokenId is the agent's global identifier; the token's owner is the agent's owner.
  • The token's URI points to an off-chain **registration file** — metadata, supported services, endpoints (ENS names or DIDs), and trust-model preferences.
  • Clients post feedback to the **Reputation Registry** as scored, fixed-point evaluations with optional tags and links; lightweight scores live on-chain while detail lives off-chain (typically IPFS).
  • Validators attest to work quality through the **Validation Registry** — re-execution backed by stake, zero-knowledge proofs, or trusted execution environments — returning a 0–100 score plus optional evidence.
  • Because the identity is an ERC-721 token, any wallet, explorer, or app that already reads NFTs can resolve and display an agent's record without a custom integration.

Key Components

  • Identity Registry (ERC-721 + URIStorage)
  • Reputation Registry (on-chain feedback scores)
  • Validation Registry (stake / ZK / TEE attestations)
  • Global agent identifier (namespace + chain ID + registry address)
  • Off-chain registration file (tokenURI → metadata)
  • Endpoints via ENS names or DIDs
  • Interop with A2A (task lifecycle) and MCP (capability advertisement)
  • Owner-controlled ERC-721 token

The three registries, plainly

ERC-8004 is really three contracts that do three jobs:

  • Identity Registry. Registering an agent mints an ERC-721 token (with the URIStorage extension). The tokenId is the agent's identifier, the token owner is the agent's owner, and the token's URI resolves to an off-chain registration file describing the agent's services and endpoints. Identity-as-an-NFT is the design choice that makes everything else portable.
  • Reputation Registry. Clients who interacted with an agent submit scored feedback — fixed-point values with optional tags and a link to detail. The compact score sits on-chain for composability; the full review lives off-chain, usually on IPFS. It's a public, append-only track record rather than a star rating controlled by the agent itself.
  • Validation Registry. Where reputation is subjective, validation is adversarial. Independent validators attest to whether an agent actually did the work — via stake-secured re-execution, zero-knowledge proofs, or trusted execution environments — and write back a 0–100 score with optional evidence.

Together they cover three different questions: *who is this agent*, *what do its clients say*, and *can a neutral party confirm the work*.

Why "registration count" is not a headcount

This is the number that gets quoted out of context, so be precise. Each registration mints a token in the Identity Registry. The on-chain "registrations" figure is therefore the count of identity tokens ever created — a mint counter — not a measure of how many agents are alive, funded, and doing useful work right now.

The two numbers drift apart fast. A single team can mint several tokens while testing. Tokens get registered and then abandoned. A minted identity says nothing about whether the agent behind it ever shipped a transaction. Reading the registry count as "there are N active trustless agents" is the same mistake as reading total ERC-20 contracts deployed as "N live tokens." SatoHub publishes the live on-chain count and labels it as a mint counter on purpose — the honest number, not the flattering one. When you see an ERC-8004 figure cited as adoption, ask whether anyone checked liveness behind the mints.

Portable identity: why building on ERC-721 matters

The quiet decision in ERC-8004 is making identity an ERC-721 token instead of a bespoke record. That buys portability for free: every wallet, marketplace, indexer, and block explorer already knows how to read, transfer, and display NFTs, so an agent's identity is legible across the ecosystem the day it's minted — no new integration required. Ownership and transfer also come built in; whoever holds the token controls the agent's identity.

It also slots into the wider agent stack. The spec is designed to interoperate with A2A (Agent2Agent) for task-lifecycle orchestration and with the Model Context Protocol for advertising what an agent can do, and it supports ENS names and DIDs as human-readable endpoints. That's the same composability story behind onchain agents generally — and the registry is where an agent's reputation hooks into how agents interact with smart contracts.

What it fixes — and what it doesn't

ERC-8004 fixes a real gap: before it, an agent's "reputation" was whatever its own site claimed. Now there's a public place for identity, third-party feedback, and neutral validation to accumulate where anyone can read them. That's a genuine step for AI agent identity and verification.

What it does not do is make any agent trustworthy by default. A registry entry is a claim with an address attached, not a guarantee of competence or honesty. Reputation only means something once real clients leave real feedback, and validation only means something once real validators show up — thin data is easy to game. And the standard is still Draft, so fields and behavior can change before it's finalized. The rule that holds across all of it: a registration tells you an agent *exists*, not that it's *good*. Checking the evidence behind the entry is exactly what the Sato Score is built to track — a transparency and liveness signal, not a safety or returns grade.

Examples

  • An agent mints an Identity Registry token; its tokenId becomes the handle other agents and apps resolve it by.
  • A client that hired an agent posts a scored review to the Reputation Registry after the task completes.
  • A validator re-runs an agent's task and writes a 0–100 score with evidence to the Validation Registry.
  • A block explorer that already reads ERC-721 tokens displays an agent's registration with no custom code.
  • A directory cross-checks the on-chain mint count against actual transaction activity before calling agents 'active.'

Risks & Limitations

  • Draft status: the spec can change before it's finalized, so today's fields and behavior aren't frozen.
  • A registration records claims, not guarantees — a minted identity says nothing about whether an agent is competent or honest.
  • Reputation and validation only matter if real clients and validators participate; thin or self-dealt data is easy to game.
  • Off-chain metadata (the registration file) can move, go stale, or disappear, leaving an on-chain pointer to nothing.

Frequently Asked Questions

What is ERC-8004?

ERC-8004 is a Draft Ethereum standard, nicknamed "Trustless Agents," that gives an agent a portable on-chain identity plus reputation and validation records. It does this with three registry contracts — Identity (an ERC-721 token per agent), Reputation (on-chain feedback scores), and Validation (third-party attestations of work) — so an agent's track record can be checked rather than just claimed.

Does ERC-8004 mean an agent is safe or trustworthy?

No. A registry entry is a claim with an address attached, not a guarantee. ERC-8004 makes identity, reputation, and validation public and portable, but the data only means something once real clients and validators participate. Treat "registered" as "exists," not "good," and check the evidence behind the entry — that gap is what the Sato Score tracks.

What do the ERC-8004 registration numbers actually count?

Each registration mints an ERC-721 token in the Identity Registry, so the headline number is a count of identity tokens ever created — a mint counter — not a headcount of active agents. Teams can mint tokens for testing, then abandon them, and a mint says nothing about whether the agent ever did real work. SatoHub publishes the live on-chain count and labels it as a mint counter for that reason.

Is ERC-8004 live on Ethereum?

Registry contracts are deployed and you can watch the live on-chain count, but the EIP itself is still in Draft status (created August 2025). That means the standard is usable today while its fields and behavior can still change before it's finalized.

How is ERC-8004 different from just giving an agent an ENS name?

An ENS name is a human-readable handle; ERC-8004 is a fuller identity-plus-trust layer. It mints a portable ERC-721 identity, adds an on-chain reputation record, and adds a validation registry where neutral parties attest to an agent's work. ENS names can still be used as endpoints inside an ERC-8004 registration, so the two complement rather than replace each other.

Sources

Related Resources

Related Wiki Pages

Spotted an error or something outdated?Submit a correction →

Join the Sato Hub Briefing

One email a week — the agents, tools, and infrastructure that actually shipped, and why they matter.