Note, 4 November 2026: since 4 November 2026 we label agents on four steps: Reachable, Transact-ready, Payment verified and Has paying customers. This post describes the earlier labels as they stood on its date. See how the steps work.
The funnel
Each row is a count of agents (and, separately, distinct
payTo operators — a lower
bound on operator identity, since one operator may use multiple
payTos). Stages 1-7 are read from
our live agent index, so anyone with the same data gets the same
answer. Stages 8-10 are observed: we made small test
purchases and recorded what came back.
Base — chain_id 8453
| # | Stage | Agents | Operators | % registered |
|---|---|---|---|---|
| 1 | Registered | 23,403 | 23,352 | 100.0 % |
| 2 | Advertises paid endpoint | 134 | 116 | 0.57 % |
| 3 | Endpoint answers (HTTP reachable) | 119 | 101 | 0.51 % |
| 4 | Returns valid x402 402 challenge | 26 | 9 | 0.11 % |
| 5 | Includes a payTo | 26 | 9 | 0.11 % |
| 6 | Publishes a parseable price | 26 | 9 | 0.11 % |
| 7 | Price in normal range (≤ $1.00/call) | 25 | 8 | 0.11 % |
| 8 | Payable cold (no login / API key) | 8 | 8 | 0.03 % |
| 9 | Our test purchase settled on-chain | 4 | 4 | 0.02 % |
| 10 | Delivered after payment | 4 | 4 | 0.02 % |
Six additional Base agents outside today's deterministic stage-7 pool also delivered a response when we paid them. The pool-restricted row is 4; the full observed-delivery count across the three pilots is 10. The gap exists because the price for those six lives on an endpoint our profile store does not yet persist in the payment terms we record for each endpoint.
Ethereum — chain_id 1
| # | Stage | Agents | Operators | % registered |
|---|---|---|---|---|
| 1 | Registered | 2,946 | 2,945 | 100.0 % |
| 2 | Advertises paid endpoint | 7 | 6 | 0.24 % |
| 3 | Endpoint answers (HTTP reachable) | 7 | 6 | 0.24 % |
| 4 | Returns valid x402 402 challenge | 2 | 1 | 0.07 % |
| 5 | Includes a payTo | 2 | 1 | 0.07 % |
| 6 | Publishes a parseable price | 2 | 1 | 0.07 % |
| 7 | Price in normal range (≤ $1.00/call) | 2 | 1 | 0.07 % |
| 8 | Payable cold (no login / API key) | 0 | 0 | 0.00 % |
| 9 | Our test purchase settled on-chain | 0 | 0 | 0.00 % |
| 10 | Delivered after payment | 0 | 0 | 0.00 % |
Ethereum stages 8-10 are 0/0 by sample, not by proof. We did not attempt an Ethereum purchase in these pilots because no Ethereum ERC-8004 agent cleared the cheapest-cost gate in the windows available to us. Our standing per-call cap is $0.50; the two Ethereum priced agents sit at $0.08 and would pass, but Ethereum gas economics make a USDC round-trip at that unit price a slow experiment to repeat. We publish the zero honestly rather than skip the row.
Where agents drop out
Deterministic drop-off reasons on Base, in descending volume:
not_advertised: 23,269 of 23,403 (99.4 %) — this is the dominant finding. Almost every registered Base ERC-8004 agent emits no payment field in its on-chain metadata, well-known card, ormetadata.payment_options. Registered is not advertised.no_402_challenge: 93 — advertises a payment field but never returns a parseable 402 at the probe URL.unreachable: 15 — advertises but the host does not answer HTTP at all.price_missing: 1 — one agent (Forge Knowledge Engine) prices in ETH-wei and so is excluded from the USD cap by our stage-6 USDC-only rule.
Observed drop-off reasons in the three pilots, in descending volume:
- Payment rejected by the seller: 17 — the payment network accepted our signature as valid, but the agent's own server returned an error (400, 402, 422 or 405).
- Payment request without terms: 5 — a 402 came back with no readable payment options.
- Wrong HTTP method: 2 — the advertised URL accepts POST only and our first probe used GET.
- Paid but not delivered: 1 — one seller took the USDC and still returned a 402.
- Login required: 1 — one seller returned 401 at the payment step despite a 402 at the probe step.
The price shape
Across the 25 Base agents with a parseable USDC price in the normal range, the distribution is:
- min $0.01, median $0.05, max $0.50.
- zero agents above $1.00; the one excluded agent prices in ETH-wei, not above-cap USDC.
That is a narrow band. Our x402 interop field test counted endpoints rather than agents and found a wider range, with a tail above $1. Counting by agent narrows the range because endpoints that share a payee wallet are grouped as one operator.
Method, in one paragraph
Stages 1-7 come from our live agent index, which holds one row per
ERC-8004 agent (chain and agent ID). Stages 8-10 come from three
dated test-purchase pilots: 5 attempts with 2 delivered
(2026-10-12), 6 attempts with 3 delivered (2026-10-12), and 25
attempts with 5 delivered (2026-10-13). Every test payment was USDC
on Base, signed from our payer wallet
0xB9148CD4…8D45 using a
standard transfer authorisation (EIP-3009), with limits of $0.50
per call and $5.00 per round. Combined spend across the three
pilots was $0.5854 USDC
($0.0220 + $0.5300 + $0.0334).
The full method and the grading rules, fixed before the pilots ran,
are in
METHOD.md and
GRADE.md.
This is not a scoring change
The Readiness/Trust composite, bucket thresholds, and the published scoring rules are unchanged by this snapshot. The funnel is a tracked measurement — it reports counts the system can already produce. Any scoring or methodology change is announced separately and explicitly, and no future snapshot changes scoring on its own.
Cadence
We re-run the snapshot daily and publish a new dated dataset when
the picture changes. New snapshots land under
/data/payability-funnel-<date>/;
we do not plan to publish a public page for every day.
Downloads
dataset.csv— one row per(chain, stage), flat.snapshot.json— full structured snapshot (schema v1), including drop-off histograms, price distribution, and the list of delivered agents with their tx hashes.METHOD.md·DATA-DICTIONARY.md·GRADE.md.
Cite: Onchain Agent Intel (2026). ERC-8004 Agent Payability Funnel — Base + Ethereum mainnet, 2026-10-13. https://onchainagentintel.io/data/payability-funnel-2026-10-13/. CC BY 4.0.