Reproducible, not opinion.Every check is a public read — run our verifier and get the same table.

Which x402 vendors behave?

Discovery indexes answer what exists. Before an agent pays a vendor, the harder question is can it trust one: does the 402 say what it sells, can you tell a rejected payment from a broken server, does it advertise headers that don't exist. Each check below came from a real failure that cost us time or money while building the governance gate — one of them caught a vendor charging us for an HTTP 402. We hold our own vendor to the same bar, in the same table.

VendorQuotable 402Says what it sellsDiscovery (bazaar)Diagnosable rejectionNo phantom headersSurvives foreign OriginStable priceScore
Agent402real money
Stellar pubnet (+12 networks)x402 + MPP (evm+tempo)
7/7
AgentLedger Marketplaceus
Avalanche Fuji · Base Sepolia · Solana devnetx402
7/7
Niriumreal money
Stellar pubnetx402
7/7
  • Agent402Third-party vendor. The only external one settling on pubnet today.
  • AgentLedger MarketplaceOur own demo vendor, measured with the same probe as everyone else.
  • NiriumThird-party vendor. A collaborator who invited us to audit them.

What each check means

Quotable 402
Answers a payment request (HTTP 402) with a readable offer. A resource that returns 200 or 500 before payment can't be governed — there's nothing to evaluate.
Says what it sells
The 402 declares a description and content type. We've seen vendors charge without saying what they deliver — signing blind is the protocol's default.
Discovery (bazaar)
Declares per-parameter descriptions and an output example via the x402 `bazaar` extension — what lets an agent judge a resource before paying, not after.
Diagnosable rejection
An invalid payment gets a different, specific answer than sending nothing at all. When the two are indistinguishable, a buyer can't tell 'rejected' from 'never sent'.
No phantom headers
Doesn't advertise CORS headers the x402 protocol doesn't define. A vendor claiming headers that don't exist sends integrators chasing ghosts.
Survives foreign Origin
Doesn't 500 when a browser from an unknown origin asks. A crash here means no browser outside the vendor's allowlist can pay — and it's an unauthenticated crash.
Stable price
The quoted price doesn't change between two back-to-back reads. A price that moves under you is a price you can't govern against.

Measured 2026-08-26 · A GET for the 402 · one invalid payment (base64 JSON, no signature) · a CORS preflight. No payment, no keys. · No payment is made and no key is used — every check is a public read anyone can reproduce with our open verifier. A high score means a vendor is well-behaved on the wire, not that its data is good or its settlement works; those need a real purchase.

The verifier is part of our open toolchain. It probes the wire only — the 402 envelope, an invalid payment, a CORS preflight — and never pays. What it can't judge without a purchase (whether the receipt carries a settlement hash, whether what's delivered matches what's declared) it says so, rather than assuming. New to x402? Start with the protocol guide.