Historical: BNB Chain rows from before our 2026-07-28 scope change are retained for reproducibility. Current scope is Ethereum mainnet, Base, and Arbitrum One. Three of the six rows below (ethereum, base, arbitrum) are the current-scope census; the three BNB rows (bnb_standard, bnb_standard_late, bnb_brc8004_fork) are the historical slice kept intact so prior citations resolve to the same numbers.
Public ERC-8004 totals published by third-party explorers and press mentions disagree with each other by orders of magnitude in this window; this census publishes its own per-chain rows and its own method rather than adopting any of them. None of those external figures answer the question a builder or funder actually asks: how many distinct operators are behind those registrations, and on which chain do they live? This dataset is a six-row measurement of that. Same registry contract (0x8004A169FB4a3325136EB29fA0ceB6D2e539a432) on Ethereum, Base, Arbitrum One (current scope), and BNB Smart Chain (historical); four separate eth_getLogs re-scans against Alchemy archive RPCs; one checkpoint clock at 2026-09-17T04:31Z UTC (per-chain block anchors inside the table); three whole-history censuses (Ethereum, Base, Arbitrum, 100% tx.from coverage) alongside one BSC whole-history raw-count row and two disjoint BSC cluster samples reported as lower bounds with Wilson CI95s. Numbers from a census and numbers from a sample sit in separate columns so no reader slots them side by side. Seven named claim traps are enforced in the schema and re-flagged in GRADE.md — read that file before citing any single row in isolation.
https://api.onchainagentintel.io/v1/intel/agent/{token_id}?chain={chain}, using the x402 payment scheme; discovery is at /.well-known/x402.json. The offer is additive to this CC BY 4.0 dataset — the dataset itself is free to reuse; the paid path buys live per-agent detail this snapshot does not carry.
Every value below is verbatim from dataset.csv.
Column order matches the CSV emission order. Empty cells are structurally
empty (e.g. Wilson CI95 columns are undefined on census rows — a census is a
point measurement, not a sample). Read the distinct_senders_is_lower_bound
column together with distinct_senders: on rows where the bound
is true, the sender count is a lower bound from a cluster
sample, not an exact count. See
DATA-DICTIONARY.md for full
column semantics.
| chain | registry_address | method | window_start_block | window_end_block | window_start_utc | window_end_utc | registrations | distinct_senders | distinct_senders_is_lower_bound | top1_share | top10_share | top1_share_ci95_low | top1_share_ci95_high | top10_share_ci95_low | top10_share_ci95_high | hhi | sample_seed | n_resolved | notes |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| ethereum | 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 | full_rescan | 24339871 | 25994481 | 2026-01-29T10:20:23Z | 2026-09-17T03:20:47Z | 50820 | 11352 | false | 0.049193 | 0.182487 | 50820 | |||||||
| base | 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 | full_rescan | 41663783 | 51415064 | 2026-02-03T11:08:33Z | 2026-09-17T04:31:15Z | 88500 | 29289 | false | 0.115831 | 0.272124 | 88500 | |||||||
| arbitrum | 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 | full_rescan | 428895443 | 505982474 | 2026-02-05T13:16:00Z | 2026-09-17T04:31:28Z | 1502 | 142 | false | 0.181758 | 0.391478 | 1502 | small_n_caveat | ||||||
| bnb_standard | 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 | full_raw_count_backfill | 79027268 | 122349961 | 352415 | 1289 | true | 0.096667 | 0.142 | 0.082726 | 0.112668 | 0.125249 | 0.16058 | 0.010379 | 659 | 1500 | early_era_only;cluster_sample_uniform_tuple;raw_count_is_whole_history | ||
| bnb_standard_late | 0x8004A169FB4a3325136EB29fA0ceB6D2e539a432 | cluster_sample_windowed | 104927268 | 122384655 | 1592 | 1117 | true | 0.0025 | 0.025 | 0.000851 | 0.007325 | 0.017567 | 0.035465 | 0.000963 | 660 | 1200 | late_era_only;cluster_sample_windowed | ||
| bnb_brc8004_fork | 0xfA09B3397fAC75424422C4D28b1729E3D4f659D7 | cluster_sample_windowed | 78864633 | 122424322 | 0 | 0 | true | 0 | 0 | 0 | 0 | 0 | 0 | 661 | 0 | fork_effectively_empty |
| File | Type | Size | SHA-256 |
|---|---|---|---|
| dataset.csv | text/csv | 2,028 B | 678602836b8d10322db5da091017d4c5e42648d6e95fc3836ca0338a61f7870a |
| dataset.json | application/json | 5,478 B | 7639c6162935d3707afea2aeb358940c65b26c4191560640fb1da5b326f298bf |
| dataset.jsonld | application/ld+json | 7,935 B | 0d62be9c2087c5445442bf88e9c1ad653083a1b1b1c550a3c44ee89b0540319c |
| PROVENANCE.json | application/json | 13,824 B | 8513936fcf08676e4b47094071576ca77932e909ac57cca90f52feca96700323 |
| SHA256SUMS | text/plain | 320 B | |
| File | Purpose |
|---|---|
| DATA-DICTIONARY.md | Column-by-column reader's map (20 columns). |
| METHOD.md | Per-row window, RPC, seed, and reconciliation history. |
| GRADE.md | Self-grade against the seven claim traps. |
Follow-up measurement: ERC-8004 Arbitrum One cohort census (public RPC) — 2026-10-07. First public-RPC-reproducible full-history scan of the Arbitrum IdentityRegistry + ReputationRegistry (1,604 agents from 1,000 owners; +6.79% registrations over this freeze's 1,502). Narrative companion: 1,604 ERC-8004 agents on Arbitrum, 108 with on-chain reputation — first public-RPC census.
If you need a stable columnar bulk-extract of our ERC-8004 datasets (chain-liveness and commerce-backed) with weekly Parquet delivery and a semver schema guarantee, see the dataset-licence schema & changelog (v1.0.0). Free CC BY 4.0 content on this page is unaffected.
Onchain Agent Intel (2026). ERC-8004 IdentityRegistry census across Ethereum, Base, and Arbitrum One (current scope), with historical BNB Smart Chain rows retained for reproducibility (2026-09-17). CC BY 4.0. https://onchainagentintel.io/data/erc-8004-four-chain-census-2026-09
This dataset is published under Creative Commons Attribution 4.0 International (CC BY 4.0). Free to reuse, remix, and redistribute — including commercially — with attribution.