Paste any public x402 endpoint. We call it from outside with no payment and no credentials, then read the 402 back to you the way a buying agent reads it.
Free, one endpoint per check, no signup. We never send a payment and never see your traffic.
| Check | What goes wrong when it fails |
|---|---|
| Facilitator named at all three levels | A spec-following client reads the facilitator from accepts[0].extra, then accepts[0], then the root. Named nowhere, it falls back to a default that cannot settle to you, so a healthy endpoint reads to the buyer as a payment failure. |
| The facilitator actually answers | An advertised facilitator that 404s on /verify is worse than none: the buyer trusts your terms and stalls. We probe the one you name. |
| Payment-Required header present | Coinbase's indexer reads the terms from that header, not the body. Absent, the endpoint cannot be listed at all, however perfect the JSON is. |
| Header survives a default proxy | Past 4KB, nginx's default buffer drops it and the buyer gets 502 while your app logs a clean 402. Silent, and it looks like their bug. |
| Terms complete enough to sign | Missing payTo, asset, network, amount or maxTimeoutSeconds and the agent cannot construct a payment even when it wants to. |
| Price clears the settlement floor | Priced below the cost of broadcasting the payment, a buyer that settles for itself loses money by trading with you. We measure that floor from real settlement receipts, not a textbook estimate. |
| Discoverable and describable | No serviceName, description or schemas, and an agent must guess what it is buying. Most do not guess. |