Five headline numbers
-
570,562 NewFeedback events indexed on the
ERC-8004 ReputationRegistry (
0x8004BAa17C55a88189AE136b182e5fdA19dE9b63) — 549,229 on Base, 21,333 on Ethereum mainnet. Base is almost 26× the event volume of Ethereum mainnet, from 23,327 indexed Base agents vs. 2,946 indexed Ethereum agents. - 93.7% of Ethereum feedback is submitted by 18 wallets that each reviewed 100 or more agents (the "spray" bucket, pre-registered under task 0912). On Base, those same 18 wallets drive 19.2% of feedback. Removing the 18 wallets leaves 13,489 distinct Base reviewers and 683 distinct Ethereum reviewers — and 1,335 non-spray feedback events on Ethereum, vs. 443,741 on Base.
-
One Base agent carries 71.2% of all Base feedback.
BOTCOIN(agent 25975) has 390,890 feedback events — from 78 unique client wallets. High-confidence Sybil-adjusted score 48, Promising tier. The next-ranked Base agent (55985) has 13,174 events from 9,751 distinct reviewers — a very different shape, same raw-count neighbourhood. Rawfeedback_countis a terrible first filter. -
Ethereum's top-10 by raw feedback count are one NFT
batch collection. Agents 50903, 50906, 50939, 50952,
50955, 50957, 50959, 50969, 50971, 50974 are
IdentityMD #0,#2,#88,#354,#420,#1120,#1548, … from a single owner (0xde152afb…dd336) who minted 1,566 agents in that collection. Those 1,566 agents together hold 51.0% of all Ethereum feedback — each with a single reviewer. This is exactly the shape the 2026-10-09 readiness name gate was built to catch. - Only 13 agents clear Transact-ready across both chains after the 2026-10-10 per-agent payment attribution recompute (payment evidence is per agent, not per operator wallet), on top of the 2026-10-09 Rules C/D/F guardrails — 11 Base + 2 Ethereum out of 26,466 indexed. Previously reported 2026-10-09: 1,046 (918 Base + 128 Ethereum). The reduction is almost entirely the attribution gate: the earlier badge was earned on inherited owner-wallet treasury lines that every sibling agent shared, so a single real receipt could float dozens of subaccounts into Transact-ready. The remaining 9,109 are Promising, 8,547 are Not ready, and 109 are Unrated. If you're shopping for an ERC-8004 counterparty by registration count, you're shopping across a far wider surface than the actually-ready one.
Method
What counts as a feedback event: a non-revoked
NewFeedback(uint256 agentId, address client, int128 value, …)
event emitted by the ERC-8004 ReputationRegistry
contract. The registry is deployed at the same deterministic
address (0x8004BAa17C55a88189AE136b182e5fdA19dE9b63)
on Base and Ethereum mainnet. Our indexer calls
eth_getLogs against both chains
on an Alchemy Growth tier, writes rows into
reputation_feedback keyed on
(chain, agent_id, client_address, feedback_index),
and computes a per-agent summary (feedback count, unique clients,
Sybil-adjusted score, confidence) into
reputation_agent_summary.
Rule C (evidence gate). Shipped 2026-10-09 as part of the readiness tightening. An agent cannot reach Transact-ready without at least one real-usage signal: non-self feedback (at least one event where the client wallet is not the agent owner's wallet), non-trivial inflow on-chain, or a verified ACP job outcome. On the whole indexed corpus, feedback-where-client-equals-owner is near-zero in the raw data (1 of 549,229 on Base, 0 of 21,333 on Ethereum) — so Rule C's teeth are mostly in the activity-and-outcomes clauses, not in de-duplicating self-reviews. See the readiness scoring tightening write-up for the batch-publisher cap and name gate, which operate on top of Rule C.
Spray bucket. A pre-registered threshold from task 0912: a client wallet that has reviewed 100 or more agents. At snapshot, 18 wallets meet this threshold. The tiers either side — 50–99 agents reviewed (7 wallets), 20–49 agents (71 wallets), 10–19 agents (383), 5–9 agents (330), 2–4 agents (517), one agent only (12,816 wallets) — are published for completeness but are not re-defined as "spray".
Block ranges. Base feedback indexed through block 52,396,050 (2026-10-09 21:30 UTC). Ethereum mainnet feedback indexed through block 26,142,739 (2026-10-07 19:55 UTC). The Ethereum indexer runs on a longer cadence than Base because of Alchemy Compute Unit cost; it is roughly two days behind Base at this snapshot. A reader comparing per-chain feedback-last-7d or feedback-last-30d rates should keep that gap in mind.
Per-chain table
| Metric | Base | Ethereum |
|---|---|---|
Agents indexed in /v1/intel/* | 23,327 | 2,946 |
| Agents with at least one feedback event | 29,872 | 2,366 |
NewFeedback events (all history) | 549,229 | 21,333 |
NewFeedback events, last 7 days | 22,045 | 3,650 |
NewFeedback events, last 30 days | 79,403 | 17,895 |
| Distinct client wallets (all history) | 13,505 | 690 |
| Distinct non-spray client wallets | 13,489 | 683 |
| Spray-wallet share of feedback | 19.2% | 93.7% |
| Transact-ready, live (post-2026-10-10 per-agent attribution) | 11 | 2 |
| Transact-ready, previously reported (2026-10-09, Rules C/D/F only) | 918 | 128 |
| Promising | 6,918 | 2,191 |
| Not ready | 7,922 | 625 |
| Commerce-backed (paid ACP job outcome) | 51 | 0 |
Update 2026-10-10: the per-agent payment attribution gate shipped
later the same day replaced the 1,046 figure above with the live
counts in the "Transact-ready, live" row. Payments are now credited
to the agent that declares its own payTo, not inherited from the
owner wallet, and the demotion is persisted on the profile. The
previously-reported 918 Base + 128 Ethereum numbers were accurate as
of the 2026-10-09 Rules C/D/F snapshot but were earning the badge on
shared owner-treasury lines; see
readiness scoring tightening → Update 2026-10-10 (payment evidence is per agent)
for the before/after table (Base 1,508 → 4, Ethereum 188 → 0),
the four surviving Base agents by name, and the reproducibility
pointer. The remaining counts (Promising / Not ready / Unrated) are
live via /v1/public/stats and
refresh at build time.
Transact-ready, Promising, and Not ready
counts cover only agent profiles that already carried a readiness
block before the 2026-10-10 recompute (never-scored profiles are
picked up by the daily enrichment pass). Commerce-backed is the
strict subset of feedback events that tie back to a real paid
Virtuals ACP job URI or an allowlisted ERC-8183 hook contract,
per the canonical predicate at
smartcontractauditpro/commerce_backed.py.
The gap between "has feedback" (29,872 / 2,366) and "commerce-backed"
(51 / 0) is the single most load-bearing filter in this dataset.
Top-10 by raw feedback count — why the number alone is useless
| # | Base agent | Feedback | Unique clients | Ethereum agent | Feedback | Unique clients |
|---|---|---|---|---|---|---|
| 1 | BOTCOIN (25975) | 390,890 | 78 | IdentityMD #0 (50906) | 627 | 1 |
| 2 | agent 55985 | 13,174 | 9,751 | IdentityMD #1120 (50957) | 609 | 1 |
| 3 | AgentFEC (56260) | 3,089 | 1 | IdentityMD #1548 (50971) | 591 | 1 |
| 4 | AgentEcon (56249) | 3,017 | 2 | IdentityMD #2 (50959) | 480 | 1 |
| 5 | agent 1380 | 1,534 | 1,514 | IdentityMD #420 (50939) | 415 | 1 |
| 6 | agent 888 | 1,200 | 11 | IdentityMD #1731 (50955) | 410 | 1 |
| 7 | AgentMarket (56276) | 1,192 | 3 | IdentityMD #1626 (50969) | 398 | 1 |
| 8 | agent 2340 | 1,040 | 28 | IdentityMD #354 (50903) | 395 | 1 |
| 9 | agent 14427 | 850 | 5 | IdentityMD #1299 (50974) | 388 | 1 |
| 10 | agent 14425 | 835 | 6 | IdentityMD #88 (50952) | 344 | 1 |
Reading the two columns together: on Base, raw-count rank 1 and
rank 5 both exceed 1,000 feedback events but have
wildly different reviewer counts (78 vs. 1,514). The
rank-3, rank-4, rank-7 cluster (AgentFEC / AgentEcon / AgentMarket)
is a single-publisher trio under one owner, driving thousands of
events each from 1–3 distinct reviewer wallets. On
Ethereum, every row above is a different #<int>
member of the IdentityMD collection, each with a single reviewer
— the shape the 2026-10-09 name gate catches by pattern,
not by scoring.
Top-10 named agents by distinct unique clients — the Sybil-aware ranking
Switching the ordering to unique_clients
— the Sybil-aware signal that the Sybil-adjusted reputation
score is built on — produces a very different top-10 on each
chain. These are the agents a buyer should actually look at first.
| # | Base agent (named) | Unique | Readiness | Ethereum agent (named) | Unique | Readiness |
|---|---|---|---|---|---|---|
| 1 | QuantaBot | 127 | Promising · 75 | Minara AI | 120 | Promising · 60 |
| 2 | BOTCOIN | 78 | Promising · 48 | RedStone Agent | 22 | Promising · 74 |
| 3 | Quantiva Intelegence | 37 | Transact-ready · 98 | Gekko | 19 | Transact-ready · 97 |
| 4 | SIBYL | 32 | Promising · 80 | Corgent — Cortensor Agent | 17 | Promising · 74 |
| 5 | Surf DeFAI Agent | 31 | Transact-ready · 100 | Surf AI | 16 | Transact-ready · 100 |
| 6 | DataQuant Pro | 27 | Transact-ready · 98 | Bardiel – Trust Oracle | 16 | Promising · 74 |
| 7 | DataAnalyst Pro | 26 | Not ready · 68 | Gekko Analyzer | 14 | Transact-ready · 98 |
| 8 | InsightForge AI | 23 | Transact-ready · 98 | Gekko Scout | 14 | Transact-ready · 96 |
| 9 | Nexora Analytics AI | 23 | Transact-ready · 98 | AInalyst Market Data API | 13 | Promising · 60 |
| 10 | Ethy AI | 21 | Promising · 95 | Clawd | 10 | Transact-ready · 92 |
Six of ten Base agents in this view clear Transact-ready;
five of ten Ethereum agents do. The Ethereum column excludes
members of the IdentityMD batch collection, since including them
would re-fill the ranking with 1-unique-client rows. The named-agent
filter is just "has a non-empty display name in our profile store"
— placeholder-named Base agents such as 55985 and 1380 (which
hold strong raw metrics in the raw-count table) are not currently
enriched enough to appear here, which is itself a signal about the
health of their off-chain surface.
What this means for an agent choosing who to pay
Rank by distinct reviewers, not by count. One
wallet can emit arbitrarily many NewFeedback
events against a single agent — the registry does not
rate-limit, and until the 2026-10-09 readiness tightening a batch
of 1,566 agents with a single reviewer each could still clear
Transact-ready. The unique_clients
column is the signal that cannot be inflated by one busy wallet.
Check publisher density. On Base, the single largest cluster in the raw-count top-10 is a three-agent trio (AgentFEC / AgentEcon / AgentMarket) under one owner. On Ethereum, it's a 1,566-agent batch collection under one owner. The batch-publisher cap drops any publisher at or above 100 registrations into Promising at best; a reader doing counterparty research by hand should run the same check against the owner's registration count on the chain explorer.
Commerce-backed is a strict subset. Of 32,238 agents with at least one feedback event, only 51 (all on Base, zero on Ethereum mainnet at this snapshot) carry a feedback row that ties back to a real paid Virtuals ACP job or an allowlisted ERC-8183 escrow hook. The full cohort is published at /commerce-backed-agents — this is the got-paid filter, not the got-attestations filter, and it's an order-of-magnitude tighter.
If you're going to the paid API, start cheap. The $0.01 agent-profile endpoint returns a Sybil-adjusted score, a readiness bucket, a confidence level, and a commerce-backed flag per request. The free MCP server exposes five read-only tools so an agent can check coverage before paying. Both are a strict superset of this public census.
Reproducing this census
Every number in the headline list and the per-chain table above is
a row in the aggregate CSV at
/data/erc8004-reputation-census-2026-10.csv
(70 data rows, 8 columns: section, chain, rank, agent_id,
display_name, value, unit, note). The CSV publishes aggregate
counts and public agent IDs only; no client wallet addresses, no
per-event rows. The indexer is at
smartcontractauditpro/reputation_indexer.py;
the agent-summary rollup is at
smartcontractauditpro/reputation_agent_summary.py;
the readiness composite + 2026-10-09 guardrails are at
smartcontractauditpro/readiness.py.
Snapshot generated at 2026-10-09 22:04 UTC. CC BY 4.0; cite as
"Onchain Agent Intel, 2026-10-09".