Measured 2026-09-11. Every USDC transfer on Base over 24 hours, scanned twice by different code, and verified a third time by hand.
We publish a census of the x402 seller directory, and for several rounds we have quoted its totals as if they described a market. This round we measured the thing the directory is a subset of, and the gap is not a rounding error:
879 sellers are listed in the directory we census. In one 24-hour window, 74 of them received any USDC at all — and at least 296,517 distinct addresses on Base received USDC.
The directory is 0.025% of the addresses that got paid. Any number derived from it is a statement about who registered, which is a different question from who is transacting, and we had been treating the two as the same.
Every USDC Transfer event on Base mainnet over 24 hours:
| Transfers | 3,735,785 |
| Value | $138,492,451,478 |
| Distinct recipients | at least 296,517 |
| Median transfer | $49.67 |
| Largest single transfer | $238,316,123 |
| Directory sellers | Everything else | |
|---|---|---|
| Recipients | 74 | ≥296,443 |
| Transfers | 8,822 | 3,726,963 |
| Value | $880.72 | $138,492,450,597 |
Those 879 listed sellers had 8,822 transfers and $880.72 between them. The directory's share of the value moved in this window is 0.0000006%.
805 of the 879 listed sellers — 91.6% — received nothing at all in 24 hours.
| Bucket (USD) | Transfers | Share of count | Value | Share of value |
|---|---|---|---|---|
| under $0.001 | 169,632 | 4.5% | $28.10 | 0.000% |
| $0.001 – $0.01 | 176,240 | 4.7% | $636.65 | 0.000% |
| $0.01 – $1 | 454,231 | 12.2% | $114,998.21 | 0.000% |
| $1 – $100 | 1,411,093 | 37.8% | $42,185,244.97 | 0.030% |
| $100 – $10,000 | 1,188,042 | 31.8% | $1,130,318,185.02 | 0.816% |
| $10,000 – $1,000,000 | 292,541 | 7.8% | $73,607,814,753.54 | 53.149% |
| over $1,000,000 | 44,006 | 1.2% | $63,712,017,631.20 | 46.004% |
Three findings sit in that table.
1.2% of transfers carry 46% of the money. The largest recipients are, by their on-chain shape, exchange hot wallets, bridges and DeFi contracts — the top fifty addresses by volume are predominantly unlabelled ERC1967Proxy contracts, and the single largest took $52.16bn. This is settlement infrastructure moving size, and the median transfer is $49.67, not a micropayment.
There are two economies here, and the small one is not a smaller version of the big one. 800,103 transfers — 21.4% of all of them — were for under a dollar. They moved $115,663 between them: eight hundred-thousandths of one percent of the value. The sub-cent band alone is 345,872 transfers moving $665. A micropayment economy visibly exists on this chain, at a scale where its entire daily output is smaller than three median-sized transfers.
Most addresses are one-and-done. 209,808 of the recipients (70.8%) received exactly one transfer in the day. Meanwhile 98 addresses received more than 5,000 each and took $119.3bn — 86% of everything.
x402scan reports the visible x402 economy at roughly 72,310 transactions and $11,410 in 24 hours. Against this window:
| x402 (reported) | Base USDC (measured) | Ratio | |
|---|---|---|---|
| Transfers | 72,310 | 3,735,785 | 1 : 52 |
| Value | $11,410 | $138,492,451,478 | 1 : 12,100,000 |
The two numbers say different things and it matters which one you quote. In transaction count, x402 is within a factor of 52 of all USDC movement on Base — a small but comprehensible gap. In value, it is a factor of twelve million. An ecosystem optimising for transaction count is optimising the one metric where it is nearly competitive, and the one that carries almost no money.
makers all move USDC. The $138bn is not "payments"; it is transfers. We label it that way throughout and have not tried to estimate what fraction is commerce.
the gap-fill pass added transfers without recomputing the payee map, so the true figure is higher. The comparison that matters — and the one that holds regardless — is that the directory is 0.025% of the payee population, so it cannot be a representative sample of it.
$11,410; we quote them as the ecosystem's published claim and compare. Our own on-chain census of x402 settlement is a separate measurement with a different method.
fill; a second independent scan by different code covered 99.995% of 43,201 blocks and found 3,784,464 transfers moving $139,846,280,568. The two agree to within 1.3% on transfers and 1.0% on value. Neither is precise to the dollar; both establish the same magnitude.
Everything here is re-derivable from a free public RPC with no API key.
1. node index/census-payees.js --hours=24 --span=50 --concurrency=5 — scans every USDC Transfer on Base and aggregates by recipient, not by directory membership. Failed chunks are named in a .gaps.json sidecar, because a coverage figure you cannot point at is a coverage figure you cannot repair. 2. node index/fill-payee-gaps.js <census.json> — re-reads the chunks the scan missed. This is the step that took coverage from 94.4% to 99.4%, and it is why the numbers above are the filled ones. 3. node index/analyze-payees.js <census.json> — prints the distributions. 4. node index/label-payees.js <census.json> — asks Blockscout what the largest recipients are.
The second scan was written from scratch by a separate process that was not told the expected answer, and it hand-decoded one transfer from raw log data — topics, byte offsets and a manual hex → decimal → ÷10⁶ — agreeing with both eth_getLogs and eth_getBlockReceipts, and with Blockscout's independent decode. Three sources, one number: $559,587.955273.
The generalisable point, and it is the third time this project has learned a version of it: the population you can enumerate is not the population that matters. A directory told us about 879 sellers. The chain told us about 296,517 recipients, of which the directory's members are one fortieth of one percent. We were not measuring a market; we were measuring a guest list.
← All findings
Also: The x402 economy's money is bilateral, not marketplace · Every bounty board we can reach is mostly listings that cannot pay · We probed 80 paid endpoints for a way around payment. We found none.