← Home · Data hub · Ethereum chain brief · Base chain brief
Data as of 2026-08-17 (Ethereum IdentityRegistry census) · live figures re-fetched on every visit.
Short answer:
the ERC-8004 IdentityRegistry
(0x8004A169FB4a3325136EB29fA0ceB6D2e539a432) on Ethereum mainnet holds
50,071 raw registration mints
as of 2026-08-17.
Of those, 30,502
(60.9%) carry a
populated tokenURI;
far fewer resolve to a usable agent card.
On-Chain Agent Intel indexes
25,618 ERC-8004
registrations across Base and Ethereum after applying a per-publisher
dedup cap, of which 3,323
(13%) answer at
their advertised endpoint on the last probe.
Trust filter, not biggest index.
“How many ERC-8004 agents are there?” has no single-number answer because it turns on which cut you want. Below are the four cuts that matter, each labelled with what it does and does not measure.
50,071 raw
Transfer(from=0x0) events on the Ethereum IdentityRegistry
as of 2026-08-17. This is
the on-chain ceiling — it is Ethereum block state, deterministic.
It is not the number of
distinct working agents: every ERC-721 mint counts once regardless of
whether the token points to real off-chain content, so batch mints with
empty tokenURI are in this total. Do not read this as
“50,071 agents”; read it as raw registration mints.
tokenURI (upper bound)
30,502
(60.9%) of the raw
mints carry a non-empty tokenURI. This is an
upper bound on the agents
that could plausibly resolve to a usable card — the remainder are
empty-tokenURI batch mints that tokenURI()
returns as an empty string or reverts on. Populated is
not the same as usable: many
of the populated tokenURIs point at URLs that 404, IPFS CIDs
that never resolve, or JSON bodies that do not carry an A2A card. The
count of agents that actually resolve to a walkable card is
much smaller.
On-Chain Agent Intel currently indexes
25,618 ERC-8004
registrations after applying a per-publisher dedup cap
— 22,792
on Base and 2,826 on
Ethereum. Bulk publishers dominate the raw Ethereum mint count —
the top publisher alone (agents.exquisite.land) minted
10,000 tokens — so
we cap each publisher at
50 rows and index
the deduplicated set (265
distinct publishers). An indexed set of tens of thousands of
near-identical agents from one publisher would look
headline-competitive but destroys the trust-filter positioning. Disclosing the cap here is the point:
undisclosed capping reads as undercounting; disclosed capping IS the
differentiation.
3,323 of the indexed cohort answer at their advertised endpoint with a machine-readable capability manifest (MCP, OpenAPI, or a well-known agent card) on the last probe — a 13% live rate across the full indexed set. Per chain: 1,696 live on Base (7% of Base indexed), 1,627 live on Ethereum (58% of Ethereum indexed). This is the cohort a buyer can actually transact with today. Of these, 44 have on-chain ReputationRegistry rows that tie back to a real, paid Virtuals ACP / ERC-8183 job outcome — the commerce-backed cohort, the got-paid signal we treat as the strongest trust filter on top of registration.
Third-party reports of the ERC-8004 agent count vary because they are snapshots at earlier dates — not errors, just time-stamped reads that have since aged. Naming three examples so the drift is auditable, none of which are wrong at time of publication:
agents.exquisite.land dropped a batch of
10,000 mints alone since
then). The April number was correct in April.
Registry. ERC-8004 IdentityRegistry at
0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 — the same CREATE2
address on Base (eip155:8453) and Ethereum mainnet
(eip155:1). Raw registration mints are
Transfer(from=0x0) events on that contract.
Raw mint count + tokenURI classification. From the
2026-08-17 full-registry census re-runnable via
scripts/eth_registration_census.py — every one of
the raw mints classified (not sampled) via Multicall3 batching on
tokenURI(uint256). Method + strata breakdown documented
in the
placeholder-vs-live post and in the underlying evidence file
docs/evidence/0308-ethereum-registration-census.md.
Indexed cohort. The ERC-8004 registrations
erc8004_discovery.py has already scanned, filtered
through an is_worth_recording pass (drops agents lacking
service endpoints, capabilities, x402 support, and payment config),
and further capped at
50 rows per
publisher so bulk mints do not dominate the served set. Full profile
store: ~/.openclaw/erc8004_agent_profiles.sqlite. Same
cohort the /v1/public/stats
surface, the per-agent free pages, and the paid /v1/intel/*
surface all read.
Live predicate. The endpoint returns HTTP 2xx
and at least one machine-readable capability
manifest resolves — MCP (/mcp), OpenAPI
(/openapi.json), or a well-known agent card
(/.well-known/agent-card.json). Same predicate codified
in smartcontractauditpro/liveness.py::is_live. Refreshed
on the activity-tracker cadence (approximately every two days per
agent), not on every build.
tokenURI ≠ usable agent card.
Layer 2 is an upper bound only. A populated tokenURI can resolve to a
broken URL, an unavailable IPFS CID, or a JSON body that does not
carry an A2A card. The number of agents that pass the strict walk to
a payable endpoint is measured separately — see the
signpost-gap
dataset.
Scoped claim sentence. Scope: ERC-8004 registrations on the Base and Ethereum IdentityRegistry (0x8004A169FB4a3325136EB29fA0ceB6D2e539a432), refreshed daily. The
Ethereum IdentityRegistry contained
50,071 minted agents as of
2026-08-17, of which
30,502
(60.9%) carry a
populated tokenURI and the remainder are empty-URI batch
mints. The top single publisher accounts for
10,000 mints; On-Chain
Agent Intel indexes 25,618
Base + Ethereum registrations — the subset whose off-chain
metadata passes an is_worth_recording filter and a
per-publisher dedup cap.
License. Answer prose and every rendered number published under CC BY 4.0 — free to reuse, including in commercial work, provided you attribute “On-Chain Agent Intel” and link back to https://onchainagentintel.io/how-many-erc-8004-agents-are-there.
Machine-readable source. Every rendered number is a live projection of /v1/public/stats — identical JSON to what this page renders, no auth, no payment.
Also useful: Ethereum chain brief · Base chain brief · Chain-liveness dataset · Signpost-gap dataset · Commerce-backed cohort · All datasets