Sato Hub
ERC-8004

How many ERC-8004 agents are registered on each chain?

Registered agent ids on each chain, read from the contract. Never one total.

  • As of2026-10-27

There is no total on this page

ERC-8004 is a singleton deployed at the same address on several chains. Id 41 on Base and id 41 on BNB Chain are two different agents on two different contracts, and one operator registering the same agent on four chains produces four ids — so a sum counts neither agents nor operators. A second registry contract on the same chain is shown beside the canonical count and never added to it. The readings can also be of mixed vintage, which is why each row carries its own date and the lane that read it.

ChainRegistered idsReadSourceEnumerated registrations
0G3,940,8452026-10-27daily censusnot enumerated
Base1,136,4712026-10-27daily census300 over blocks 53135471–53144970 (window truncated) · 2026-10-27
BNB Chain392,8782026-10-27daily censusnot enumerated
Ethereum55,441+6,852 on a second registry — counted separately (2026-10-27)2026-10-27daily censusnot enumerated
Robinhood Chain19,8842026-10-27daily censusnot enumerated
Abstract16,9192026-10-27daily censusnot enumerated
X Layer15,1482026-10-27daily censusnot enumerated
MegaETH12,7282026-10-27daily censusnot enumerated
Monad10,4192026-10-27daily censusnot enumerated
Celo9,9962026-10-27daily censusnot enumerated
Gnosis4,1712026-10-27daily censusnot enumerated
SKALE Base2,2602026-10-27daily censusnot enumerated
Shape2,0982026-10-27daily censusnot enumerated
Avalanche1,8472026-10-27daily censusnot enumerated
Arbitrum1,6492026-10-27daily censusnot enumerated
Injective9322026-10-27daily censusnot enumerated
Polygon6932026-10-27daily censusnot enumerated
Optimism5692026-10-27daily censusnot enumerated
Tempo5042026-10-27daily censusnot enumerated
Mantle1462026-10-27daily censusnot enumerated
Metis1422026-10-27daily censusnot enumerated
Linea1172026-10-27daily censusnot enumerated
Scroll1102026-10-27daily censusnot enumerated
Taiko942026-10-27daily censusnot enumerated
GOAT Network882026-10-27daily censusnot enumerated
Morph112026-10-27daily censusnot enumerated
Method
lastAgentId storage slot per chain The counter is read directly from the contract, so the figure is exact for that chain on that day. Each row takes the newest reading we hold: the daily census (every chain, every day) where it has read the chain, else the weekly registry read, else the one-off reading taken when the venue was added — and names which one in the Source column. The enumerated column is a separate, weaker reading: Registered event logs over a bounded block window, which undercounts whenever the window does not reach back to deployment — and says so.
Unit
One registered agent id. An id is minted by any call to register(); it says nothing about whether the agent is funded, active, distinct, or real. The funnel after registration is on the venue page.
Unknown
Every chain on this page carries a reading. A chain we could not read would appear here with a blank count rather than a zero.
Trend
The same counter as a weekly series, with the week-over-week change, is at ERC-8004 registered agents, by chain (weekly).
Reproduce
MCP onchain_agent_get_trend(venue="erc8004", stage="registered", chain=…, grain="daily") for a daily-census row · grain="weekly" or GET /api/export/adoption.json (rows where venue="erc8004" and stage="registered") for a weekly one

Why sources disagree

Each tracker counts a different set of chains and decides what an agent is: every registered id, only ids with a registration file, or testnets too. A wider scope or a looser definition gives a bigger figure, so the figures cannot be lined up or added.

  • 8004scan ↗1,556,935

    agents · mainnet chains, agents with a registration file · all time

    Agents 8004scan indexes in this view.

    read 2026-10-27

  • 8004scan ↗1,619,785

    agents · mainnet chains, including ids without a registration file · all time

    Agents 8004scan indexes in this view.

    read 2026-10-27

  • 8004scan ↗1,882,383

    agents · all networks, testnets included · all time

    Agents 8004scan indexes in this view.

    read 2026-10-27

  • agents · the chains agenteconomy.to tracks · all time

    Total agents in agenteconomy.to’s ERC-8004 table, on the chains it tracks.

    read 2026-10-27 · source date 2026-10-27T02:57:17.026Z

Our own reading is the registry contract's own id counter on each chain, read directly and never summed.

Figures other trackers publish, quoted with their source and read once a day. They are not Sato Hub's numbers and are never added together; “not read” means we hold no reading, never zero.

Data CC-BY-4.0 — attribution: data by satohub.ai. Never summed across chains; “unknown” means we hold no reading, never zero.

Reference

QuestionsShowHide

Questions this page answers

How many agents are registered on ERC-8004, by chain?
0G 3,940,845 (read 2026-10-27), Base 1,136,471 (read 2026-10-27), BNB Chain 392,878 (read 2026-10-27), Ethereum 55,441 (read 2026-10-27), Robinhood Chain 19,884 (read 2026-10-27), Abstract 16,919 (read 2026-10-27), X Layer 15,148 (read 2026-10-27), MegaETH 12,728 (read 2026-10-27), Monad 10,419 (read 2026-10-27), Celo 9,996 (read 2026-10-27), Gnosis 4,171 (read 2026-10-27), SKALE Base 2,260 (read 2026-10-27), Shape 2,098 (read 2026-10-27), Avalanche 1,847 (read 2026-10-27), Arbitrum 1,649 (read 2026-10-27), Injective 932 (read 2026-10-27), Polygon 693 (read 2026-10-27), Optimism 569 (read 2026-10-27), Tempo 504 (read 2026-10-27), Mantle 146 (read 2026-10-27), Metis 142 (read 2026-10-27), Linea 117 (read 2026-10-27), Scroll 110 (read 2026-10-27), Taiko 94 (read 2026-10-27), GOAT Network 88 (read 2026-10-27), Morph 11 (read 2026-10-27). Each figure is the registry contract's own agent-id counter on that chain on the date shown. They are listed separately and never added together.
Why is there no total?
Because a total would be wrong in a way that looks right. ERC-8004 is a singleton deployed at the same address on several chains, so id 41 on Base and id 41 on BNB Chain are two different agents on two different contracts — while one operator registering the same agent on four chains produces four ids. A sum counts neither agents nor operators.
Does a registration mean the agent exists and works?
No. An id is minted by any call to register(). The population includes test registrations, duplicates and abandoned ids, and nothing about funding, activity or whether the agent answers is implied. What happens after registration is measured separately, as its own stage.
How current are these numbers?
The readings are of mixed vintage and each row carries its own date, the newest 2026-10-27. A single page-level date would misdescribe the older rows, so the table dates each one instead.
Which chains are missing?
None. Every chain on this page carries a reading with its own date.
SourcesShowHide
Cite this pageShowHide

Cite this

Registered agents per chain: 0G 3,940,845, Base 1,136,471, BNB Chain 392,878 and 23 more chains; chains are never added together, as of 2026-10-27.

Sato Hub, "How many ERC-8004 agents are registered on each chain?", https://satohub.ai/numbers/erc-8004-agents-by-chain, as of 2026-10-27. Data CC-BY.

How this was measured

Method
One read of the ERC-8004 Identity Registry's own agent-id counter (`_lastId`, one storage read at the chain head) on each chain the registry is deployed to, covering the whole registry with no sampling.
Window
The latest reading held for each chain, dated per row; rows can come from different days and are never summed.
Data date
MCP call
onchain_agent_get_trend({"venue":"erc8004","chain":"Base","stage":"registered","grain":"weekly","points":1}) on https://satohub.ai/api/mcp
URL
https://satohub.ai/api/export/adoption.json?stage=registered&venue=erc8004

Pass another chain to read its row. A chain with no weekly reading shows the dated venue reading named on the page instead.

Machine source

  • MCP tool: https://satohub.ai/api/mcp → onchain_agent_get_trend({ venue: "erc8004", stage: "registered", chain: "0G", grain: "daily" })