Skip to main content
Independent MeasurementRegister: x402 endpoints, L0 · L1Bazaar catalog snapshot 2026-10-24 · fetched 37,935 of catalog 37,956
vet402State of x402 · MethodologyTable: L0 verdicts and L1 purchases

The x402 Observatory

This page lists live endpoint checks. Values here are measurements, not opinions.

Find an endpoint

pass 6,211(91.2%)fail 166(2.4%)unverified 298(4.4%)withdrawn 135(2.0%)[settled on-chain 6,810]

Figure 1. The pass rate above is the L0 probe of the rows in this filter. It is not the purchase result. Choosing a verdict does not change that rate. This rate covers 6,810 endpoints. This rate includes the settled filter.

1.Observed endpoints

L0 observations over catalog endpoints
EndpointL0L1 delivered ·
settled / attempts (delivered: a settled purchase whose paid request answered 2xx; settled: the transfer re-read on-chain; attempts: paid attempts)
Last probedNetworkDeclared methodCatalogCalls 30d
76.13.79.47.nip.io/token-signal-x402/v1/x402-market-feedwithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 1 paid attempts2026-09-09 17:40 UTCBaseGETdelisted108
trade-production-180b.up.railway.app/whaleswithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 1 paid attempts2026-09-27 22:40 UTCBaseGETdelisted31
enclave402.com/api/market/signalwithdrawn2 delivered (paid retry answered 2xx) · 2 settled on-chain of 2 paid attempts2026-10-02 22:40 UTCBaseGETdelisted21
payanagent.com/x402/kh7cv18ns5tqtfr5h6gmcyqn218b8gx7withdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 1 paid attempts2026-09-07 14:40 UTCBaseGETdelisted13
trade-production-180b.up.railway.app/baddebtwithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 1 paid attempts2026-09-27 22:40 UTCBaseGETdelisted12
5-9-107-124.nip.io/token-riskwithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 1 paid attempts2026-09-05 23:40 UTCBaseGETdelisted11
api.agenticweb.nl/api/v1/nl/school-holidayswithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 1 paid attempts2026-09-11 16:40 UTCBaseGETdelisted9
api.hergertsynthora.com/v1/air-qualitywithdrawn3 delivered (paid retry answered 2xx) · 3 settled on-chain of 4 paid attempts2026-10-18 13:40 UTCBasePOSTdelisted8
ledger-api.novadyne.ai/ledger/reports/trial-balancewithdrawn2 delivered (paid retry answered 2xx) · 2 settled on-chain of 2 paid attempts2026-09-08 17:40 UTCBaseGETdelisted8
peptidesdirect.io/api/v1withdrawn3 delivered (paid retry answered 2xx) · 3 settled on-chain of 3 paid attempts2026-10-01 22:40 UTCBaseGETdelisted8
semantic-deduplication-api.johntaylor1online.workers.dev/calculatewithdrawn0 delivered (paid retry answered 2xx) · 1 settled on-chain of 1 paid attempts2026-09-25 16:40 UTCBasePOSTdelisted8
agent.gexlog.com/agent/historicalwithdrawn2 delivered (paid retry answered 2xx) · 2 settled on-chain of 2 paid attempts2026-09-11 22:40 UTCBaseGETdelisted7
api-macro-br-production.up.railway.app/v1/ipcawithdrawn3 delivered (paid retry answered 2xx) · 3 settled on-chain of 4 paid attempts2026-10-04 16:40 UTCBaseGETdelisted7
api.marketintelligenceapi.com/api/v1/fundamentals/AAPLwithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 1 paid attempts2026-10-05 22:40 UTCBaseGETdelisted7
opportunity-api-production.up.railway.app/api/trendingwithdrawn2 delivered (paid retry answered 2xx) · 2 settled on-chain of 2 paid attempts2026-09-16 13:40 UTCBaseGETdelisted7
apexfaucet.xyz/api/x402/arc-poolswithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 1 paid attempts2026-10-20 04:40 UTCBaseGETdelisted6
api.hergertsynthora.com/v1/weather-nowwithdrawn2 delivered (paid retry answered 2xx) · 2 settled on-chain of 2 paid attempts2026-10-18 22:40 UTCBasePOSTdelisted6
api.zfinia.com/x402/v1/data-compatibility-checkerwithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 1 paid attempts2026-09-24 16:40 UTCBasePOSTdelisted6
openrelay.hggfffdfy687.workers.dev/tools/base/gaswithdrawn3 delivered (paid retry answered 2xx) · 3 settled on-chain of 3 paid attempts2026-10-01 22:40 UTCSolanaPOSTdelisted6
orionkr.xyz/v1/base/paid-apiwithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 1 paid attempts2026-09-05 23:40 UTCBaseGETdelisted6
safetyincidents.org/api/x402/severe-injurieswithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 1 paid attempts2026-09-30 13:40 UTCBaseGETdelisted6
01mind.net/purchase/weather-data-apiwithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 1 paid attempts2026-09-02 17:40 UTCBasePOSTdelisted5
76.13.79.47.nip.io/token-signal-x402/v1/crypto-news-signalwithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 1 paid attempts2026-09-09 23:40 UTCBaseGETdelisted5
agent-commerce-factory-jm.austriaeast.cloudapp.azure.com/v1/onchain/blockwithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 2 paid attempts2026-10-11 12:40 UTCBasePOSTdelisted5
app.wellnizz.com/labs/searchwithdrawn3 delivered (paid retry answered 2xx) · 3 settled on-chain of 3 paid attempts2026-10-05 22:40 UTCBaseGETdelisted5
ari001.tailb4ac3a.ts.net/v1/base/gaswithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 2 paid attempts2026-10-04 22:40 UTCBaseGETdelisted5
bazaar-gateway.vercel.app/api/crypto-priceswithdrawn3 delivered (paid retry answered 2xx) · 3 settled on-chain of 4 paid attempts2026-09-28 16:40 UTCBaseGETdelisted5
cracked.ai/v1/runwithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 1 paid attempts2026-09-26 16:40 UTCBasePOSTdelisted5
opportunity-api-production.up.railway.app/api/gaswithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 2 paid attempts2026-09-16 13:40 UTCBaseGETdelisted5
api.hergertsynthora.com/v1/stablecoin-supplywithdrawn4 delivered (paid retry answered 2xx) · 4 settled on-chain of 4 paid attempts2026-10-17 22:40 UTCBasePOSTdelisted4
api.hergertsynthora.com/v1/top-cryptowithdrawn3 delivered (paid retry answered 2xx) · 3 settled on-chain of 3 paid attempts2026-10-17 22:40 UTCBasePOSTdelisted4
api.marketintelligenceapi.com/api/v1/sec/dividends/MSFTwithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 1 paid attempts2026-10-04 22:40 UTCBaseGETdelisted4
crypto.openverbs.com/v1/sentimentwithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 1 paid attempts2026-09-11 22:40 UTCBasePOSTdelisted4
enclave402.com/api/census/verdictwithdrawn2 delivered (paid retry answered 2xx) · 2 settled on-chain of 2 paid attempts2026-10-02 16:40 UTCBaseGETdelisted4
gateway.stride20k.com/v1/category-breakdownwithdrawn3 delivered (paid retry answered 2xx) · 3 settled on-chain of 3 paid attempts2026-10-05 22:40 UTCBaseGETdelisted4
oracle.the-undesirables.com/api/v1/marketwithdrawn3 delivered (paid retry answered 2xx) · 3 settled on-chain of 3 paid attempts2026-09-20 22:40 UTCBaseGETdelisted4
oracle.the-undesirables.com/api/v1/trendingwithdrawn3 delivered (paid retry answered 2xx) · 3 settled on-chain of 3 paid attempts2026-09-20 22:40 UTCBaseGETdelisted4
payanagent.com/x402/kh7ce632kypmbvwy9ewcq04c998b8wb8withdrawn2 delivered (paid retry answered 2xx) · 2 settled on-chain of 2 paid attempts2026-09-13 16:40 UTCBaseGETdelisted4
trust402.aztecbeacon.uk/api/trust/score-resourcewithdrawn1 delivered (paid retry answered 2xx) · 1 settled on-chain of 2 paid attempts2026-09-22 22:40 UTCBasePOSTdelisted4
ylk.one/v1/spikeswithdrawn0 delivered (paid retry answered 2xx) · 1 settled on-chain of 1 paid attempts2026-09-09 23:40 UTCBaseGETdelisted4

2.Reading this table

Abstract

Every endpoint in the public x402 discovery catalog: is it still listed, and does its payment wall answer a valid 402 challenge. The probe uses the HTTP method the listing declares when that method is GET, POST, HEAD, or DELETE, and GET when the listing declares no method or a method outside that set. Two failures in a row on that probe can be published as fail. The catalog is re-fetched daily. Endpoints are probed on a rolling schedule. A probed row shows the probe time under Last probed, after the L1 column. A row that has not been probed shows no probe time. The L0 cell is the payment-wall measurement alone. The L1 cell counts real purchases whose transfer vet402 re-read on-chain (settled / paid attempts). The transaction named by the seller's receipt, or found by vet402's own index when the seller returned none, is what that count places above the count that also returned a 2xx response (delivered), with every transaction listed on the endpoint's page. The two are never mixed. pass / fail / unverified / withdrawn are defined measurements, not opinions. A withdrawn row is absent from a complete catalog fetch and its newest probes would publish as fail. It is left out of the public L0 fail count. Definitions are here. unverified means vet402 does not have grounds to publish either pass or fail yet. It is not a failure and is never counted as one: it is an entry not yet reached by the rolling schedule, an entry whose failing probe has not met the publication gate, an entry recorded as path_template, or the remainder after the three above. The remainder includes a latest reason of rate_limited, tls, request_shape, or unsafe_target. It also includes a latest reason of method_undeclared, for which no request was sent before 2026-09-02, and body_over_cap, for which a 402 came back and the body was not read to the end. A listing that declares no HTTP method, or a method other than GET, POST, HEAD, or DELETE, is measured with GET, and two consecutive failures of that probe can be published as fail. The current breakdown is counted out in the methodology.

Order. Endpoints with at least one settled L1 purchase first, then measured endpoints (pass / fail), then by observed call volume (catalog-reported, last 30 days). L1 is shown as delivered · settled / attempts for that endpoint; — means no purchase was attempted. settled is the transfer vet402 re-read on-chain; delivered is a settled attempt whose paid request also answered 2xx. A paid attempt that answered 4xx — settled, or refused with no settlement receipt — is published as inconclusive and is not counted against the seller: vet402 buys with no API key of the seller's and sends a POST body only when the seller declares one, so a 4xx can be vet402's own request being malformed. So is a 402 or 5xx from 2026-09-13 00:00 to 2026-09-15 23:49 UTC, when vet402's own payer wallet had run out of USDC. The endpoint's page shows those rows and the count (methodology §2). Per-endpoint counts use the same paid-attempt denominator as the totals reported by /api/v1/observatory/state. The [settled on-chain] entry under Figure 1 lists the endpoints with at least one purchase settled on-chain, whether the transaction came from the seller's receipt or from vet402's own index. A receipt on these pages is the seller's own settlement receipt.

Snapshot line. fetched is the number of raw catalog items received across pages, counted before duplicate URLs collapse into one endpoint key; catalog is the total the catalog reports about itself. Fetched can exceed the catalog total for that reason, and a fetch below the total is incomplete: no delisting judgement is made on such a day. Endpoints on record (Figure 1) include delisted entries; the Catalog column says which are still listed. The active count under Figure 1 is a different figure from the catalog total on the snapshot line: it counts endpoint rows on record whose catalog status is still active. That status is set when a fetch lists the endpoint and flipped to delisted only by the daily diff against the previous day's snapshot on a complete fetch, so it is carried over from earlier days rather than re-read from the snapshot line, and the two need not agree.

Catalog is presence in the public discovery catalog: active means listed as of the latest snapshot; delisted means the entry was present on an earlier day and absent on a complete fetch — with the before/after recorded on the endpoint's page. L0 is the payment-wall measurement. pass means a probe received HTTP 402 with a parseable accepts array consistent with the catalog declaration. The probe uses the HTTP method the listing declares when that method is GET, POST, HEAD, or DELETE, and GET when the listing declares no method or a method outside that set. fail means two or more consecutive probes contradicted the catalog declaration (each with a recorded reason). unverified. unverified means vet402 does not have grounds to publish either pass or fail yet. It is not a failure and is never counted as one: it is an entry not yet reached by the rolling schedule, an entry whose failing probe has not met the publication gate, an entry recorded as path_template, or the remainder after the three above. The remainder includes a latest reason of rate_limited, tls, request_shape, or unsafe_target. It also includes a latest reason of method_undeclared, for which no request was sent before 2026-09-02, and body_over_cap, for which a 402 came back and the body was not read to the end. A listing that declares no HTTP method, or a method other than GET, POST, HEAD, or DELETE, is measured with GET, and two consecutive failures of that probe can be published as fail. A day on which vet402's own fetch was incomplete produces no delisting judgements at all.

Verify a payeeGet an API key