PDF · Sample data

Machine Commerce Reality Index
MCRI #002 · September 2026

What machine commerce claims — and what actually happens

MCRI measures what publicly listed machine-payment infrastructure claims, what it actually does, and where the two diverge.

On three payment gateways — Locus, Tempo and Sponge — all 134 routes that quoted a price in September used gateway-level payment addresses, not addresses unique to the company named on the route; on a fourth, Orthogonal, 541 quoting routes under 54 names used 42 addresses, and neither the quotes nor the route catalogues identified who controlled them.

Finding 01

On a gateway, the name on a route does not identify who controls its payment address

Some machine-payment routes are presented through a gateway: a company that lists routes carrying other organisations’ names on its own hosts and returns the payment terms for those routes — x402.orthogonal.com/<name>/… or <name>.mpp.tempo.xyz, for example. Of the 16,118 routes on the September route list (on 1,950 hosts), 1,315 on 91 hosts sit under four gateways — Orthogonal (965 routes on 3 hosts), Locus (240 on 67), Tempo (96 on 17) and Sponge (14 on 4) — most of them carrying another organisation’s name in the route’s address. The quotes, catalogue fields and supplier replies point to the same limitation: the company name on a gateway route does not identify who controls the quoted payment address, or what commercial relationship sits behind the route.

The payment address in the quote

675 of the 1,315 routes returned a valid payment challenge containing a payable quote — the machine-readable response showing that a price was offered, not that anything was paid — on at least one reading between 4 and 30 September.

  • On Locus, Tempo and Sponge, all 134 quoting routes used gateway-level payment addresses, whatever name the route carried: one address across Tempo’s 67 quoting routes, one across Sponge’s 14, and one per payment rail across Locus’s 53.
  • On Orthogonal, 541 quoting routes under 54 names quoted 42 addresses. No name used two addresses; four addresses were shared between names. Neither the quotes nor the catalogues say who controls them.
  • No quoting route on any of the four gateways changed its payment address during the window. Most of Orthogonal’s routes are read weekly (906 of 965, two to four readings each in the window); the rest of the layer is read daily (about 27 readings each).
Fig. 1 · The payment address in the quote, four gateways
1,315 routes on 91 hosts under four gateways, September route list675 of 1,315 returned a payable quote
134 on Locus, Tempo and Sponge — gateway-level payment addresses 541 on Orthogonal — 42 addresses under 54 names 640 gave no price on any reading

A payable quote on at least one reading between 4 and 30 September. Neither the quotes nor the catalogues say who controls the addresses; the 640 are outside the payment-address findings.

What is disclosed

No quote read on the four gateways carried a merchant field; their in-band fields described the payment token, the catalogue extension and, on seven Locus routes, facilitator and gas-sponsoring details. Elsewhere such a field exists: 227 of the Bazaar’s 22,016 entries, on 43 hosts, carry a field named merchant in the seller’s own payment terms — none of them on the four gateways. mpp.dev, the MPP catalogue, marks 95 of its 102 third-party services as sitting under these four gateways and names a provider for each; the Bazaar, the x402 catalogue, has no field of its own for the relationship (both read 2 October).

What the suppliers said

Between 16 September and 1 October we wrote to 59 suppliers whose names appear on gateway routes, asking whether the route, its price or its payment address was theirs. 55 messages were delivered and ten suppliers replied:

  • Six wrote that they had not set the routes up or do not offer machine payments at all — one after an internal engineering review, two qualifying their answers, one answering just that it has no machine-payment setup.
  • One wrote that the price and the payout address were the gateway’s, and that it was checking how the integration had been arranged.
  • One, whose name a fifth gateway carries, wrote that the gateway is its partner, by the supplier’s own arrangement, and that the payment address is the gateway’s.
  • Two others: one wrote that it was unsure whether the routes carrying its name were its own, and one asked what our message referred to.

The replies include a listing its supplier arranged and listings suppliers say they did not set up; neither the route nor its quote discloses which of the two a buyer is paying. On one route carrying the name of a supplier that wrote that it does not operate the route, a $0.005 payment settled to the quoted address and a response came back on each of four weekly calls, two of them after the supplier’s statement. These are each supplier’s statements about its own arrangements, not a measurement of authorisation; two other suppliers on Orthogonal show Orthogonal’s logo on their own home pages (read 2 October).

Movement

The listings moved; the payment addresses did not. Orthogonal’s x402 routes in the Bazaar, on its two x402 hosts, fell from 460 in the complete read of 8 September to 127 in the read of 10 September, and stood at 145 on 30 September. Of the 328 Orthogonal routes in our list that the Bazaar carried on 5 September and not on 30 September, 325 were read after they left, and all 325 still returned a valid payment challenge on their latest reading; Sponge’s 11 departed routes did the same.

The 640 routes that gave no price on any reading are outside the payment-address findings above. Our reads were unpaid requests with no body or key, and most of those routes answered with an error (HTTP 400 or 404).

Why it matters

A buyer paying a route that carries one company’s name cannot tell from the route, its quote or the Bazaar who controls the payment address, or whether the named company arranged the route: the public surface does not disclose the relationship.

What it changes

Payment challenges need an explicit merchant identity field — 227 Bazaar entries already carry a field named merchant — and catalogues need to mark the reseller relationship on both rails; mpp.dev’s integration and provider fields show it can be done.

Finding 02

The movers: labels and listings changed sharply while many endpoints kept quoting

In September, health labels and catalogue listings changed sharply. Among endpoints we independently read, many continued to return valid payment challenges across those changes.

The observability providers, across September

Observability providers (e.g., 402index, PulseFeed, vet402) publish health labels and counters that agents can use to choose a route. Their figures, from our dated reads of their published surfaces, with one comparison of ours:

  • 402index’s labels moved by tens of thousands in two days. Its health document, which we capture daily, read degraded 43,554 and down 17,051 on 7 September, and degraded 13,070 and down 54,741 on 9 September, while its total grew 0.8% (105,267 to 106,115). Its own daily series shows the same break (degraded_endpoints 39,295 → 13,619 → 13,048 on 7, 8 and 9 September). Neither the document nor the series carries a note saying what changed. On 30 September it labelled 41,286 endpoints healthy, 15,771 degraded, 58,874 down and 478 unknown, of 116,409.
  • 402index’s labels against our readings. This is a cross-period comparison, not a same-time error rate: the labels are from 2 October and the readings from 4–30 September. We compared the 14,346 endpoints we graded in September with the labels 402index’s public search returned on 2 October. For 11,065 a single label could be matched: 2,475 were labelled degraded or down and 8,590 healthy. Of the 2,475, 1,664 (67%) returned a valid payment challenge on every reading we took — a median of 25 readings each; 718 of them were read on all 27 days, and 598 fewer than five times. Of the 8,590, 76 (0.9%) never returned one. The other 3,281 had no single label to match: 2,690 on hosts where its search was still returning rows when our read stopped, 498 on hosts whose rows disagreed, 81 not listed and 12 unknown.
Fig. 2 · 402index’s labels against our readings
Labelled degraded or down — returned a valid payment challenge on every reading we took1,664 of 2,475 · 67%
Labelled healthy — never returned one76 of 8,590 · 0.9%

Cross-period comparison, not a same-time error rate: 2 October labels against 4–30 September readings. Each bar has its own population among 11,065 endpoints with a single matched label. Of the 1,664, the median was 25 readings; 598 had fewer than five.

  • vet402, by its own account, began publishing corrections on 4 September; on 2 October it listed 294 corrections and 5,660 ledger status changes. The share of its active endpoints carrying a probe from the previous seven days went from 18.8% on 1 September (2,750 of 14,662, its corrections log) to 84.8% on 2 October (19,452 of 22,945, its state page). It publishes fail on 4,270 of the 38,328 endpoints on its record, and since 17 September it buys each route with the request body the route declares (since 20 September, with the declared query arguments too).
  • PulseFeed’s published median age of a live verdict rose from 262 hours on 5 September to 360 on 30 September, falling to 144 on 11 September before climbing again. Over the same weeks the endpoints it tracks rose from 30,227 to 41,574, so the two medians describe different populations.

An old label is not necessarily a wrong one. Provider labels and counters above are theirs; comparisons against our dated readings are ours.

The catalogue

The Bazaar’s complete daily read held 16,162 routes on 5 September and 19,111 on 30 September (+18%). Between those two reads, 496 hosts carrying 2,694 routes disappeared, 737 hosts carrying 7,472 routes appeared, and the hosts listed on both dates carried 1,829 fewer routes. Four operators each lost more than 300 routes:

Operator5 Sep30 SepWhen
m2mcent9650gone in the read of 6 September
delx88681in steps: 567 (7 Sep), 240 (11 Sep), 66 (19 Sep)
The Aslan Group (77 hosts → 30)87448856 → 70 between the reads of 19 and 21 September
Orthogonal (its larger x402 host)449145449 → 127 between the reads of 8 and 10 September

Source: the Bazaar’s complete daily catalogue read on each date shown, 5–30 September.

Six operators grew from nothing, or from a single route, to 300 or more routes each: syntexa, rallylive, edge-agents (the one from a single route), saylorinnovations, openverbs and unykorn (3,915 routes on 30 September). magentlab’s 844 routes left the catalogue on 8 September, and all 844 were listed again by 30 September.

Routes that left the catalogue

Of the 3,153 daily-read x402 routes in our list that the Bazaar listed on 5 September and not on 30 September (on 864 hosts), 2,732 were read after they left. 2,383 of those (87%) still returned a valid payment challenge on their latest reading, and 2,176 did so on every reading after leaving (a median of ten). Of the daily-read routes listed on both dates, 4,426 of the 4,522 read (98%) did.

Fig. 3 · Routes that left the catalogue, and routes that stayed
Left, read after leaving — still returned a valid payment challenge on latest reading2,383 of 2,732 · 87%
Stayed listed, read — returned one on latest reading4,426 of 4,522 · 98%

Daily-read x402 routes in our list; listings from the Bazaar’s reads of 5 and 30 September. Each bar is its own population.

Across every cadence, 6,140 routes in our list left the catalogue between the two reads, on 904 hosts; 1,883 of them were not read again before 30 September — most of them monthly-read rows, which include nearly all of the two largest exits. Neither catalogue read says why any route left. Separately, on our read of 2 October no Bazaar entry’s last recorded call (lastCalledAt) was older than 30 days (the oldest of 22,016: 29.97 days).

Why it matters

A label or listing is a dated claim by one party. In September those claims changed sharply while many independently read endpoints continued to quote. Without a version, change date or removal reason, a buyer cannot tell whether a change reflects the endpoint, the observer or the catalogue’s own rules.

What it changes

Health labels need a version and a change date, a catalogue’s removals need a dated reason class, and any market-size figure needs its read date.

Finding 03

Paid calls: the challenge usually declared the missing input, and some sellers settled before returning an error

Our September paid calls carried no inputs. Each was one fixed request — the route’s URL, with no query string and no body — sent once a week for four weeks to a published panel of 400 x402 GET routes priced at or below $0.05 (at most two per host, a third chosen as top sellers), drawn on 6 September from 4,308 quoting endpoints on 705 hosts; 366 were called in all four weeks. What the record establishes is about request handling and settlement order, not a delivery rate.

The missing input was usually in the challenge

132 routes answered a paid call with HTTP 400 (486 calls). 126 of them declare the missing input in their own payment challenge — 94 mark it required in the challenge’s schema, 32 carry it in the example call. Four more named in the error an input their challenge never declares, and two needed a payment identifier the challenge does declare. Because the paid panel sent no inputs, it does not establish how these 132 routes would answer a request carrying every declared input.

Charge before validate

Of the 141 routes that never answered with content and whose errors trace to an input our request lacked, 132 never settled a payment and nine settled before returning the error (35 calls). These 132 are a different set from the 132 HTTP-400 routes above: that set is counted by status code, this one by outcome. One of the nine sent the payment back within a block each time (4 calls).

The other 225 routes

Of the remaining 225 routes called every week, 194 returned content on every call (for six of them our reader could not decode the settlement notice in the response; the transfer is on chain), and 18 returned content on some of the four calls but not all. Seven never returned a usable answer, for reasons not attributable in the record to an input declared in the payment challenge: three failed upstream, two demanded an API key their challenge never declares — after taking the payment — one answered empty by policy, and one took the payment and asked for it again. Six more were never paid by us or could not be assigned an outcome from the retained record.

What the buyer can see

For 54 of the 889 payments we found on chain, no transaction identifier could be read from the response; they sat on 19 endpoints, 18 of which never gave one in four weeks. A buyer reading the response alone could not confirm that money had moved.

The second buyer

vet402, which buys from listed routes to grade them, publishes 11,278 paid attempts, 6,022 settled and, of those, 5,397 delivered — by its own definitions (read 2 October). Its corrections log records that from 17 September it stopped counting against a seller a refusal of a request vet402 had formed wrongly; its 30-day export to 16 September held 2,487 paid attempts ending with no transaction and a 4xx other than 402 (2,157 of them HTTP 400), on 1,975 endpoints.

Why it matters

A missing input declared in the challenge should not be counted as a seller delivery failure when the buyer did not send it. Whether a seller validates the request before or after settlement is a separate question that cannot be seen until a payment is attempted.

What it changes

Sellers should validate a request before they settle it; published failure rates should separate the request was incomplete from the seller did not deliver; and every paid response should carry a settlement notice the buyer can check.

Facilitators

The layer as it stood on 5 October

A facilitator verifies a buyer’s payment and settles it on chain on the seller’s behalf. The leaderboard figures below are x402-trust’s own, as computed on 5 October over its trailing 30 days, on our capture of that day. x402-trust revised its figures for 20 of the 32 facilitators it tracks between our captures of 2 and 3 October — its own all-time totals for them fell; these are its figures after that revision. The shares are our calculation over its rows; the discovery-surface and seller-disclosure figures come from our own dated reads.

  • The leaderboard tracked 32 facilitators and attributed at least one settlement in its 30 days to 19 of them. It declares its Base and Solana coverage complete and its Polygon coverage backfilling, and counts every USDC transfer whose transaction sender is a known facilitator settler address; that is its definition.
  • On x402-trust’s own figures, Coinbase carries 55.7% of the volume30dUsd summed across those 19 ($950,681, our sum), and Coinbase, FluxA and Meridian together 89.9%.
  • Dollars and settlements30d sit with different facilitators: PayAI carries 33.2% of the leaderboard’s settlements30d and 4.5% of its dollars, Figment 28.8% and 3.1%; Meridian carries 14.7% of the dollars and 0.1% of the count.
Facilitatorvolume30dUsdShare of the 19settlements30dNetworksOur read of its discovery surface, 5 Oct
Coinbase$529,64955.7%1,899,866Base, Solanaanswers a credentialed client
FluxA$185,52619.5%164,022Baselist: 2 kinds
Meridian$139,56114.7%7,988Baselist: 47 kinds
PayAI$42,8294.5%1,913,917Base, Solanalist: 35 kinds
Figment$29,2913.1%1,663,519Solanaanswers a credentialed client
three-ws$11,4141.2%44,776Solana—
UltravioletaDAO$5,6810.6%22,460Base, Solanalist: 162 kinds
Dexter$2,3620.2%39,034Base, Solana—

Settlement figures: x402-trust’s leaderboard of 5 October, in its field names; the eight largest of its 19 active rows by volume30dUsd. Shares are ours.

What facilitators advertise

On our anonymous reads of 5 October, nine of the 19 answered at their own discovery surface with a list of what they support, from 2 payment kinds on 2 networks to 162 on 84; four list a scheme other than exact (upto, batch-settlement and escrow among them). A list is what a facilitator advertises, not a claim that a payment on it would settle.

What sellers disclose

On 30 September, 50 of the 1,478 hosts that quoted a price carried a facilitator-related identifier — a fee payer, facilitator address or facilitator URL — in the payment option at the head of their challenge. Of the 26 distinct identifiers, 20 resolve to Coinbase in the public facilitator registry, one to PayAI and five to no registry entry. Among the 21 that resolve to a registry entry, 20 resolve to Coinbase. The undisclosed share is unknown, not Coinbase.

Other signals

Payment addresses that change: 1,090 address changes on 135 of 12,812 quoting endpoints (4–30 September); 35 quoted a new address on every reading, 88 changed once. A buyer holding an address from an earlier read can be holding an old one.

Receipts: on 30 September, 206 of 8,042 quoting endpoints, on 24 of 1,478 hosts, advertised the offer-receipt extension in their challenge.

Terms that moved before the call: in the weekly paid rounds of 23 and 30 September (400 and 397 routes attempted), 16 routes each time quoted different terms — price, payment address or payment method — from the ones drawn; routes answering with no payment challenge went from 8 to 17.

Personal-data field names in examples: 194 of the Bazaar’s 22,016 entries (on 80 hosts) publish a request example with a field whose name suggests personal data — email, phone, date_of_birth (2 October); the count is of field names, not of any personal data.

What the sector should fix
  1. Payment protocols should carry an explicit merchant identity field in the challenge, and catalogues should mark reseller relationships on both rails.
  2. Health labels should publish a version and change date with every label; catalogues should publish a dated reason with every removal.
  3. Sellers should validate a request before settling it, and published failure rates should separate an incomplete request from a seller’s failure.
Method & limitations

Independent observations of publicly listed machine-payment endpoints, from one vantage, over 4–30 September 2026, under one route list and one grading rule. Routes with a published request contract are executed as documented and contract-less routes are read at the payment wall and no further — except on the paid panel (published, with its selection rule), whose weekly calls sent one fixed request with no inputs to every route. Observations are dated and retained; third-party figures are attributed to their source where they appear. Full methodology, corrections and dispute route: probe402.com/method.

Free sample: 100 observations at probe402.com/publications/pub_mcri_002/r1/sample.csv.
We welcome corrections, questions, and suggestions for MCRI #003.

Access MCRI data and research

Research dataset endpoint-level observations and historical data for independent analysis.

API access programmatic access to current and historical observations.

Intelligence subscription MCRI monthly, historical trends, provider benchmarking and alerts.

Custom research a specific question answered using the probe402 dataset.

Contact hello@probe402.com for dataset access, pricing, feedback, or suggestions for the next issue.

Want to know what your machine-commerce infrastructure actually looks like?

Request an audit