Sato Hub
payment rail

x402 payment rail

What one unit is, what it costs to enter, and what we can observe onchain.

  • Week2026-W42
  • Updated2026-10-12
Live·Updated

19,204 transactions were sent by known x402 facilitator keys on Solana on 2026-10-12 — the largest of 13 chains, each counted separately (an upper bound, not screened for self-payments).

How measured · For every catalogued x402 facilitator key, the transactions it sent in the last complete UTC day (on EVM chains its nonce at the last block before each UTC midnight, end minus start; on Solana its fee-payer signatures in that day), summed per chain over the operators not held from public figures — an upper bound on settlements, not screened for self-payments. The last complete UTC day.

One unit is
one settlement (a machine paying a machine for an HTTP request)
Entry costs
n/a — a rail, not a registry

Latest complete day

What the agents did on

Live·UTC day

x402 facilitator throughput

  • Solana52,530
  • Avalanche2
  • Sei2
  • X Layer1
Solana · 14 days

Transactions sent by known facilitator keys — an upper bound, not screened for self-payments. Not every such transaction is an agent paying for something. Held from these figures: Pieverse on BNB Chain; Polygon Facilitator on Polygon; Figment on Solana; FluxA on Base; three.ws on Solana — the readings are exact but are not shown as x402 activity while the evidence behind each hold stands. Some shown readings carry a note about what the sample could not see. An operator is held for a day automatically when, on at least 50 sampled settlements, we are 95% confident that 90% or more of them paid one address — and when a new or sudden reading of 50 or more transactions could not be sampled at all, until it is checked. Reasons and evidence are on /numbers/x402-facilitator-throughput.

Listed x402 resources that answer HTTP 402

  • Base83.3%n=60 · 36,387 listed
  • Solana66.7%n=60 · 636 listed
  • Arbitrumnot enough readingsn=3 · 5 listed
Base % · 14 days

A sample of Bazaar listings probed that day; answering 402 means the endpoint asks for payment, not that anyone paid.

A day counts once it is over in UTC and the daily collector has finished it; today's partial readings never appear here. Each figure is one chain or one operator — none is a total.

What actually settles

Transactions · one day

Transactions · one dayTransactions sent by known x402 payment-processor keys on one UTC day. An upper bound: not screened for self-payments or test traffic.
  • Solana52,530on 2026-10-14
  • Sei6on 2026-10-15
  • Avalanche6on 2026-10-15
  • Robinhood Chain1on 2026-10-15
  • Abstract0on 2026-10-15

Settlements to listed sellers · 7 days

Settlements to listed sellers · 7 daysUSDC transfers to a seller listed in the Coinbase x402 Bazaar. Repeat sellers only keeps a seller with at least three transfers from at least two different payers in the window (Artemis's rule). The share is two exact counts from the same window, divided, never a sample scaled up.
  • Base7 days to 2026-10-12
    All
    288,034
    Repeat sellers only
    286,787
    Share
    99.6%
All x402 readings (107)ShowHide
ReadingChainValueSampleAs of
facilitator txs 1d — AnySpenddailyBasenot measured2026-10-15
facilitator txs 1d — AurraClouddailyBasenot measured2026-10-15
facilitator txs 1d — BitrefilldailyBasenot measured2026-10-15
facilitator txs 1d — CascadedailyBasenot measured2026-10-15
facilitator txs 1d — CodeNutdailyBasenot measured2026-10-15
facilitator txs 1d — CorbitsdailyBasenot measured2026-10-15
facilitator txs 1d — FluxAdailyBasenot measured2026-10-15
facilitator txs 1d — HeuristdailyBasenot measured2026-10-15
facilitator txs 1d — MeridiandailyBasenot measured2026-10-15
facilitator txs 1d — MogamidailyBasenot measured2026-10-15
facilitator txs 1d — OboldailyBasenot measured2026-10-15
facilitator txs 1d — OpenFacilitatordailyBasenot measured2026-10-15
facilitator txs 1d — OpenmiddailyBasenot measured2026-10-15
facilitator txs 1d — OpenX402dailyBasenot measured2026-10-15
facilitator txs 1d — PolymerdailyBasenot measured2026-10-15
facilitator txs 1d — PrimerdailyBasenot measured2026-10-15
facilitator txs 1d — RelAIdailyBasenot measured2026-10-15
facilitator txs 1d — thirdwebdailyBasenot measured2026-10-15
facilitator txs 1d — TreasuredailyBasenot measured2026-10-15
facilitator txs 1d — Ultravioleta DAOdailyBasenot measured2026-10-15
facilitator txs 1d — CodeNutdailySolana02026-10-15
facilitator txs 1d — Virtuals Protocol (ACPX)dailyBasenot measured2026-10-15
facilitator txs 1d — x402 JobsdailyBasenot measured2026-10-15
facilitator txs 1d — x402.rsdailyBasenot measured2026-10-15
facilitator txs 1d — PayAIdailyAvalanche62026-10-15
facilitator txs 1d — DexterdailyAvalanche02026-10-15
facilitator txs 1d — AnySpenddailyAvalanche02026-10-15
facilitator txs 1d — AnySpenddailyAbstract02026-10-15
facilitator txs 1d — OboldailyEthereum02026-10-15
facilitator txs 1d — AnySpenddailyEthereum02026-10-15
facilitator txs 1d — DaydreamsdailyEthereum02026-10-15
facilitator txs 1d — DexterdailyWorld Chain02026-10-15
facilitator txs 1d — PrimerdailyRobinhood Chain12026-10-15
facilitator txs 1d — DexterdailyRobinhood Chain02026-10-15
facilitator txs 1d — AnySpenddailyOptimism02026-10-15
facilitator txs 1d — DexterdailyOptimism02026-10-15
facilitator txs 1d — OpenX402dailyMonad02026-10-15
facilitator txs 1d — PieversedailyMonad02026-10-15
facilitator txs 1d — DexterdailyMonad02026-10-15
facilitator txs 1d — AnySpenddailyBNB Chain02026-10-15
facilitator txs 1d — DexterdailyBNB Chain02026-10-15
facilitator txs 1d — HeuristdailyX Layer02026-10-15
facilitator txs 1d — PieversedailyX Layer02026-10-15
facilitator txs 1d — PayAIdailyX Layer02026-10-15
facilitator txs 1d — Coinbase CDPdailySolana2,6912026-10-15
facilitator txs 1d — PayAIdailySolana1,1352026-10-15
facilitator txs 1d — three.wsdailySolana02026-10-15
facilitator txs 1d — PayAIdailySei62026-10-15
facilitator txs 1d — PrimerdailySKALE Base02026-10-15
facilitator txs 1d — DexterdailySKALE Base02026-10-15
facilitator txs 1d — PayAIdailySKALE Base02026-10-15
facilitator txs 1d — x402.rsdailyPolygon02026-10-15
facilitator txs 1d — thirdwebdailyPolygon02026-10-15
facilitator txs 1d — CorbitsdailyPolygon02026-10-15
facilitator txs 1d — AnySpenddailyPolygon02026-10-15
facilitator txs 1d — DexterdailyPolygon02026-10-15
facilitator txs 1d — PayAIdailyPolygon22026-10-15
facilitator txs 1d — DexterdailySolana7672026-10-15
facilitator txs 1d — AnySpenddailySolana02026-10-15
facilitator txs 1d — x402 JobsdailySolana02026-10-15
facilitator txs 1d — Ultravioleta DAOdailySolana02026-10-15
facilitator txs 1d — RelAIdailySolana02026-10-15
facilitator txs 1d — OpenX402dailySolana02026-10-15
facilitator txs 1d — OpenFacilitatordailySolana12026-10-15
facilitator txs 1d — DaydreamsdailySolana02026-10-15
facilitator txs 1d — CorbitsdailySolana02026-10-15
facilitator txs 1d — BitrefilldailySolana02026-10-15
facilitator txs 1d knowndailyAbstract02026-10-15
facilitator txs 1d knowndailyEthereum02026-10-15
facilitator txs 1d knowndailyWorld Chain02026-10-15
facilitator txs 1d knowndailyRobinhood Chain12026-10-15
facilitator txs 1d knowndailyOptimism02026-10-15
facilitator txs 1d knowndailyMonad02026-10-15
facilitator txs 1d knowndailyX Layer02026-10-15
facilitator txs 1d knowndailySei62026-10-15
facilitator txs 1d knowndailySKALE Base02026-10-15
facilitator txs 1d knowndailyAvalanche62026-10-15
facilitator txs 1d knowndailyArbitrum02026-10-15
facilitator txs 1d knowndailyBasenot measured2026-10-15
facilitator txs 1d — PayAIdailyArbitrum02026-10-15
facilitator txs 1d — DexterdailyArbitrum02026-10-15
facilitator txs 1d — AnySpenddailyArbitrum02026-10-15
facilitator txs 1d — CascadedailySolana02026-10-15
facilitator txs 1d — AurraClouddailySolana02026-10-15
facilitator txs 1d — Coinbase CDPdailyBasenot measured2026-10-15
facilitator txs 1d — PayAIdailyBasenot measured2026-10-15
facilitator txs 1d — QuestflowdailyBasenot measured2026-10-15
facilitator txs 1d — DexterdailyBasenot measured2026-10-15
facilitator txs 1d — DaydreamsdailyBasenot measured2026-10-15
facilitator txs 1d — PieversedailyBasenot measured2026-10-15
facilitator txs 1d — xEchodailyBasenot measured2026-10-15
facilitator txs 1d — 402104 (Load Network)dailyBasenot measured2026-10-15
facilitator txs 1d — FigmentdailySolana47,0942026-10-14
facilitator txs 1d knowndailySolana52,5302026-10-14
By facilitator (sampled senders) — unknown facilitator (0x0f99…afc2)weeklyBase4n=2002026-10-12
gasless usdc attribution rate artemisweeklyBase48.2%n=51312026-10-12
settlement share passing artemisweeklyBase99.6%n=2880342026-10-12
Sellers actually paid (Artemis rule)weeklyBase902of 1,5302026-10-12
Settlements to catalogued sellers (Artemis rule: ≥3 tx from ≥2 payers)weeklyBase286,7872026-10-12
Sellers actually paid (machine noise excluded)weeklyBase808of 1,5302026-10-12
Settlements to catalogued sellers (machine noise excluded)weeklyBase274,3832026-10-12
Sellers actually paidweeklyBase1,229of 1,5302026-10-12
Settlements to catalogued sellers (nominal)weeklyBase288,0342026-10-12
By facilitator (sampled senders) — Coinbase CDPweeklyBase191n=2002026-10-12
By facilitator (sampled senders) — unknown facilitator (other: 2 addresses, < 3 each)weeklyBase3n=2002026-10-12
By facilitator (sampled senders) — Ultravioleta DAOweeklyBase1n=2002026-10-12
By facilitator (sampled senders) — PayAIweeklyBase1n=2002026-10-12

Held from these figures: Pieverse on BNB Chain; Polygon Facilitator on Polygon; Figment on Solana; FluxA on Base; three.ws on Solana — the readings are exact but are not shown as x402 activity while the evidence behind each hold stands. Some shown readings carry a note about what the sample could not see. An operator is held for a day automatically when, on at least 50 sampled settlements, we are 95% confident that 90% or more of them paid one address — and when a new or sudden reading of 50 or more transactions could not be sampled at all, until it is checked. Reasons and evidence are on /numbers/x402-facilitator-throughput.

Trend — settlements to catalogued sellers (nominal), week over week

Base155,164 → 288,034(7 wk, to the week of 2026-10-12)

Gaps in a line are weeks the value was unknown. Chains are never combined.

What we measured

Arbitrum

Resources listed in the Bazaardistinct resource URL listed in the Coinbase Bazaar discovery catalog for this network (mainnet only)
3Proof
Distinct payTo addresses behind the listed resourcesdistinct payTo addresses (first accepts[] entry) across the resource URLs listed in the Coinbase Bazaar for this network (mainnet only)
1Proof
Distinct hosts behind the listed resourcesdistinct URL hostnames across the resource URLs listed in the Coinbase Bazaar for this network (mainnet only)
1Proof
▸ Not enough readings this window (n=3) — 1 reading, not findings
Listed resources that answer HTTP 402percent of sampled catalogued resources that answered HTTP 402 with a parseable payment payload
0n=3 · too small to quoteIndicator
▸ How these were measured
  • A payTo address is a proxy for a seller, not a seller: one operator can use many addresses and one address can serve unrelated hosts. Counts listed registrations, not working endpoints. A different grain from the weekly all-network catalogued_sellers (distinct hosts); never sum the two.
  • Counts listed registrations' hostnames, not working endpoints; subdomains of one operator count separately.
  • A registration, not a seller and not a working endpoint; read concentration beside catalogued_distinct_payto before calling a rise broad.
  • Listed is not selling: of 3 probed — answers 0, open (2xx, no payment gate on this path) 0, gone 0, blocked 0, 5xx 0, timeout/unreachable 0, opaque 402 0, other 3. 0 listed URLs are templates and were not probed. A resource that needs a specific method or body may show as "open" or "other" here; this measures the catalogued URL as listed. Sample 3 < 20: stored, not a finding.

Base

Settlements to catalogued sellers (nominal)USDC transfer to a catalogued x402 seller payTo
288,034Indicator
Settlements to catalogued sellers (Artemis rule: ≥3 tx from ≥2 payers)USDC transfer to a catalogued x402 seller that received >= 3 transfers from >= 2 distinct payers in the window (Artemis–Visa rule)
286,787Inference
Settlements to catalogued sellers (machine noise excluded)USDC transfer to a catalogued x402 seller, EXCLUDING sellers classified as machine noise
274,383Inference
Resources listed in the Bazaardistinct resource URL listed in the Coinbase Bazaar discovery catalog for this network (mainnet only)
31,772Proof
Distinct hosts behind the listed resourcesdistinct URL hostnames across the resource URLs listed in the Coinbase Bazaar for this network (mainnet only)
2,120Proof
Distinct payTo addresses behind the listed resourcesdistinct payTo addresses (first accepts[] entry) across the resource URLs listed in the Coinbase Bazaar for this network (mainnet only)
1,501Proof
Sellers actually paidcatalogued x402 seller payTo that received at least one USDC transfer in the window
80.3%1,229Indicator
Sellers actually paid (Artemis rule)catalogued x402 seller with >= 3 transfers from >= 2 distinct payers in the window (Artemis–Visa rule)
59%902Inference
Sellers actually paid (machine noise excluded)catalogued x402 seller paid at least once, EXCLUDING sellers classified as machine noise
52.8%808Inference
settlement share passing artemispercent of USDC transfers to catalogued x402 sellers whose seller passes the Artemis–Visa rule (>= 3 transfers from >= 2 distinct payers in the window)
0%99.6n=288034Inference
Listed resources that answer HTTP 402percent of sampled catalogued resources that answered HTTP 402 with a parseable payment payload
70.2%84.2n=120Indicator
Previously answering x402 URLs now darkpercent of previously-answering endpoints (catalogued x402 URL that answered HTTP 402 with a parseable PaymentRequirements body in an earlier weekly probe) that did not answer when re-probed this week
143.8%57.5n=40Indicator
gasless usdc attribution rate artemispercent of sampled gasless USDC settlements that are a transfer to a catalogued x402 seller passing the Artemis–Visa rule
0.9%48.2n=5131Inference
Share of gasless USDC attributable to x402percent of sampled gasless USDC settlements attributable to a catalogued x402 seller
0.9%48.2%n=5131Inference
Coinbase CDPBy facilitator (sampled senders)
95.5%191n=200Indicator
unknown facilitator (0x0f99…afc2)By facilitator (sampled senders)
2%4n=200Inference
unknown facilitator (other: 2 addresses, < 3 each)By facilitator (sampled senders)
1.5%3n=200Inference
Ultravioleta DAOBy facilitator (sampled senders)
0.5%1n=200Inference
PayAIBy facilitator (sampled senders)
0.5%1n=200Indicator
▸ How these were measured
  • The sender is not in the curated map (7 of 200 sampled settlements are unattributed). Unknown, not a facilitator we failed to name — it could be a hosted facilitator's unlisted hot key, a self-hosted facilitator, or a seller settling its own payments.
  • Sampled estimate: 2472 of 5131 sampled gasless USDC settlements. A RATE — never multiply it by a population count.
  • A registration, not a seller and not a working endpoint; read concentration beside catalogued_distinct_payto before calling a rise broad.
  • A payTo address is a proxy for a seller, not a seller: one operator can use many addresses and one address can serve unrelated hosts. Counts listed registrations, not working endpoints. A different grain from the weekly all-network catalogued_sellers (distinct hosts); never sum the two.
  • Counts listed registrations' hostnames, not working endpoints; subdomains of one operator count separately.
  • Listed is not selling: of 120 probed — answers 101, open (2xx, no payment gate on this path) 5, gone 9, blocked 3, 5xx 0, timeout/unreachable 0, opaque 402 0, other 2. 813 listed URLs are templates and were not probed. A resource that needs a specific method or body may show as "open" or "other" here; this measures the catalogued URL as listed.
  • A share of transfers to CATALOGUED sellers only; the rule is a published heuristic, not a wash detector. The raw count sits beside it in settled_to_catalogued_seller and is never multiplied by this share.
  • Sampled: 2400 of 302400 blocks (0.79%). This is an estimate, not a count. EIP-3009 marks gasless USDC generally, not x402 specifically, so the denominator is everything gasless — which is why this rate is the honest headline rather than the raw settlement count.
  • Heuristic. Stricter than our own noise rule on breadth (two payers minimum), looser on price (no mean-value floor).
  • A second heuristic beside ours, not a fact: 327 of 1229 paid sellers fail the Artemis rule this window. The nominal row is unchanged and sits beside both.
  • Heuristic. A seller with one automated customer is real revenue to that seller; it is excluded here because the question this row answers is breadth of demand, not existence of it.
  • an endpoint that stops answering may be down, moved, or blocking us — unknown is not dead; 1070 endpoints were eligible, 40 re-probed.
  • A heuristic, not a fact: 421 of 1229 paid sellers (13,651 transfers, $129) were classified as machine noise this window. The nominal row is unchanged and sits beside this one.
  • Out of 1530 catalogued Base payTo addresses. Receiving USDC is evidence of a paying customer, not proof the payment came through x402.
  • A transfer to a seller's payTo address is strong evidence of an x402 payment, not proof of one — the same address can receive ordinary transfers. Base only; x402 also settles on Solana, which no method here can see.
  • Sample share, not a population count. Address → operator mapping from 3 source(s): https://facilitators.x402.watch/, Basescan public name tags 'Coinbase: x402 Facilitator 1' (0xdbdf…0ba6) and 'Coinbase: x402 Facilitator 8' (0x9c09…8738), https://github.com/Merit-Systems/x402scan/blob/131a5d3ca9f71f145b6da4a40334c0b52544194c/packages/external/facilitators/src/facilitators/coinbase.ts. A facilitator submits the transfer; it is not the buyer or the seller.
  • Sample share, not a population count. Address → operator mapping from 2 source(s): https://facilitators.x402.watch/, https://github.com/Merit-Systems/x402scan/blob/131a5d3ca9f71f145b6da4a40334c0b52544194c/packages/external/facilitators/src/facilitators/ultravioletadao.ts. A facilitator submits the transfer; it is not the buyer or the seller.
  • Sample share, not a population count. Address → operator mapping from 3 source(s): https://facilitators.x402.watch/, https://github.com/Merit-Systems/x402scan/blob/131a5d3ca9f71f145b6da4a40334c0b52544194c/packages/external/facilitators/src/facilitators/payai.ts, https://facilitator.payai.network/supported. A facilitator submits the transfer; it is not the buyer or the seller.

eip155:8453

▸ Not enough readings this window (n=1–4) — 6 readings, not findings
price median usdc:searchUSDC per call, as DECLARED in the endpoint's own 402 payload (median across the sellers in this bucket)
1.52n=2 · too small to quoteIndicator
price median usdc:onchain-dataUSDC per call, as DECLARED in the endpoint's own 402 payload (median across the sellers in this bucket)
0.04n=3 · too small to quoteIndicator
price median usdc:otherUSDC per call, as DECLARED in the endpoint's own 402 payload (median across the sellers in this bucket)
0.028n=4 · too small to quoteIndicator
price median usdc:inferenceUSDC per call, as DECLARED in the endpoint's own 402 payload (median across the sellers in this bucket)
0.002n=1 · too small to quoteIndicator
price median usdc:price-feedUSDC per call, as DECLARED in the endpoint's own 402 payload (median across the sellers in this bucket)
0.002n=1 · too small to quoteIndicator
price median usdc:swap-quoteUSDC per call, as DECLARED in the endpoint's own 402 payload (median across the sellers in this bucket)
0.001n=1 · too small to quoteIndicator
▸ How these were measured
  • DECLARED, NOT CHARGED. A 402 payload states what the seller says the next call costs, and `maxAmountRequired` is a ceiling rather than a price — the settled amount can be less. Nobody paid, so nothing here is evidence that paying works or that the seller delivers. Prices in an asset we could not identify as USDC are excluded rather than converted, testnet declarations are excluded rather than compared to mainnet ones, and an endpoint offering two capabilities is counted under both. Median over 2 sellers, below the 20-observation floor this site publishes a statistic on: stored with its count, not presented as a finding.
  • DECLARED, NOT CHARGED. A 402 payload states what the seller says the next call costs, and `maxAmountRequired` is a ceiling rather than a price — the settled amount can be less. Nobody paid, so nothing here is evidence that paying works or that the seller delivers. Prices in an asset we could not identify as USDC are excluded rather than converted, testnet declarations are excluded rather than compared to mainnet ones, and an endpoint offering two capabilities is counted under both. Median over 1 seller, below the 20-observation floor this site publishes a statistic on: stored with its count, not presented as a finding.
  • DECLARED, NOT CHARGED. A 402 payload states what the seller says the next call costs, and `maxAmountRequired` is a ceiling rather than a price — the settled amount can be less. Nobody paid, so nothing here is evidence that paying works or that the seller delivers. Prices in an asset we could not identify as USDC are excluded rather than converted, testnet declarations are excluded rather than compared to mainnet ones, and an endpoint offering two capabilities is counted under both. Median over 3 sellers, below the 20-observation floor this site publishes a statistic on: stored with its count, not presented as a finding.
  • DECLARED, NOT CHARGED. A 402 payload states what the seller says the next call costs, and `maxAmountRequired` is a ceiling rather than a price — the settled amount can be less. Nobody paid, so nothing here is evidence that paying works or that the seller delivers. Prices in an asset we could not identify as USDC are excluded rather than converted, testnet declarations are excluded rather than compared to mainnet ones, and an endpoint offering two capabilities is counted under both. Median over 4 sellers, below the 20-observation floor this site publishes a statistic on: stored with its count, not presented as a finding.

Polygon

▸ Not enough readings this window (n=3) — 1 reading, not findings
Previously answering x402 URLs now darkpercent of previously-answering endpoints (catalogued x402 URL that answered HTTP 402 with a parseable PaymentRequirements body in an earlier weekly probe) that did not answer when re-probed this week
0n=3 · too small to quoteIndicator
▸ How these were measured
  • an endpoint that stops answering may be down, moved, or blocking us — unknown is not dead; 3 endpoints were eligible, 3 re-probed. Sample 3 < 20: stored, not a finding.

Solana

Resources listed in the Bazaardistinct resource URL listed in the Coinbase Bazaar discovery catalog for this network (mainnet only)
610Proof
Listed resources that answer HTTP 402percent of sampled catalogued resources that answered HTTP 402 with a parseable payment payload
59%70.8n=120Indicator
Distinct hosts behind the listed resourcesdistinct URL hostnames across the resource URLs listed in the Coinbase Bazaar for this network (mainnet only)
57Proof
Distinct payTo addresses behind the listed resourcesdistinct payTo addresses (first accepts[] entry) across the resource URLs listed in the Coinbase Bazaar for this network (mainnet only)
48Proof
▸ Not enough readings this window (n=5) — 1 reading, not findings
Previously answering x402 URLs now darkpercent of previously-answering endpoints (catalogued x402 URL that answered HTTP 402 with a parseable PaymentRequirements body in an earlier weekly probe) that did not answer when re-probed this week
0n=5 · too small to quoteIndicator
▸ How these were measured
  • Counts listed registrations' hostnames, not working endpoints; subdomains of one operator count separately.
  • A registration, not a seller and not a working endpoint; read concentration beside catalogued_distinct_payto before calling a rise broad.
  • an endpoint that stops answering may be down, moved, or blocking us — unknown is not dead; 5 endpoints were eligible, 5 re-probed. Sample 5 < 20: stored, not a finding.
  • Listed is not selling: of 120 probed — answers 85, open (2xx, no payment gate on this path) 7, gone 24, blocked 0, 5xx 0, timeout/unreachable 0, opaque 402 0, other 4. 141 listed URLs are templates and were not probed. A resource that needs a specific method or body may show as "open" or "other" here; this measures the catalogued URL as listed.
  • A payTo address is a proxy for a seller, not a seller: one operator can use many addresses and one address can serve unrelated hosts. Counts listed registrations, not working endpoints. A different grain from the weekly all-network catalogued_sellers (distinct hosts); never sum the two.

venue-level

Catalogued sellersdistinct seller host in the Bazaar catalog
2,234Proof
▸ Not enough readings this window (n=9) — 1 reading, not findings
price index coveragedeclared x402 endpoint whose 402 payload named a readable USDC price on a mainnet network
12n=9 · too small to quoteProof
▸ How these were measured
  • 9 declared endpoints were read this run. Excluded: 0 named no price, 0 named no network, 0 declared a testnet, 0 priced in an asset we could not identify as USDC, 0 wrote an amount we could not read. Exclusion is never conversion and never zero. DECLARED, NOT CHARGED. A 402 payload states what the seller says the next call costs, and `maxAmountRequired` is a ceiling rather than a price — the settled amount can be less. Nobody paid, so nothing here is evidence that paying works or that the seller delivers. Prices in an asset we could not identify as USDC are excluded rather than converted, testnet declarations are excluded rather than compared to mainnet ones, and an endpoint offering two capabilities is counted under both.
  • 1530 distinct Base payTo addresses are declared across the catalog; 418 further distinct payTo addresses are on other networks (Solana, Polygon, testnets and others) and are outside the Base settlement join.

Confirmed contracts

Every address here was confirmed on-chain twice: bytecode present, and the block explorer's verified contract name matching the claim. A confirmation older than the re-check interval renders as stale rather than as a number that looks current.

ChainContractRoleConfirmed
Arbitrumx402ExactPermit2Proxy0x402085c248EeA27D92E8b30b2C58ed07f9E20001settlement-proxy2026-09-01 · source
Basex402ExactPermit2Proxy0x402085c248EeA27D92E8b30b2C58ed07f9E20001settlement-proxy2026-09-01 · source
Ethereumx402ExactPermit2Proxy0x402085c248EeA27D92E8b30b2C58ed07f9E20001settlement-proxy2026-09-01 · source
Polygonx402ExactPermit2Proxy0x402085c248EeA27D92E8b30b2C58ed07f9E20001settlement-proxy2026-09-01 · source
How this is measured

The dominant path touches NO x402 contract: USDC settles via EIP-3009 transferWithAuthorization on the token. Watch the AuthorizationUsed event, then join the public facilitator allowlist and Bazaar payTo set for precision.

Each figure is read per chain and per lifecycle stage and is never added to another. A rate computed on fewer than 20 observations is stored and shown as “not enough readings”, never as a finding; a value that could not be read says “not measured” with the reason. Some readings on this page are in that state.

What this page cannot settle

  • The signature marks gasless USDC generally, not x402 specifically. Precision comes from off-chain lists that lag. Recent transaction COUNT is ~95% Solana across ~104 sellers at a sub-cent median — never headline the blended total.
  • Headline safety: Only per-chain and per-stage, never the blended protocol-wide total.
  • Some rates on this page are computed on a handful of wallets. They are shown with their sample size and marked below the publishable threshold — they are observations, not findings.
  • Program-account counts are UPPER BOUNDS: unused and duplicate accounts are included, and an account is not an agent. Solana payment settlement is not covered by any row.

In the directory as x402.

Why sources disagree

Each tracker counts a different thing (payments or transactions) on a different set of chains, over its own window, with its own filtering. A longer window, more chains or a looser definition gives a bigger figure, so the figures cannot be lined up or added.

  • x402scan ↗234,340,001

    x402 payments · every chain x402scan indexes · all time

    Payments x402scan indexed on every chain it covers, over the window.

    read 2026-10-16 · source date 2026-10-15T23:55:43.000Z

  • x402scan ↗2,906,105

    x402 payments · every chain x402scan indexes · last 30 days

    Payments x402scan indexed on every chain it covers, over the window.

    read 2026-10-16 · source date 2026-10-16T04:45:51.000Z

  • x402.org ↗75.41Mas shown by the source

    transactions · the x402.org home page, no chain stated · last 30 days

    The “Last 30 Days” transaction figure on the x402.org home page; the page states no chain or method.

    read 2026-10-16

  • x402 transactions · the chains agenteconomy.to tracks · all time

    Total x402 transactions agenteconomy.to counts, on the chains it tracks.

    read 2026-10-16 · source date 2026-10-16T02:07:13.561Z

Our own reading is facilitator transactions sent per day, per chain, an upper bound and never summed.

Figures other trackers publish, quoted with their source and read once a day. They are not Sato Hub's numbers and are never added together; “not read” means we hold no reading, never zero.

Cite this

Sato Hub, "x402 payment rail — measured on-chain", satohub.ai/agent-economy/x402, as of 2026-10-12. CC-BY.

Data: satohub.ai/api/export/adoption.json?venue=x402 (CC-BY, current week; every row carries its method, evidence tier and sample size).

Reference

QuestionsShowHide

Questions people ask about x402 payment rail

What is one unit of x402 payment rail?
one settlement (a machine paying a machine for an HTTP request). Counting anything else as a "x402 payment rail agent" would compare different objects, so every row on this page names the stage it counts.
What does it cost to enter x402 payment rail?
n/a — a rail, not a registry. Entry cost is why raw sizes are not comparable across venues: free and permissionless is a different market from bonded.
How is x402 payment rail measured?
Public chain reads on 5 chains, keylessly, once a week — this view is the week beginning 2026-W42. Each row carries its method, evidence tier and sample size, and a row we could not read is null rather than zero.
Does a count here say the agents work?
No. A registration, a launch or a staked service is an entry in a contract. Nothing about funding, activity, competence or safety is implied, and what happens after entry is measured as its own stage.
SourcesShowHide
Cite this pageShowHide

Cite this page

Sato Hub. "x402 payment rail — measured on-chain." Sato Hub, updated 2026-10-12, accessed 2026-10-16. https://satohub.ai/agent-economy/x402

Data last refreshed 2026-10-12; this page is rebuilt daily. Citations carry the date so a reader can tell which snapshot a claim came from. Catalog data is licensed CC-BY-4.0.

Take the data: JSON · CSV (CC-BY).