Instrument 01 · Registry checklive

What we found when we checked every ERC-8004 agent on Ethereum mainnet

51,372 agents|block 26,052,962|run 7e5a1673
66.1%

of valid registration documents declare no way to reach the agent — no services entry at all, or one with nothing in it.

12,573 / 19,016 documents that parsed and reached check 4 (Follows the spec?)

80.6%

of registration files never say which on-chain agent they belong to — the spec only recommends the field that would bind them. Check 5 (Claims its identity?) records those as unclaimed: neither a pass nor a fail.

15,255 / 18,917 documents that passed check 4 (Follows the spec?) (conformant)

3.7%

have at least one on-chain feedback entry. Agents with feedback are less likely to have a document that resolves than agents with none — 73.1% against 39.8%.

1,890 / 51,372 agents in this run

—

Whether money reaches a registered agent is read from token transfer logs rather than from the registry, so it is not one of the seven checks and no sweep reports it. What the join asks, and what it is read against.

369,130 agents · outside the seven checks

Read the full report: 4 chains, 369,130 agents →

Changed since the last sweep

mainnet · against its previous sweep
Each row compares a chain’s current sweep against the previous one — both pinned to a block, so the comparison itself recomputes. “No longer reachable” is check 2 (Reachable?) moving from pass to not-pass: the quiet decay that registration counts never show.
ChainNewGoneNo longer reachableReachable againDeclined †Errored §
Ethereum mainnet578611049195

† Check 2 (Reachable?) transitions where the origin declined the probe — a rate limit, an auth or payment challenge, a robots.txt that said no. Excluded from both reachability columns by rule: being declined is not the agent having gone away, and getting through after being declined is not the agent having come back.

§ Check 2 transitions where this census’s own probe failed — a timeout, a TLS or DNS failure. Excluded from both reachability columns by the same rule: our failure is never the agent’s, and a checker-side outage must not read as agents going dark.

Every check, every status

base rates on mainnet
Population counts, not a score for any one agent. A check’s segments do not sum to the whole population when an earlier failure stopped the pipeline — that gap is drawn as its own “not checked” segment rather than folded into whichever status happens to render widest.
1

Registered?

registered · 51,372

pass
51,372
100.0%
2

Reachable?

resolvable · 51,372

pass
21,073
41.0%
fail
19,841
38.6%
refused
10,200
19.9%
error
258
0.5%

Counts documents stored on-chain, which resolve by construction — this is not a server-uptime rate.

3

Readable?

parseable · 51,372

skipped
30,299
59.0%
pass
19,016
37.0%
fail
2,057
4.0%
4

Follows the spec?

conformant · 51,372

skipped
32,356
63.0%
pass
18,917
36.8%
fail
99
0.2%
5

Claims its identity?

bound · 51,372

skipped
32,455
63.2%
unclaimed
15,255
29.7%
pass
2,710
5.3%
fail
952
1.9%
6

Answers?

live · 51,372

skipped
32,455
63.2%
not checked
13,001
25.3%
pass
3,981
7.7%
refused
1,097
2.1%
unprobeable
599
1.2%
fail
229
0.4%
error
10
0.0%

Something answered — not that it works, speaks any protocol, or is the agent.

7

Has feedback?

attested · 51,372

fail
49,482
96.3%
pass
1,890
3.7%

Someone left feedback — not that they were independent of the agent.

Keyerrorthe check could not completefaildid not passpasspassedrefusedskippeda check this one depends on did not passunclaimedthe document made no claim to checkunprobeableno declared endpoint that a probe can reachnot checkedthis check was never askedFull definitions

One agent, seven checks

first three on mainnet
Exactly as the directory renders them. Hover or tap any badge for the question it answers. A check with no row was never reached this run — check 6 (Answers?) is not yet implemented, so it reads as not checked for everyone, never as a failure.
AgentOwnerChecks 1–7
Agent #00x9ce7…569c
Agent #10x9ce7…569c
Agent #20x9ce7…569c
Keyerrorthe check could not completefaildid not passpasspassedrefusedskippeda check this one depends on did not passunclaimedthe document made no claim to checkunprobeableno declared endpoint that a probe can reachnot checkedthis check was never askedFull definitions

Search all 485,257 agents →Agents that passed every check →

Provenance

reproducible
Every number on this page comes from one sweep, pinned to one block. A result you cannot recompute is an opinion; this is what recomputes it.
run
7e5a1673-23a6-41cd-b42b-a51631de86af
chain
mainnet
pinned block
26,052,962
agents
51,372
started
2026-09-25T07:26:13.188855Z
finished
2026-09-26T06:17:58.287311Z
checker
0.7.0 · 10238dd9af44dfa032e6578390569a413a6bb393
spec commit
68fc6765761a10fb26f0692df21c8a6f9d12b1be
Reproduce
cargo run -p sweeper -- mainnet   # at block 26052962

How each check is measured →