The numbers

The numbers this portfolio measures and nobody else publishes as dated, margin-bearing series: how much of the MCP registry a stock client can use, how many refused hosts quote a price, whether agents sign their requests, and whether anyone has paid us. An error is never shown as a zero; a share carries its margin; a move inside the margin is unchanged.

Assembled 2026-10-09 from committed files. Machine-readable at /numbers.json. These are measurements, not forecasts.

The four that decide the plan

External customers (keys a stranger funded)

0
measured 2026-10-05 · source market-pulse
keys funded by a payment that was not one of ours — above zero means a first customer
What would count as change: Above zero. One external payment clears it and outranks every ecosystem number here (MARKET-PULSE.md). Kill criterion 11 Mar 2027: if still zero, sell to humans who supervise agents, not to agents.

Refused hosts that quote a price

0%
measured 2026-09-11 · source access-index
0 of 48 refused-access hosts quote a price on any readable rail. A hand-built, frozen corpus: ~2 points per host, comparable across readings only at identical corpusSha 636eb5f59e66615e.
What would count as change: 5% of refused fetches quoting a price (Sep 2027 kill criterion). Under 5% and paid access stays a free asset, not a marketplace.

Signed per 100k unsigned (the ratio)

400.1
measured 2026-10-05 · source market-pulse
pulls of the verification library per 100,000 pulls of agents that do not sign; a ratio to watch, not a share of anything
What would count as change: signed_per_100k_unsigned doubling and holding for two readings, or signed_agents.ours_downloads_weekly above 2,500 for two consecutive weeks (MARKET-PULSE.md, added 11 Sep 2026, second half rewritten 13 Sep). It read 'above zero' until publishing the package cleared it: npm recorded 245 downloads on publish day and zero on every other day of that week, which is mirrors and CI, not installers.

Usable share of the MCP registry

61.3%
measured 2026-10-06 · source liveness-census
15,464 of 25,212 remote listings connected with no credential. A full census, not a sample; exact for this build, still a snapshot at 2026-10-06T18:57:05.787Z.
What would count as change: No fixed bar — a descriptive measurement. A month-over-month move counts as change only when it clears the survey's combined 95% margin.

Everything else

Our ledger

Credit keys ever minted
1,378
2026-10-05 · market-pulse · every credit key ever minted, revoked included every credit key ever minted, revoked included
Keys with at least one payment
8
2026-10-05 · market-pulse · keys with at least one Stripe or x402 payment keys with at least one Stripe or x402 payment
Payments (Stripe checkout or x402 USDC)
8
2026-10-05 · market-pulse · credit rows with source stripe_checkout or x402_usdc credit rows with source stripe_checkout or x402_usdc
Payments not on the self-funding list
0
2026-10-05 · market-pulse · of those, not on the self-funding list of those, not on the self-funding list
Credited USD (grants included)
$71.2
2026-10-05 · market-pulse · every credit row, grants included every credit row, grants included
Credited USD, external only (revenue)
$0
2026-10-05 · market-pulse · external payments only external payments only
USD spent on actual calls
$60.4
2026-10-05 · market-pulse · balance spent on calls, refunds excluded balance spent on calls, refunds excluded
Distinct payers
8
2026-10-05 · market-pulse · Stripe customer where known, else the funded key Stripe customer where known, else the funded key
Distinct external payers
0
2026-10-05 · market-pulse · external payers only external payers only
First payment from a stranger
nothing yet
2026-10-05 · market-pulse · null with status ok: no external payment has arrived yet null with status ok: no external payment has arrived yet
Payments excluded as ours
8
2026-10-05 · market-pulse · payments excluded as ours by data/market-pulse-self-funding.json payments excluded as ours by data/market-pulse-self-funding.json

PayAI facilitator

PayAI catalogue listings (supply)
14,255
2026-10-05 · market-pulse · pagination.total pagination.total
PayAI distinct seller hosts
967
2026-10-05 · market-pulse · distinct hosts with a listed resource — the honest count of sellers distinct hosts with a listed resource — the honest count of sellers
PayAI settlements, last 7d (traffic, not commerce)
58,130
2026-10-05 · market-pulse · facilitator-wide; includes testnets and load generators, so it is traffic, not commerce facilitator-wide; includes testnets and load generators, so it is traffic, not commerce
PayAI settlements, last 30d (traffic, not commerce)
2,226,404
2026-10-05 · market-pulse · facilitator-wide; includes testnets and load generators, so it is traffic, not commerce facilitator-wide; includes testnets and load generators, so it is traffic, not commerce
PayAI total volume (bucket)
$100K+
2026-10-05 · market-pulse · the facilitator publishes a bucket, not a number the source publishes a bucket, not a number

PayAI facilitator (ours)

Our deal-memo lookup: settlements 30d
1
2026-10-05 · market-pulse · https://agentwares-deal-memo.vercel.app/api/v1/lookup https://agentwares-deal-memo.vercel.app/api/v1/lookup
Our deal-memo lookup: unique buyers (bucket)
1-9
2026-10-05 · market-pulse · https://agentwares-deal-memo.vercel.app/api/v1/lookup — the facilitator publishes a bucket, not a number the source publishes a bucket, not a number
Our deal-memo memo: settlements 30d
1
2026-10-05 · market-pulse · https://agentwares-deal-memo.vercel.app/api/v1/memo https://agentwares-deal-memo.vercel.app/api/v1/memo
Our deal-memo memo: unique buyers (bucket)
1-9
2026-10-05 · market-pulse · https://agentwares-deal-memo.vercel.app/api/v1/memo — the facilitator publishes a bucket, not a number the source publishes a bucket, not a number
Our stablecoin reserves: settlements 30d
5
2026-10-05 · market-pulse · https://agentwares-stablecoin.vercel.app/v1/reserves/USDC https://agentwares-stablecoin.vercel.app/v1/reserves/USDC
Our stablecoin reserves: unique buyers (bucket)
1-9
2026-10-05 · market-pulse · https://agentwares-stablecoin.vercel.app/v1/reserves/USDC — the facilitator publishes a bucket, not a number the source publishes a bucket, not a number

x402 Bazaar

x402 Bazaar listings (not sellers)
34,794
2026-10-05 · market-pulse · listings, not sellers — a few hosts list thousands of endpoints each listings, not sellers — a few hosts list thousands of endpoints each

On-chain payments (agenteconomy.to)

x402 volume, last full month (all x402)
$263,863
2026-10-05 · market-pulse · 2026-09 (Sep 26) — all x402 settlement, agent-initiated or not — an upper bound on agent commerce 2026-09 (Sep 26) — all x402 settlement, agent-initiated or not — an upper bound on agent commerce Change: Agent-initiated x402 volume above $1M/month for two consecutive months (~20x today). This line is ALL x402, not agent-only, so crossing $1M here is a prompt to find the agent split, not the bar cleared.
x402 transactions, last full month
11,859,643
2026-10-05 · market-pulse · 2026-09 (Sep 26) — all x402 settlement, agent-initiated or not — an upper bound on agent commerce 2026-09 (Sep 26) — all x402 settlement, agent-initiated or not — an upper bound on agent commerce
x402 cumulative volume (all x402)
$41,876,015
2026-10-05 · market-pulse · cumulative since the protocol launched; all x402 settlement, agent-initiated or not — an upper bound on agent commerce cumulative since the protocol launched; all x402 settlement, agent-initiated or not — an upper bound on agent commerce
Facilitators the feed can see
18
2026-10-05 · market-pulse · how much of the rail this feed can see how much of the rail this feed can see
MPP lifetime unique payers (session intent only)
1,857
2026-10-05 · market-pulse · lifetime unique payers on Tempo MPP — payment-channel (session intent) events only — most MPP services use the charge intent, which this feed does not see lifetime unique payers on Tempo MPP — payment-channel (session intent) events only — most MPP services use the charge intent, which this feed does not see Change: No longer a threshold. This counter sees only the session intent (payment channels), and 125 of 142 MPP services accept only charge, a plain transfer that opens no channel — so it reads a minority of the rail. Threshold 2 moved to mppscan.mpp_volume_usd_7d_ex_top_payee on 11 Sep 2026.
MPP lifetime unique payees (session intent only)
90
2026-10-05 · market-pulse · lifetime unique payees on Tempo MPP — payment-channel (session intent) events only — most MPP services use the charge intent, which this feed does not see lifetime unique payees on Tempo MPP — payment-channel (session intent) events only — most MPP services use the charge intent, which this feed does not see Change: No longer a threshold. This counter sees only the session intent (payment channels), and 125 of 142 MPP services accept only charge, a plain transfer that opens no channel — so it reads a minority of the rail. Threshold 2 moved to mppscan.mpp_volume_usd_7d_ex_top_payee on 11 Sep 2026.
MPP channel events (not payments)
46,079
2026-10-05 · market-pulse · channel opens, top-ups, settlements and closes — not payments; payment-channel (session intent) events only — most MPP services use the charge intent, which this feed does not see channel opens, top-ups, settlements and closes — not payments; payment-channel (session intent) events only — most MPP services use the charge intent, which this feed does not see
x402 Bazaar provider domains (sellers)
2,109
2026-10-05 · market-pulse · distinct provider domains in the Coinbase Bazaar — sellers, not listings distinct provider domains in the Coinbase Bazaar — sellers, not listings
x402/ACP SDK weekly downloads (interest)
874,884
2026-10-05 · market-pulse · 4-week average weekly downloads across a named x402/ACP SDK basket — supply-side interest, not spending 4-week average weekly downloads across a named x402/ACP SDK basket — supply-side interest, not spending

On-chain payments (MPPScan)

MPP volume, last 7 days (every transfer)
$3,614.956
2026-10-05 · market-pulse · last 7 days; every MPP transfer on Tempo — charge and session intents both, unlike agenteconomy.mpp_* last 7 days; every MPP transfer on Tempo — charge and session intents both, unlike agenteconomy.mpp_*
MPP paying addresses, last 7 days
10,529
2026-10-05 · market-pulse · distinct paying addresses in the last 7 days — the buyer side of the rail distinct paying addresses in the last 7 days — the buyer side of the rail
MPP paid addresses, last 7 days (the narrow side)
191
2026-10-05 · market-pulse · distinct paid addresses in the last 7 days — the seller side, and the narrow one distinct paid addresses in the last 7 days — the seller side, and the narrow one
MPP volume, last 30 days
$9,392.519
2026-10-05 · market-pulse · last 30 days; every MPP transfer on Tempo — charge and session intents both, unlike agenteconomy.mpp_* last 30 days; every MPP transfer on Tempo — charge and session intents both, unlike agenteconomy.mpp_*
MPP volume less its largest payee, last 7 days
$3,135.51
2026-10-05 · market-pulse · 7d volume 3614.9560589999987 less 479.4500000000001 taken by AIsa, the largest single payee of 111 listed — one aggregator's week is not a market 7d volume 3614.9560589999987 less 479.4500000000001 taken by AIsa, the largest single payee of 111 listed — one aggregator's week is not a market Change: $25,000 a week excluding the largest payee, two weeks running (~19x today). Dollars rather than addresses because senders are cheap — 11,332 of them moved $1,794 last week. Ex-top-payee because one aggregator has been 82.5% of everything ever settled, and two weeks because a single batch clears a weekly line on its own.

Apify marketplace

Apify store actors (drifts a few hundred)
80,659
2026-10-05 · market-pulse · store-wide total as reported by the API; it drifts by a few hundred between reads store-wide total as reported by the API; it drifts by a few hundred between reads
Apify top actors actually scanned
5,815
2026-10-05 · market-pulse · top 10000 by popularity; the API serves fewer rows than the page size, so this is the real denominator top 10000 by popularity; the API serves fewer rows than the page size, so this is the real denominator
Of those, cleared for agentic payment
4,426
2026-10-05 · market-pulse · isWhiteListedForAgenticPayments — cleared to be bought by an agent, not proof one did isWhiteListedForAgenticPayments — cleared to be bought by an agent, not proof one did
Share cleared (readiness, not payouts)
76.1%
2026-10-05 · market-pulse · 4426 of 5815 scanned; readiness, not payouts — Apify publishes no x402 payout share 4426 of 5815 scanned; readiness, not payouts — Apify publishes no x402 payout share Change: Apify disclosing an x402 payout share above 10% — not measurable; this is readiness, not payouts. Above 80% with no payout disclosure and the metric is retired.

Agents signing themselves

web-bot-auth verifier weekly downloads (supply)
179,645
2026-10-05 · market-pulse · npm "web-bot-auth" — verifiers and platforms integrating, largely from CI; not agents choosing to sign npm "web-bot-auth" — verifiers and platforms integrating, largely from CI; not agents choosing to sign
Our web-bot-auth package weekly downloads
20
2026-10-05 · market-pulse · npm "@agentwares/web-bot-auth" npm "@agentwares/web-bot-auth" Change: signed_per_100k_unsigned doubling and holding for two readings, or signed_agents.ours_downloads_weekly above 2,500 for two consecutive weeks (MARKET-PULSE.md, added 11 Sep 2026, second half rewritten 13 Sep). It read 'above zero' until publishing the package cleared it: npm recorded 245 downloads on publish day and zero on every other day of that week, which is mirrors and CI, not installers.
Unsigned-agent framework weekly downloads (denominator)
44,896,336
2026-10-05 · market-pulse · sum of @anthropic-ai/claude-code, @openai/codex, openclaw — a denominator, not a customer count; downloads are not installs sum of @anthropic-ai/claude-code, @openai/codex, openclaw — a denominator, not a customer count; downloads are not installs

Agent access index

Servable to an honest agent (of decided)
87.2%
2026-09-11 · access-index · allowed + allowed_if_identified, over decided URLs. 48-host frozen corpus of refused URLs; ~2 points per host; comparable only at identical corpusSha 636eb5f59e66615e.
Fixed by identifying the agent (of decided)
30.8%
2026-09-11 · access-index · Refusals a signed, named request would turn into content. 48-host frozen corpus of refused URLs; ~2 points per host; comparable only at identical corpusSha 636eb5f59e66615e.
URLs in the corpus
48
2026-09-11 · access-index · Hand-built from public issues; all were reported blocked. 48-host frozen corpus of refused URLs; ~2 points per host; comparable only at identical corpusSha 636eb5f59e66615e.
URLs with a verdict
39
2026-09-11 · access-index · 9 were undecided (no answer, missing page, or conflicting signals). 48-host frozen corpus of refused URLs; ~2 points per host; comparable only at identical corpusSha 636eb5f59e66615e.
Allowed outright
22
2026-09-11 · access-index · Served an honest client with no identification. 48-host frozen corpus of refused URLs; ~2 points per host; comparable only at identical corpusSha 636eb5f59e66615e.
Allowed if identified
12
2026-09-11 · access-index · Policy permits it; a signed, named request is the route through. 48-host frozen corpus of refused URLs; ~2 points per host; comparable only at identical corpusSha 636eb5f59e66615e.
Blocked and selling nothing
5
2026-09-11 · access-index · Disallows the agents that would want it, quotes no price. 48-host frozen corpus of refused URLs; ~2 points per host; comparable only at identical corpusSha 636eb5f59e66615e.
Undecided
9
2026-09-11 · access-index · No answer, missing page, or conflicting signals. 48-host frozen corpus of refused URLs; ~2 points per host; comparable only at identical corpusSha 636eb5f59e66615e.
Machine-readable access signals seen
63
2026-09-11 · access-index · How the verdicts were sourced. 48-host frozen corpus of refused URLs; ~2 points per host; comparable only at identical corpusSha 636eb5f59e66615e.
  • robots.txt 35
  • robots-ai-rules 19
  • content-signal 7
  • llms.txt 2
Front-door vendors seen
30
2026-09-11 · access-index · Who sits in front of the refused origins. 48-host frozen corpus of refused URLs; ~2 points per host; comparable only at identical corpusSha 636eb5f59e66615e.
  • cloudflare 23
  • fastly 5
  • cloudfront 1
  • akamai 1

MCP registry

Needs a credential (census)
25.3%
2026-10-06 · liveness-census · Wants an OAuth or API-key handshake before it will answer. 6,380 of 25,212 listings. A full census, not a sample; a snapshot at 2026-10-06T18:57:05.787Z.
Not an MCP server at that address (census)
13.1%
2026-10-06 · liveness-census · Points at something that is not a JSON-RPC MCP endpoint. 3,305 of 25,212 listings. A full census, not a sample; a snapshot at 2026-10-06T18:57:05.787Z.
  • HTTP 404 1,143
  • no connection 1,120
  • HTTP 429 286
  • HTTP 503 107
  • HTTP 502 105
  • HTTP 405 98
  • 2xx that is not MCP 90
  • HTTP 500 82
  • HTTP 400 77
  • timed out 66
  • HTTP 530 53
  • HTTP 410 46
  • HTTP 525 7
  • HTTP 521 6
  • HTTP 526 4
  • HTTP 421 4
  • HTTP 522 3
  • HTTP 422 2
  • HTTP 451 2
  • HTTP 504 1
  • HTTP 523 1
  • HTTP 409 1
  • HTTP 501 1
Charges for access (census)
0.2%
2026-10-06 · liveness-census · Answered with a price to use it. 63 of 25,212 listings. A full census, not a sample; a snapshot at 2026-10-06T18:57:05.787Z.
Remote listings in the registry
25,212
2026-10-06 · liveness-census · Out of a wider population of servers; 15,464 were usable. Every remote listing probed this build.

MCP registry (sampled)

Initialises for a stock client (sampled)
65.9%
2026-10-06 · liveness-survey · The sampled cross-check of the census usable share. 791 of 1200 sampled (seed 20261006); 95% margin ± 2.7 points.
Needs a credential (sampled)
21.9%
2026-10-06 · liveness-survey · Of these, how the credential is discoverable: 263 of 1200 sampled (seed 20261006); 95% margin ± 2.3 points.
  • oauth_self_service 204
  • undiscoverable 45
  • oauth_needs_registration 11
  • api_key 3
Not an MCP server (sampled)
11.8%
2026-10-06 · liveness-survey · Why it was not reachable as MCP: 142 of 1200 sampled (seed 20261006); 95% margin ± 1.8 points.
  • HTTP 404 54
  • no connection 54
  • 2xx that is not MCP 8
  • HTTP 405 7
  • HTTP 400 6
  • HTTP 502 4
  • timed out 4
  • HTTP 503 3
  • HTTP 500 1
  • HTTP 410 1
Charges for access (sampled)
0.3%
2026-10-06 · liveness-survey · A tiny share; read the wide margin, not the point. 4 of 1200 sampled (seed 20261006); 95% margin ± 0.3 points.
Servers sampled this month
1,200
2026-10-06 · liveness-survey · The sample size is 1,200 because three samples of 400 on one day ranged 54.8-67.5%. Seed 20261006, reproducible; drawn from 25,212 remote listings of 40,105 servers.

Tool-schema drift

Servers captured in the 2026-10 snapshot
15,393
2026-10-06 · liveness-census · 13,235 answered tools/list, 2,158 did not. Month-over-month drift is computed from two snapshots.

What this cannot tell you

Sources

Each number is read from one of these committed files; the link goes to the file at the commit that last changed it, so a reader can check.

SeriesFileWhatLast changed
market-pulsedata/market-pulse.ndjsonWeekly market-pulse metrics (our ledger and the ecosystem).61a8e88 · 2026-10-09
access-indexassets/agent-access-index/corpus/series.ndjsonMonthly reading of the frozen refused-URL corpus.61a8e88 · 2026-10-09
liveness-surveyassets/mcp-liveness/corpus/survey.jsonMonthly random sample of remote MCP listings, with seed and margins.61a8e88 · 2026-10-09
liveness-censusassets/mcp-liveness/public/index.meta.jsonFull monthly census of remote MCP listings.61a8e88 · 2026-10-09
liveness-censusassets/mcp-liveness/public/drift.meta.jsonOne row per committed monthly tool-catalogue snapshot.61a8e88 · 2026-10-09