Skip to main content
Independent MeasurementRegister: x402 endpoints, L0 · L1Bazaar catalog snapshot 2026-11-13 · fetched 34,756 of catalog 35,259
vet402State of x402 · MethodologyTable: L0 verdicts and L1 purchases

The x402 Observatory

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

Counts for each chain are on x402 and MPP payments by chain. Check a seller before paying on its own page.

Find an endpoint

pass 95,204(59.1%)fail 15,457(9.6%)unverified 46,758(29.0%)withdrawn 3,717(2.3%)[settled on-chain 9,171]

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 161,136 endpoints.

1.Observed endpoints

L0 observations over catalog endpoints
EndpointL0L1 delivered ·
settled / attempts (delivered: a settled purchase whose paid request answered HTTP 2xx other than 202 Accepted, with a non-empty body; settled: the transfer re-read on-chain; attempts: paid attempts)
Last probedNetworkDeclared methodCatalogCalls 30d
x402-tc-agent-server.vercel.app/api/send-tokenunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-09-04 17:40 UTCBaseGETdelisted4
x402.ochinimus.app/api/stablecoin-flowsunverified2 delivered (paid retry returned deliverable HTTP 2xx) · 2 settled on-chain of 2 paid attempts2026-10-12 12:40 UTCSolanaGETdelisted4
x402.shizu.me/cryptounverified3 delivered (paid retry returned deliverable HTTP 2xx) · 3 settled on-chain of 4 paid attempts2026-11-11 02:31 UTCBaseGETactive4
x402op-edge-39830b.fly.dev/p/x402-marketunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-11-11 13:40 UTCBasePOSTactive4
5-9-107-124.nip.io/defi-poolunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-09-04 17:40 UTCBaseGETdelisted3
aayatai.com/crawlunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-10-12 15:40 UTCBaseGETdelisted3
aayatai.com/qrunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-10-12 15:40 UTCBaseGETdelisted3
aayatai.com/uk/bank-holidaysunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-10-12 15:40 UTCBaseGETdelisted3
agent-tariff-lookup.iykykblog.workers.dev/lookupunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-11-10 22:40 UTCBasePOSTactive3
agents.daedalusdevelopmentgroup.com/v1/trust/checkunverified0 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-10-26 00:40 UTCBasePOSTdelisted3
agents.dexl.io/v1/tools/evm-rpcunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-10-26 00:40 UTCBasePOSTdelisted3
agents.dexl.io/v1/tools/site-crawlunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 2 paid attempts2026-10-26 00:40 UTCBasePOSTdelisted3
agents.dexl.io/v1/tools/web-fetchunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-10-26 06:40 UTCBasePOSTdelisted3
agents.pubrio.com/companies/linkedin/lookupunverified0 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-11-11 22:40 UTCBasePOSTactive3
agents.x402stock.xyz/api/v1/filing-searchunverified0 delivered (paid retry returned deliverable HTTP 2xx) · 3 settled on-chain of 3 paid attempts2026-11-13 04:40 UTCBaseGETactive3
api.fairseal.io/v1/notarizeunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 2 paid attempts2026-11-12 22:40 UTCBasePOSTactive3
api.hergertsynthora.com/v1/polymarket-tradesunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-10-18 16:40 UTCBasePOSTdelisted3
api.hergertsynthora.com/v1/websearchunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-10-06 16:40 UTCBasePOSTdelisted3
api.hyperd.ai/api/risk/full_auditunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 2 paid attempts2026-11-11 13:40 UTCBaseGETactive3
api.ideafactorylab.org/x402/dns-lookupunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-11-11 22:40 UTCBaseGETactive3
api.invoket.com/vehicle/vin/decodeunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 2 paid attempts2026-11-11 22:40 UTCBaseGETactive3
api.seneschal.space/v1/q/recent-liquidationsunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-09-26 16:40 UTCBaseGETdelisted3
api.seneschal.space/v1/q/top-builderunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-09-26 13:40 UTCBaseGETdelisted3
api.x402risk.com/v1/address-screenunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-10-14 12:40 UTCBasePOSTdelisted3
api.zfinia.com/x402/v1/page-metadataunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-11-12 13:40 UTCBasePOSTactive3
app.difficat.com/api/v1/screenshotsunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-11-12 04:40 UTCBasePOSTactive3
assay.cascadiantech.com/v1/pools/newunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-11-11 13:40 UTCBaseGETactive3
automaton.72.62.51.224.sslip.io/deadlineunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-11-12 13:40 UTCBasePOSTactive3
bess-x402.onrender.com/v1/finance/vatunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-11-13 16:40 UTCBaseGETactive3
bess-x402.onrender.com/v1/geo/countryunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-11-13 16:40 UTCBaseGETactive3
crawl4agent.saastemly.com/mdunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-10-20 04:40 UTCBasePOSTdelisted3
fachada.chelsea-hermes.workers.dev/trip/v1/planunverified0 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-11-11 02:31 UTCBaseGETactive3
hl-funding.api.klymax402.com/api/arbunverified2 delivered (paid retry returned deliverable HTTP 2xx) · 2 settled on-chain of 2 paid attempts2026-09-18 22:40 UTCBasePOSTdelisted3
intent-api-matchmaker-mainnet-production.up.railway.app/v1/matchunverified2 delivered (paid retry returned deliverable HTTP 2xx) · 2 settled on-chain of 4 paid attempts2026-10-06 13:40 UTCBasePOSTdelisted3
macro-data-api-313m.onrender.com/v1/spreadunverified0 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-10-26 00:40 UTCBaseGETdelisted3
market-calendar-api.onrender.com/v1/vix-expiryunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-10-25 06:40 UTCBaseGETdelisted3
nexussdr-ai.run402.com/api/x402-auditunverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-10-25 00:40 UTCBaseGETdelisted3
pro-api.coingecko.com/api/v3/x402/onchain/simple/networks/base/token_price/0x0b3e328455c4059eeb9e3f84b5543f74e24e7e1b,0x4200000000000000000000000000000000000006unverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-11-11 02:31 UTCBaseGETactive3
pro-api.coingecko.com/api/v3/x402/onchain/simple/networks/base/token_price/0x4200000000000000000000000000000000000006,0x0b3e328455c4059eeb9e3f84b5543f74e24e7e1b,0x940181a94a35a4569e4529a3cdfb74e38fd98631,0xacfe6019ed1a7dc6f7b508c02d1b04ec88cc21bf,0x95ccfd2b81a9667b0cc979992632f98fc853eba3,0x9b5e262cf9bb04869ab40b19af91d2dc85761722,0xed664536023d8e4b1640c394777d34abaff1df8f,0x9a26f5433671751c3276a065f57e5a02d2817973unverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-11-11 14:31 UTCBaseGETactive3
pro-api.coingecko.com/api/v3/x402/onchain/simple/networks/tron/token_price/TEkxiTehnzSmSe2XqrBj4w32RUN966rdz8unverified1 delivered (paid retry returned deliverable HTTP 2xx) · 1 settled on-chain of 1 paid attempts2026-11-11 14:31 UTCBaseGETactive3

2.Reading this table

Abstract

Each endpoint vet402 has read from the public x402 discovery catalog, and whether its payment wall answers 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 Bazaar catalog is read in runs roughly two hours apart, each continuing where the previous run stopped. 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 deliverable 2xx response (delivered: other than 202 Accepted with a non-empty body), 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 HTTP 2xx other than 202 Accepted with a non-empty body. 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. For the Bazaar, fetched is the number of listings seen in the latest full read, counted once per endpoint key; catalog is the total the catalog reports about itself. A full read is spread over several runs, a listing that moves within the catalog's order during the read can be missed by it, and a strong pass can still leave up to 5% of its pages unread, so fetched can sit below the catalog total. /observatory/state marks each full read as a strong pass or a weak pass (more than 5% of its pages unreadable). A fetch is incomplete when vet402 stopped before the end of the catalog, and no delisting judgement is made on such a day. For the MPP directory, fetched can sit below the total because duplicate keys are counted once. Endpoints on record (Figure 1) include delisted entries; the Catalog column says which records are closed. 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 read lists the endpoint. A Bazaar listing is not flipped to delisted at present. A listing in the MPP directory or the Circle x402 discovery, and in no other catalog, is flipped by the daily diff against the previous day's snapshot on a complete fetch. The status 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 vet402 has not closed this record, and a Bazaar record stays active after it leaves the catalog (read last seen on the record page); 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