{"uid":"cap_IVMPfXpTPNkUgZ-m6GCyA","slug":"x402-endpoint-checker-validator-ffd4e002","name":"x402 Endpoint Checker & Validator","description":"Use when you need an x402 endpoint check or x402 endpoint test, or to validate x402 endpoint listings before paying or integrating. Do not use for actually paying the endpoint, or endpoints behind authentication. Returns JSON with an x402 check of an endpoint without paying: whether it answers 402, its payment options (scheme, network, asset, amount, payTo), Bazaar metadata and problems found for 0.007 USDC per call. Typical response time 2500 ms (p95). Category: Infrastructure.","url":"https://x402-gateway.blackwoodstate8.workers.dev/v1/x402-check?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","bodyType","body"],"properties":{"body":{"type":"object","required":["url"],"properties":{"url":{"type":"string","maxLength":2048,"minLength":8,"description":"Public http(s) URL of the x402 endpoint, e.g. https://x402.org/protected"},"body":{"type":"object","description":"JSON body to send with POST, e.g. {\"url\": \"https://example.com\"} (no payment is ever attached)","propertyNames":{"type":"string"},"additionalProperties":{}},"method":{"enum":["GET","POST"],"type":"string","description":"HTTP method of the endpoint (GET when omitted)"}}},"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"bodyType":{"enum":["json","form-data","text"],"type":"string"}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["url","finalUrl","status","x402","version","resource","accepts","bazaar","problems","checkedAt"],"properties":{"url":{"type":"string"},"next":{"type":"object","required":["service","tool","method","url","useWhen","sample"],"properties":{"url":{"type":"string","description":"Paid route of the next call"},"tool":{"type":"string","description":"MCP tool name of the same call"},"method":{"enum":["GET","POST"],"type":"string"},"sample":{"type":"string","description":"Free fixed sample of the whole family"},"service":{"type":"string","description":"Service id of the suggested next paid call"},"useWhen":{"type":"string","description":"When the next call is the right one"}},"description":"Suggested next paid call in the same family (call it in a loop when the task continues)","additionalProperties":false},"x402":{"type":"boolean"},"bazaar":{"type":"object","required":["present","inputSchema","outputSchema"],"properties":{"present":{"type":"boolean"},"inputSchema":{"type":"boolean"},"outputSchema":{"type":"boolean"}},"additionalProperties":false},"status":{"type":"number"},"accepts":{"type":"array","items":{"type":"object","required":["scheme","network","asset","amount","amountUsd","payTo","maxTimeoutSeconds"],"properties":{"asset":{"type":["string","null"]},"payTo":{"type":["string","null"]},"amount":{"type":["string","null"]},"scheme":{"type":["string","null"]},"network":{"type":["string","null"]},"amountUsd":{"type":["number","null"]},"maxTimeoutSeconds":{"type":["number","null"]}},"additionalProperties":false}},"version":{"type":["number","null"]},"finalUrl":{"type":"string"},"problems":{"type":"array","items":{"type":"string"}},"resource":{"anyOf":[{"type":"object","required":["url","description","mimeType"],"properties":{"url":{"type":["string","null"]},"mimeType":{"type":["string","null"]},"description":{"type":["string","null"]}},"additionalProperties":false},{"type":"null"}]},"checkedAt":{"type":"string"}},"additionalProperties":false}}}}},"responseSchema":{"type":"json","example":{"url":"https://x402.org/protected","x402":true,"bazaar":{"present":false,"inputSchema":false,"outputSchema":false},"status":402,"accepts":[{"asset":"0x036CbD53842c5426634e7929541eC2318f3dCF7e","payTo":"0x209693Bc6afc0C5328bA36FaF03C514EF312287C","amount":"10000","scheme":"exact","network":"eip155:84532","amountUsd":0.01,"maxTimeoutSeconds":300},{"asset":"4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU","payTo":"CKPKJWNdJEqa81x7CkZ14BVPiY6y16Sxs7owznqtWYp5","amount":"10000","scheme":"exact","network":"solana:EtWTRABZaYq6iMfeYKouRu166VU2xqa1","amountUsd":0.01,"maxTimeoutSeconds":300}],"version":2,"finalUrl":"https://x402.org/protected","problems":["no_bazaar_metadata: without discovery metadata the endpoint is hard to find in the Bazaar"],"resource":{"url":"https://x402.vercel.app/protected","mimeType":null,"description":"Access to protected content"},"checkedAt":"2026-10-17T16:49:24.432Z"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.007","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"registry","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.007/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.007","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.007","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_4MWld94_5WrQ_861nnSX_","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.007","costPer":"request","priority":0,"asset":null,"unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Validates whether a public URL correctly implements the x402 payment protocol by checking for 402 responses, parsing payment options, and surfacing discovery metadata problems — without actually paying.","exampleAgentPrompt":"Can you check whether https://x402.org/protected is properly configured as an x402 endpoint — does it return a 402, what payment options does it advertise, and are there any problems with its Bazaar discovery metadata?","exampleUseCases":[{"title":"Pre-listing x402 API validation","prompt":"Before I list my new x402 API at https://myapi.example.com/paid on Bazaar, can you validate it — check that it returns a 402, parse out the payment scheme, network, asset, amount and payTo address, and tell me if there are any metadata problems I need to fix?"},{"title":"Debugging a broken x402 integration","prompt":"My x402 endpoint at https://payments.myservice.io/data isn't getting picked up by discovery tools — can you run a check on it and tell me exactly what problems are found with the response and Bazaar metadata?"},{"title":"Auditing a third-party x402 API before use","prompt":"I want to integrate a paid x402 API at https://api.thirdparty.xyz/inference — can you inspect it without paying, and tell me whether it actually responds with 402, what asset and amount it requires, and whether the payment options look legitimate?"}],"resultDescription":"A JSON object indicating whether the URL responds with a 402 status, the parsed x402 payment options (scheme, network, asset, amount, payTo address), Bazaar discovery metadata presence and schema validity, a list of problems found, the final resolved URL, and a checkedAt timestamp. May also include a suggested next paid call in the same service family.","failureModes":["URL is not publicly reachable — returns error or timeout","Endpoint does not return 402 — x402 flag is false, no payment options parsed","Malformed x402 headers — payment options partially parsed with problems listed","URL scheme is not http/https — rejected by input validation","URL length exceeds 2048 characters — rejected","POST body provided but endpoint is GET-only — mismatch detected","Bazaar metadata absent or schema invalid — flagged in problems list"],"whenToPreferThis":"Use this endpoint when you need to test or audit an x402-protocol endpoint without spending funds — for example before listing on Bazaar, debugging a misconfigured x402 API, or verifying a third-party x402 service. Do not use it to actually make a paid request to an x402 endpoint, or to check endpoints behind standard authentication (API keys, OAuth). For generic HTTP health checks unrelated to x402 payment semantics, prefer a standard uptime or header-audit tool.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-23T01:09:59.153Z","isFirstParty":false,"canonicalSlug":"x402-endpoint-checker-validator-ffd4e002"}