Paste a paid endpoint URL: x402 (HTTP or MCP), MPP from Stripe and Tempo, and L402 (Lightning) too. Read-only diagnostics: no wallet, no payment, no risk. Try an example.
Get a notification on your phone, or a message on Telegram, Discord or Slack, when this endpoint stops being payable (checked every hour, nothing paid): Watch this endpoint, free →
The code that fixes these problems, for your stack, filled in with your own payTo, amount, network and route.
You pay $0.05 in USDC on Base; your wallet shows a signature for exactly that amount to our payout wallet 0x6B0F…5F25. MetaMask's security check may call that wallet "untrusted" because it is a regular wallet rather than a contract; that is normal for x402 payments, and the signature can only move this one amount, once. Want a second opinion before you sign? presign-guard reads any signature request and tells you what it can move and to whom. Agents: GET /api/v1/fix?url=…
A check reads the 402; only a purchase shows what you get for your money. x402 Doctor buys this endpoint once (at most $0.10, USDC on Base, with the example input its own listing declares), checks the answer against its declared output schema, has TypeSafe's Jev judge whether it is what was paid for, and measures the charge on chain. The result is public, usually within 30 minutes. For sellers who want proof, and buyers before a big order.
You pay $0.25 in USDC on Base, signed in your own wallet, to our payout wallet; the endpoint itself is paid from a separate wallet of ours. If this endpoint can't be bought (not a "go", not on Base, over $0.10), you see why before anything is paid. Agents: GET /api/v1/delivery-check?url=…
Before paying an endpoint you haven't used: go, caution or no_go, the payment option to use, and why. A seller whose payout address is on the OFAC sanctions list is no_go.
GET /api/v1/preflight?url=…&max_usd=0.05
Weighing several services? One verdict per endpoint and the totals, in one call.
GET /api/v1/preflight/batch?url=…&url=…
Before an expensive call: the verdict plus the full diagnosis, 30 days of daily scans, the seller's other endpoints and domain moves.
GET /api/v1/preflight/deep?url=…
Not a reading but a purchase: we buy the endpoint once (at most $0.10) with its declared example input and publish whether it was paid and delivered, with the charge measured on chain.
GET /api/v1/delivery-check?url=…
Checking often? Pay once, 20% or 30% off, valid a year. A credit is $0.001: a preflight costs 1, a diagnosis 10. Send the key as x-credit-key instead of paying per call.
GET /api/v1/credits/1000
Paid per call in USDC via x402 or MPP on Base, Solana, Monad, Polygon, Arbitrum, Avalanche, the XRP Ledger, Algorand or Stellar (RLUSD on the XRP Ledger, USD₮0 on X Layer, or $AFUEL on Solana at 25% off), with a signed receipt. They never pay the endpoint. Also as MCP tools at /mcp; details in the OpenAPI.
Is the seller a registered agent in Concordium's Agent Registry? Active, its card still matches the hash on chain, the card lists this site, and payTo is the agent's own wallet or a key bound to it. In the web check, and as the MCP tool concordium_badge_check. Owners: pin your Agent Card.
The owner proves from their own Concordium wallet that a verified adult, or an EU resident, stands behind the payTo, with zero knowledge: nothing else about them is revealed. Tied to the site and the payTo, so a copy fails elsewhere. The web check shows it. Make the proof.
A seller can sell only to agents whose owner proved a fact, such as 18 or older, tied to the account the agent pays from. The owner makes it once. Make a buyer proof.
x402 Doctor is itself agent #5120 on Concordium mainnet. Built for the Concordium Trusted Agents hackathon, with an open-source x402 facilitator for Concordium that checks both proofs before it pays the fee. Demo video.
Call x402 Doctor's preflight: GET https://x402-doctor.fizzl.eu/api/v1/preflight?url=<endpoint>&max_usd=0.05. For $0.001 it answers go, caution or no_go, with the reasons and the cheapest option that will settle. It checks the 402 the way a paying agent would: the price against the listing, whether the payout address can receive, the OFAC sanctions list, testnet-only offers and the endpoint's 30-day record. The MCP tool x402_quick_check gives a free pass, warn or fail.
Most often the 402 names another URL than the one called (the resource field), the listed URL doesn't answer 402 on the listed method, only a testnet is offered, or the 402 asks more than the listing says. Paste your endpoint above for a free diagnosis with the fix for each problem, or run npx github:Fizzl13/x402-doctor <url> in CI.
Yes. The web check on this page is free: paste a URL and it decodes the 402 challenge and runs every check without paying. In CI, use npx github:Fizzl13/x402-doctor <url> or the GitHub Action Fizzl13/x402-doctor-action. Agents can use the free MCP tool x402_quick_check (10 calls an hour).
The x402 Trust Index at https://x402-doctor.fizzl.eu/trust checks about 42,000 paid x402 and MPP endpoints every day and keeps a 30-day record per endpoint; GET https://x402-doctor.fizzl.eu/api/trust?url=<endpoint> returns it for free. Every week x402 Doctor also buys about 30 random payable endpoints and publishes what came back.
Yes. It checks offers on Base and other EVM chains, Solana, the XRP Ledger, Algorand, Stellar, Concordium, TRON, Nano and Circle's Arc, and MPP challenges. Its own paid calls accept USDC on Base, Solana, Monad, Polygon, Arbitrum, Avalanche, Algorand or Stellar, RLUSD on the XRP Ledger, USD₮0 on X Layer, $AFUEL on Solana (25% off), or MPP.
Add the remote MCP server https://x402-doctor.fizzl.eu/mcp. In Claude Code: claude mcp add --transport http x402-doctor https://x402-doctor.fizzl.eu/mcp. Agent skills: npx skills add Fizzl13/x402-doctor, or in Claude Code /plugin marketplace add Fizzl13/x402-doctor and then /plugin install x402-doctor@fizzl.