clustered by registration document, not by wallet
8,093 agents across 7,962 distinct wallets registered the same document.
That document is https://eve-8004.vercel.app/metadata/b.json. We asked it on 2026-09-20 and it answered HTTP 404.
Nobody did anything wrong here. A preview deployment expired and thousands of registrations that were fine on the day they were written now point at nothing. The registrations are still on chain, still hash-perfect, still returned by every tool that reads the registry. That is the part worth showing: an agent can look completely healthy in a registry explorer while the only thing describing it has been gone for months.
what every registration document does when you ask it
2,014 distinct documents behind 10,254 agents. Last asked 2026-09-22 03:31Z.
The host answered and said the document is not there.
The domain in the URI no longer resolves to any host.
The URI was never a usable pointer. Nothing was deleted, because it could not have worked.
We could not find out. A rate limit, a timeout, a server error or a document past our own size cap. Never an accusation.
The document was fetched and read.
The document is written into tokenURI itself. There is no host to ask, so it cannot be deleted later.
Nothing has asked about this document yet. Not having looked is a state and it is not a failure.
These agents registered with no tokenURI at all, so there is no record row to probe. Counted here rather than left out, because without them these buckets sum to 10,174 against a registry of 10,254 and 80 agents quietly vanish off the page.
buckets sum to 10,254 against a registry of 10,254. Shown because a page whose parts do not add up to its own total is the failure this site is about.
8,640
agents whose registration document is gone
84.26% of the registry
The host answered and said it is not there. Not a timeout, not a guess.
0
agents that expose a real x402 payment challenge
0.00% of the registry
A live endpoint answering with an x402 challenge, so a buyer could pay it. This is counted only on a real challenge. A host that answers 402 with a suspended-account page is counted as gone, not here, because a status code is not a protocol.
re-derive this
The state column is a view (fovea.record_state) so one definition serves the page, the feed and the API. A probe records what happened; the view decides what that means and the view is allowed to improve without re-fetching anyone's server.
SELECT coalesce(p.state, 'not probed') AS state,
count(*) AS records,
sum(r."memberCount") AS agents,
max(p.checked_at) AS probed_at
FROM "AgentRecord" r
LEFT JOIN fovea.record_state p ON p.uri_hash = r.id
WHERE r."chainId" = $1
GROUP BY 1
ORDER BY agents DESChosts, by how many agents depend on them
A host nobody chose together is still a single point of failure they share.
| host | agents | documents | answered | gone | 402 | other | not asked |
|---|---|---|---|---|---|---|---|
| eve-8004.vercel.app | 8,094 | 2 | 2 | ||||
| agent-arcade-steel.vercel.app | 762 | 762 | 762 | ||||
| api.monadmogs.xyz | 528 | 526 | 526 | ||||
| dashboard.dev.fun | 483 | 483 | 483 | ||||
| execution.market | 49 | 25 | 25 | ||||
| raw.githubusercontent.com | 32 | 8 | 8 | ||||
| monadmogs.vercel.app | 14 | 10 | 10 | ||||
| metadata.anoa.app | 10 | 10 | 10 | ||||
| claw.tormund.io | 8 | 8 | 8 | ||||
| clawnad.dev | 6 | 3 | 3 | ||||
| b-dashboard.dev.fun | 6 | 6 | 6 | ||||
| verdict.invalid | 4 | 4 | 4 | ||||
| api.pr4gma.xyz | 3 | 2 | 2 | ||||
| moltiverse.dev | 2 | 1 | 1 | ||||
| carly17.my.id | 2 | 1 | 1 | ||||
| monadmogs.xyz | 2 | 2 | 2 | ||||
| prooflines.org | 2 | 2 | 1 | 1 | |||
| localhost:5173 | 1 | 1 | 1 | ||||
| outputs.happycapy.ai | 1 | 1 | 1 | ||||
| localhost:5174 | 1 | 1 | 1 |
re-derive this
SELECT split_part(split_part(r.uri, '://', 2), '/', 1) AS host,
count(*) AS records,
sum(r."memberCount") AS agents,
count(*) FILTER (WHERE p.state = 'answered') AS answered,
count(*) FILTER (WHERE p.state = 'gone') AS gone,
count(*) FILTER (WHERE p.state = 'paywalled') AS paywalled,
count(*) FILTER (WHERE p.state IN ('refused','nohost','malformed','unknown')) AS other,
count(*) FILTER (WHERE p.state IS NULL) AS not_probed
FROM "AgentRecord" r
LEFT JOIN fovea.record_state p ON p.uri_hash = r.id
WHERE r."chainId" = $1 AND r.uri LIKE 'http%'
GROUP BY 1
ORDER BY agents DESC
LIMIT $2every shared document, biggest cluster first
One row per distinct document. Storing 8,093 copies of one dead URL would hide the cluster, which is the only part worth knowing.
131 of these were registered by a wallet that registered more than one agent against this same document.
24 of these were registered by a wallet that registered more than one agent against this same document.
3 of these were registered by a wallet that registered more than one agent against this same document.
1 of these were registered by a wallet that registered more than one agent against this same document.
1 of these were registered by a wallet that registered more than one agent against this same document.
1 of these were registered by a wallet that registered more than one agent against this same document.
1 of these were registered by a wallet that registered more than one agent against this same document.
2 of these were registered by a wallet that registered more than one agent against this same document.
2 of these were registered by a wallet that registered more than one agent against this same document.
1 of these were registered by a wallet that registered more than one agent against this same document.
1 of these were registered by a wallet that registered more than one agent against this same document.
2 of these were registered by a wallet that registered more than one agent against this same document.
2 of these were registered by a wallet that registered more than one agent against this same document.
2 of these were registered by a wallet that registered more than one agent against this same document.
1 of these were registered by a wallet that registered more than one agent against this same document.
1 of these were registered by a wallet that registered more than one agent against this same document.
1 of these were registered by a wallet that registered more than one agent against this same document.
1 of these were registered by a wallet that registered more than one agent against this same document.
1 of these were registered by a wallet that registered more than one agent against this same document.
1 of these were registered by a wallet that registered more than one agent against this same document.
1 of these were registered by a wallet that registered more than one agent against this same document.
1 of these were registered by a wallet that registered more than one agent against this same document.
1 of these were registered by a wallet that registered more than one agent against this same document.
1 of these were registered by a wallet that registered more than one agent against this same document.
re-derive this
SELECT r.id AS uri_hash, r.uri, r."memberCount", r."distinctOwners", r.kind, r."firstSeenBlock",
p.scheme, p.reachable, p.http_status, p.byte_length, p.media_type,
p.parsed_name, p.reason, p.checked_at, p.state
FROM "AgentRecord" r
LEFT JOIN fovea.record_state p ON p.uri_hash = r.id
WHERE r."chainId" = $1
ORDER BY r."memberCount" DESC, r."firstSeenBlock" ASC
LIMIT $2 OFFSET $3