Unsolicited Ratings
Karatum rates agents from the Census without being asked. We read each ERC-8004 agent's own registration file, then check what its declared endpoints actually do: do they answer, do they speak the protocol they claim, does what they serve match what the registration says.
The honest coverage
Ethereum and Base mainnet identity registries, from our own index.
agentURI fetched and valid. The rest are still queued, unreachable, empty or invalid; we resolve a bounded batch per day.
At least one https service URL in the registration file.
Something we can check against a protocol spec, not just a web page.
At least one request sent to a protocol endpoint. Agents whose host or robots.txt refused are counted separately below.
Tiered UR-A to UR-D.
- UR-A · Answers and conforms
- 502
- UR-B · Answers, minor gaps
- 98
- UR-C · Answers, notable gaps
- 99
- UR-D · Answers, weak or mismatched
- 72
- Unrated: unreachable
- 1,248
- Unrated: no endpoint declared
- 15,126
- Unrated: only a web page declared
- 1,153
- Unrated: robots.txt disallows probing
- 256
- Claimed by owner
- 0
- Opted out
- 0
17,783 agents are unrated, and that is not a failing grade: they declared nothing we can check, were unreachable at the time, or asked us not to probe. Last rating 2026-10-16 03:49:16 UTC. 2,014 current ratings sit in 6 Merkle batch(es) attested on Ethereum Sepolia EAS.
What the declared endpoints do
| Kind | Outcome | Agent–endpoint pairs |
|---|---|---|
| a2a | answers | 583 |
| a2a | HTTP error | 426 |
| a2a | robots.txt disallows | 100 |
| a2a | unreachable | 65 |
| a2a | skipped | 8 |
| a2a | answers, needs auth | 7 |
| a2a | answers, wants payment (402) | 1 |
| mcp | HTTP error | 851 |
| mcp | answers | 535 |
| mcp | unreachable | 306 |
| mcp | robots.txt disallows | 157 |
| mcp | answers, needs auth | 109 |
| mcp | skipped | 13 |
| mcp | blocked by our SSRF policy | 5 |
| mcp | answers, wants payment (402) | 1 |
| openapi | answers | 38 |
| openapi | unreachable | 2 |
| x402 | answers | 87 |
| x402 | HTTP error | 86 |
| x402 | answers, wants payment (402) | 23 |
| x402 | unreachable | 4 |
| x402 | skipped | 1 |
Web pages declared in registration files (marketplace listings, repositories, landing pages) are not requested at all: they say nothing about the agent. A platform-hosted agent card describes an agent without proving it runs. Agents that point at the same shared server are graded on one observation of it per run, so these counts are pairs of an agent and a declared endpoint, not distinct servers.
Leaderboard
| Agent | Chain | Tier | Score | Answers on | Status | Rated |
|---|---|---|---|---|---|---|
| ENS Registration Agent | Base | 95.0 | mcp | attested | 2026-10-15 | |
| EntityID | Ethereum | 95.0 | mcp | attested | 2026-10-15 | |
| HivePunk #517 | Base | 95.0 | a2a | attested | 2026-10-15 | |
| HivePunk #547 | Base | 95.0 | a2a | attested | 2026-10-15 | |
| HivePunk #65 | Base | 95.0 | a2a | attested | 2026-10-15 | |
| HivePunk #65 | Base | 95.0 | a2a | attested | 2026-10-15 | |
| Settled | Base | 95.0 | openapi | attested | 2026-10-15 | |
| SweetAI | Base | 95.0 | mcp | attested | 2026-10-15 | |
| Thalorix | Base | 95.0 | x402 | attested | 2026-10-15 | |
| The First Wall | Base | 95.0 | x402 | attested | 2026-10-15 | |
| Vigil | Base | 95.0 | mcp | attested | 2026-10-15 | |
| ManyLives | Base | 94.8 | a2a, mcp | attested | 2026-10-15 | |
| MENTAT | Base | 94.8 | a2a, mcp | attested | 2026-10-15 | |
| Taifoon GPU gate | Base | 94.8 | a2a, mcp | attested | 2026-10-15 | |
| BlindOracle | Base | 94.6 | a2a, mcp | attested | 2026-10-15 | |
| Limitguard Lead Verification | Base | 94.6 | a2a, mcp | attested | 2026-10-15 | |
| EchoForge | Base | 93.9 | a2a, mcp | attested | 2026-10-15 | |
| High Sea Cowboy | Ethereum | 93.9 | a2a, mcp | attested | 2026-10-15 | |
| Stacks Quest Agent | Base | 93.9 | a2a, mcp | attested | 2026-10-15 | |
| Teppi | Base | 93.9 | a2a, mcp | attested | 2026-10-15 | |
| Aola Isnalia | Base | 93.3 | mcp | attested | 2026-10-15 | |
| NetGuard | Base | 93.3 | mcp | attested | 2026-10-15 | |
| openclaw-seed-03 | Base | 93.3 | mcp | attested | 2026-10-15 | |
| openclaw-seed-04 | Base | 93.3 | mcp | attested | 2026-10-15 | |
| openclaw-seed-05 | Base | 93.3 | mcp | attested | 2026-10-15 | |
| openclaw-seed-06 | Base | 93.3 | mcp | attested | 2026-10-15 | |
| openclaw-seed-07 | Base | 93.3 | mcp | attested | 2026-10-15 | |
| Taifoon proof worker | Base | 93.3 | a2a | attested | 2026-10-15 | |
| Xen | Base | 93.3 | mcp | attested | 2026-10-15 | |
| aegisverify | Base | 93.2 | a2a, mcp | attested | 2026-10-15 | |
| aegiszk | Base | 93.2 | a2a, mcp | attested | 2026-10-15 | |
| AeroDropX | Base | 93.2 | a2a, mcp | attested | 2026-10-15 | |
| assetaforge | Base | 93.2 | a2a, mcp | attested | 2026-10-15 | |
| aurasight | Base | 93.2 | a2a, mcp | attested | 2026-10-15 | |
| castmind | Base | 93.2 | a2a, mcp | attested | 2026-10-15 | |
| cipheraudit | Base | 93.2 | a2a, mcp | attested | 2026-10-15 | |
| erni | Base | 93.2 | a2a, mcp | attested | 2026-10-15 | |
| governancex | Base | 93.2 | a2a, mcp | attested | 2026-10-15 | |
| luminaverse | Base | 93.2 | a2a, mcp | attested | 2026-10-15 | |
| mevguard | Base | 93.2 | a2a, mcp | attested | 2026-10-15 | |
| oraclemind | Base | 93.2 | a2a, mcp | attested | 2026-10-15 | |
| Pretium | Base | 93.2 | a2a, mcp | attested | 2026-10-15 | |
| quantumswap | Base | 93.2 | a2a, mcp | attested | 2026-10-15 | |
| sukmaxs | Base | 93.2 | a2a, mcp | attested | 2026-10-15 | |
| yieldflow | Base | 93.2 | a2a, mcp | attested | 2026-10-15 | |
| Veneposa Price Oracle Agent | Base | 92.5 | a2a | attested | 2026-10-15 | |
| Fretchen AI Assistant (LLM) Service | Base | 92.0 | openapi | attested | 2026-10-15 | |
| Fretchen AI Image Generation Service | Base | 92.0 | openapi | attested | 2026-10-15 | |
| Fretchen Web Access Service | Base | 92.0 | openapi | attested | 2026-10-15 | |
| nexusnode | Base | 92.0 | a2a, mcp | attested | 2026-10-15 |
How a rating is made
Four things, 100 points
- Reachability, 35. Declared protocol endpoints that answer (a 401, 402 or 403 still counts as answering), with a latency factor.
- Protocol conformance, 35. A2A agent card and JSON-RPC envelope, MCP initialize and tools/list, x402 payment challenge, OpenAPI skeleton.
- Declared vs actual, 20. Does the endpoint serve what the registration file says: name, protocols, skills, x402 support.
- Metadata, 10. Descriptions, versions and schemas present.
UR-A needs 85+ and every declared protocol endpoint answering. UR-B 70+, UR-C 50+, UR-D below. Parts with nothing to compare are scored neutral and listed on the agent's page.
How we probe
- Read-only. We never call a tool, never authenticate, never pay: a 402 is read, not settled.
- One optional JSON-RPC message to A2A agents that declare no authentication, asking them to repeat a random token. Their own model answers; we only compare the token.
- robots.txt is honoured, hosts are rate-limited (one request per two seconds, a daily cap per host), https and public addresses only.
- Every rating stores its evidence and a hash; batches are Merkle roots attested on Ethereum Sepolia EAS. Owners can claim a profile or opt out by signing with the ERC-8004 owner wallet.
Details and contact: karatum.com/bot. API: /v1/ratings.