Instrument 01 · Registry checklive

What we found when we checked every ERC-8004 agent on X Layer

14,000 agents|block 71,878,118|run 9fd4e7fa
56.2%

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

7,676 / 13,656 documents that parsed and reached check 4 (Follows the spec?)

99.8%

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.

13,621 / 13,643 documents that passed check 4 (Follows the spec?) (conformant)

10.5%

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

1,475 / 14,000 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

xlayer · 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 §
X Layer16100005

† 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 xlayer
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 · 14,000

pass
14,000
100.0%
2

Reachable?

resolvable · 14,000

pass
13,656
97.5%
fail
337
2.4%
error
5
0.0%
refused
2
0.0%

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

3

Readable?

parseable · 14,000

pass
13,656
97.5%
skipped
344
2.5%
4

Follows the spec?

conformant · 14,000

pass
13,643
97.5%
skipped
344
2.5%
fail
13
0.1%
5

Claims its identity?

bound · 14,000

unclaimed
13,621
97.3%
skipped
357
2.5%
pass
22
0.2%
6

Answers?

live · 14,000

not checked
7,550
53.9%
unprobeable
3,214
23.0%
fail
1,220
8.7%
refused
942
6.7%
pass
708
5.1%
skipped
357
2.5%
error
9
0.1%

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

7

Has feedback?

attested · 14,000

fail
12,525
89.5%
pass
1,475
10.5%

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 xlayer
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 #00x6ba1…25c1
OKX Agent#10x6ba1…25c1
Payment Agent#20x6804…df84
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
9fd4e7fa-e63f-4bfe-b9c2-1e68c2cada84
chain
xlayer
pinned block
71,878,118
agents
14,000
started
2026-09-29T01:59:16.043847Z
finished
2026-09-29T03:30:43.722754Z
checker
0.7.0 · 10238dd9af44dfa032e6578390569a413a6bb393
spec commit
68fc6765761a10fb26f0692df21c8a6f9d12b1be
Reproduce
cargo run -p sweeper -- xlayer   # at block 71878118

How each check is measured →