← Home · Data hub · Commerce-backed cohort · How many agents?

Canonical live answer · refreshed daily

Can you trust an ERC-8004 reputation score?

Live measurement across Base + Ethereum; refreshed on every visit.

Short answer: not without additional filtering. The ERC-8004 ReputationRegistry (0x8004BAa17C55a88189AE136b182e5fdA19dE9b63) is a permissionless event log with no anti-Sybil design at the contract level. Of the 25,618 ERC-8004 agents On-Chain Agent Intel indexes across Base and Ethereum, 29,128 have any on-chain feedback row and only 44 carry any feedback tied to a real paid on-chain job (commerce-backed — the got-paid subset). Trust filter, not raw score. Independent measurement by Imperial College (arXiv:2606.26028, CC BY 4.0) reports the same registry “cannot function as a trust signal.”

Why the raw score is not a trust signal

“Can you trust the score?” has four load-bearing cuts. Each is labelled with what it does and does not measure.

Layer 1 — the registry is a permissionless event log

The ERC-8004 ReputationRegistry (0x8004BAa17C55a88189AE136b182e5fdA19dE9b63) accepts a submitFeedback(agentId, tag1, tag2, uri) call from any caller for any agent. There is no whitelist of trusted evaluators, no on-chain proof of a paid interaction between the caller and the agent, and no cost to posting a row beyond gas. A single client wallet with $1 of Base ETH can post an unlimited number of rows for its own address or for any agent it wants to boost or attack. Read the raw feedback count as event volume, not as reputation.

Layer 2 — the unfiltered count (upper bound)

On-Chain Agent Intel has indexed 277,710 non-revoked feedback rows on the ReputationRegistry across Base and Ethereum, touching 29,128 distinct agents. This is the upper bound on “agents with any reputation.” It includes every row a client wallet posted — self-endorsements, cross-endorsements between colluding addresses, single-address booster loops, and genuine peer feedback — with no way from the contract state alone to tell them apart.

Layer 3 — the commerce-backed subset (the trust signal)

Only 979 of those feedback rows tie back to a real paid on-chain job (commerce-backed), touching 44 distinct agents (44 on Base, 0 on Ethereum) authored by 109 distinct client addresses. The predicate: the feedback row's feedbackURI matches a Virtuals ACP job outcome pattern, OR its transaction was emitted from an allowlisted ERC-8183 hook contract, OR it carries a booster tag but the caller has an on-chain payment history to the agent. Canonical definition: smartcontractauditpro/commerce_backed.py, one file, one predicate, used identically by the free /v1/public/stats surface, the paid /v1/intel/* endpoints, and this page. Trust filter, not raw score.

Layer 4 — what independent measurement says

Xiong et al. (arXiv:2606.26028, Imperial College London, CC BY 4.0, v2 2026-07-08) measured the same registry on a frozen 2026-05-13 snapshot and reports that the ReputationRegistry “cannot function as a trust signal” in its current deployed state, citing the same design gaps (no anti-Sybil, no proof-of-interaction, permissionless posting). Their independent finding lines up with what our continuous index measures: the raw feedback count is not the reputation, and the got-paid subset is small. See our full reconciliation at Can Trustless Agents Be Trusted? (frozen May vs live August).

Method

Registry. ERC-8004 ReputationRegistry at 0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 — the same address on Base (eip155:8453) and Ethereum mainnet (eip155:1). Every non-revoked feedback row is one FeedbackSubmitted event.

Commerce-backed predicate. A feedback row is commerce-backed if the transaction was emitted from an allowlisted ERC-8183 hook contract, OR its feedbackURI matches a Virtuals ACP job outcome pattern, OR its tag+client-address combo passes the booster+payer test. Canonical source of truth: smartcontractauditpro/commerce_backed.py. The predicate constants live in that one file so this page's numbers, the paid /v1/intel/* answers, the free commerce-backed cohort hub, and the commerce-backed dataset cannot drift from one another.

Cadence. The erc8004_feedback_indexer keeps the local reputation_feedback and reputation_agent_summary tables current; aggregate counts are re-derived on every visit via /v1/public/stats.

Limitations

Cite this answer

Scoped claim sentence. Scope: ERC-8004 ReputationRegistry rows on the Base and Ethereum registry (0x8004BAa17C55a88189AE136b182e5fdA19dE9b63), refreshed daily. On the Base and Ethereum registry, On-Chain Agent Intel indexes 277,710 non-revoked feedback rows across 29,128 distinct agents, of which 44 agents carry any commerce-backed row (feedback tied to a real paid on-chain job under the predicate at smartcontractauditpro/commerce_backed.py).

License. Answer prose and every rendered number published under CC BY 4.0 — free to reuse, including in commercial work, provided you attribute “On-Chain Agent Intel” and link back to https://onchainagentintel.io/can-you-trust-an-erc-8004-reputation-score. Imperial College quote reused under CC BY 4.0 with attribution to Xiong et al., arXiv:2606.26028.

Machine-readable source. Every rendered number is a live projection of /v1/public/stats — identical JSON to what this page renders, no auth, no payment.

Also useful: Commerce-backed cohort hub · Commerce-backed dataset (CC BY 4.0) · Imperial reconciliation · The trust layer · How many agents? · All datasets