The headline finding: on Base, 65.5% of rated agents have at least 90% of their feedback written by a single address. Eleven addresses — 1.5% of reviewers — produce 66.7% of all feedback on the chain. The single busiest reviewer rated one agent 6,688 times in 30 days. None of that requires a clustering heuristic to see; it is just counting.
Why we re-measured something already published
The study we cited — Can Trustless Agents Be Trusted? (arXiv 2606.26028) — is careful work, and its data ends 13 May 2026. That is three months ago. A measurement of a fast-moving ecosystem has a shelf life, and the obvious question — has it got better? — is not answerable by re-reading the paper. It is only answerable by going and looking.
So we did. The registries are public. The method below uses no API key, no paid indexer and no dependencies beyond the Python standard library, which means you can check every number in this post yourself in a few minutes.
What we measured, exactly
ERC-8004 deploys the same contracts at the same addresses on every chain. We confirmed both are
live via eth_getCode on all three networks:
- IdentityRegistry —
0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 - ReputationRegistry —
0x8004BAa17C55a88189AE136b182e5fdA19dE9b63
Feedback arrives as one event, topic
0x6a4a61743519c9d648a14e6493f47dbe3ff1aa29e7785c96c8326a205e58febc, where
topics[1] is the agent ID and topics[2] is the reviewer's address. We
pulled every such event in a 30-day window ending 22 August 2026.
Base: 39,288 feedback records, 756 reviewers, 507 rated agents
Base is where the activity is. Over blocks 49,026,094–50,326,094:
- The single busiest reviewer wrote 9,382 records — 23.9% of everything.
- The top 10 reviewers wrote 88.3%. The top 50 wrote 97.6%.
- The median reviewer wrote exactly one record.
- 594 of 756 reviewers (78.6%) wrote exactly one record, and together they account for 1.51% of all feedback.
That distribution alone should give a consumer pause. But the shape of the concentration is more telling than its degree.
Eight of the ten busiest reviewers rate exactly one agent
Here are the top ten reviewers on Base, with how many distinct agents each one has ever rated:
0xcf2d63…— 9,382 records across 36 agents0x561f2f…— 6,688 records across 1 agent0xe2c723…— 3,812 records across 1 agent0x6a8e76…— 3,641 records across 1 agent0x098f70…— 3,266 records across 1 agent0x39484e…— 3,108 records across 1 agent0x6b661b…— 1,424 records across 1 agent0x6b51d0…— 1,309 records across 1 agent0x3c27b9…— 1,070 records across 1 agent0x103040…— 997 records across 34 agents
An address that submits 6,688 reviews and has only ever reviewed one counterparty is not reviewing. Whatever that behaviour is, "independent feedback about a service provider" is not a natural description of it.
Counting addresses with at least 100 records all aimed at a single agent: 11 addresses — 1.5% of reviewers — account for 26,188 of 39,288 records, or 66.7% of all feedback on Base.
The consumer's view: whose opinion are you actually reading?
Concentration among reviewers only matters if it lands on the agents a consumer would look up. It does. Looking at it from the agent side:
332 of 507 rated agents on Base — 65.5% — have at least 90% of their feedback written by one single address.
If an autonomous agent queries this registry to decide whether a counterparty is trustworthy, then two times out of three the answer it receives is one address's opinion, repeated. The record looks like a track record. It is closer to a signature.
Ethereum: the activity has left
The same 30-day window on Ethereum (blocks 25,598,031–25,814,031) returned 51 feedback records from 12 reviewers across 14 agents, with the busiest single reviewer accounting for 62.7% of them.
Base carried 770× the feedback volume of Ethereum over the same period. Whatever ERC-8004 is becoming, it is becoming it on Base.
What we did not measure, and why we are saying so
The study's headline numbers — 73.5%, 59.2% and 90.6% of reviewers showing coordinated Sybil behaviour — come from a shared-first-funder graph: cluster reviewers by the address that first sent them native tokens, and treat a shared funding root as a shared campaign. It is a good signal.
We did not reproduce it, and we are not publishing a Sybil percentage. Reproducing it requires per-address funding history for every reviewer. Public RPC endpoints cannot answer "who first funded this address," and the block explorer APIs that can now require a paid key. We got partway, found that the obvious endpoint returns balance deltas that include gas and internal transfers rather than clean first-funding events, and stopped rather than publish a number resting on a shortcut.
We also could not collect BNB Smart Chain. Every public BSC endpoint we tried caps
eth_getLogs ranges below what a 30-day sweep needs, and returned
limit exceeded on 20 of the windows. Partial data would have understated the counts,
so we report no BSC figures at all rather than a quiet undercount.
This matters more than it might seem. The numbers we do publish need no heuristic, no clustering threshold and no judgement call — they are counts of public events. That is precisely why we are comfortable putting them up, and why we are not putting up the other one.
Check our work
Two scripts, Python 3 standard library only, no API key:
- collect.py — pulls feedback events from a chain
- analyze.py — computes every figure above
- README.txt — contracts, event topic, exact commands
The Base run is 145 RPC calls and takes a few minutes:
python3 collect.py base https://mainnet.base.org 1300000 9000
python3 analyze.py base_feedback.json
If you get different numbers, we would like to know. The window moves with the chain head, so yours will not match ours exactly — but the shape should.
What this does and does not prove
It does not prove fraud. An agent developer seeding its own feedback, a load test, an automated pipeline writing a record per completed job — several innocent explanations produce these patterns, and we cannot distinguish between them from event logs alone.
What it does prove is narrower and sufficient: the ERC-8004 Reputation Registry, read naively today, does not report the thing a consumer would assume it reports. A count of feedback records is not a count of independent opinions. Two-thirds of the time on Base, it is one address talking.
The specification, to its credit, never promised otherwise — it deliberately delegates filtering and aggregation to off-chain systems and warns that unfiltered aggregation is Sybil-prone. The gap is not in the standard. The gap is that the layer the standard expects still has not arrived, three months after the last measurement said the same thing.
The same discipline, again
We keep arriving at one question in unrelated domains: what is this number actually grounded in?
In patent due diligence, a high similarity score between a claim and a product feels like evidence and is not. In database security, a query returning zero rows looked like proof nothing had happened, until we proved the query itself was silently failing to scan. And here, 39,288 feedback records look like a market's collective judgement until you count the authors and find eleven of them.
Same failure in three costumes: a number that is present, plausible and unearned. We published the code above for exactly that reason — a measurement you cannot check is just another number to take on faith, and this post would be self-refuting if we asked for that.