{"uid":"cap_Q4CDz8P3CBCVuNRoUNV8T","slug":"402utils-x402-payment-requirements-probe-20baabf4","name":"402utils x402 Payment Requirements Probe","description":"Micro API utilities for AI agents, priced per call and paid in USDC over the x402 protocol. PDF, screenshot, OG-image and more — no signup, no keys.","url":"https://402utils.com/v1/x402-probe","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["url"],"properties":{"url":{"type":"string","format":"uri","description":"Public http(s) URL of the endpoint to probe (required)."}},"description":"Query string only."}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["isX402","status"],"properties":{"isX402":{"type":"boolean","description":"True when the target answered 402 with decodable x402 payment requirements."},"prices":{"type":"array","items":{"type":"object","properties":{"asset":{"type":"string","description":"Asset contract address or identifier."},"payTo":{"type":"string"},"amount":{"type":"string","description":"Price in atomic units of the asset (e.g. 6-decimal USDC)."},"scheme":{"type":"string"},"network":{"type":"string","description":"Network id, e.g. eip155:8453 (v2) or base-sepolia (v1)."},"maxTimeoutSeconds":{"type":"number"}}},"description":"One entry per accepts[] payment option; fields are copied only when advertised."},"reason":{"enum":["undecodable_402","too_many_redirects"],"type":"string","description":"Why isX402 is false despite an unusual (but definitive) response."},"status":{"type":"integer","description":"HTTP status the target answered with."},"resource":{"type":"string","description":"Resource URL advertised in the payment payload."},"discovery":{"type":"object","description":"Bazaar/discovery extension object, passed through verbatim when present."},"description":{"type":"string","description":"Human description advertised by the target."},"x402Version":{"type":"integer","description":"x402 protocol version (2 = PAYMENT-REQUIRED header payload, 1 = 402 body payload)."}}}}}}},"responseSchema":{"type":"json","example":{"isX402":true,"prices":[{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x209693Bc6afc0C5328bA36FaF03C514EF312287C","amount":"2000","scheme":"exact","network":"eip155:8453","maxTimeoutSeconds":60}],"status":402,"resource":"https://402utils.com/v1/rss-to-json","description":"Fetch an RSS 2.0 or Atom feed and return clean JSON.","x402Version":2}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","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.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_TP6UmmIzHEgfU3dNrPOZI","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Probes a third-party endpoint to decode its x402 payment requirements without sending any payment, returning normalized pricing, asset, network, and discovery metadata.","exampleAgentPrompt":"Before I pay anything, can you probe https://api.example.com/some-paid-endpoint and tell me what x402 payment it requires — the price, asset, network, and who to pay?","exampleUseCases":[{"title":"Compare pricing across x402 APIs","prompt":"I'm evaluating three different x402-protected image generation APIs. Can you probe each one and show me their pricing in USDC, which networks they support, and which is cheapest per call?"},{"title":"Validate endpoint before automation","prompt":"Before I wire up this third-party x402 endpoint into my agent's workflow, can you check what its payment requirements are? I need to know the exact amount, asset type, and recipient address so I can set up automated payments."},{"title":"Discover x402 metadata for routing","prompt":"I have a list of potential data provider URLs and I'm not sure which ones use x402. Can you scan them all and tell me which ones are x402-protected, what they cost, and what networks they accept? I want to build smart routing logic."}],"resultDescription":"Returns a JSON object with isX402 (boolean), the HTTP status the target returned, and when x402 is detected: an array of price options each containing amount in atomic units, asset identifier, network ID, payTo address, scheme, and optional maxTimeoutSeconds; plus the resource URL, human description, x402 protocol version (1 or 2), and any Bazaar discovery metadata. Non-x402 targets return {isX402: false, status}.","failureModes":["Target URL is not reachable or times out after 8 seconds — returns error or timeout indication","Target redirects more than once — returns {isX402: false, reason: 'too_many_redirects', status}","Target returns 402 but with undecodable payload — returns {isX402: false, reason: 'undecodable_402', status}","Target is not an x402 endpoint — returns {isX402: false, status: <actual HTTP status>}","SSRF check blocks internal/private IP targets — request rejected before probing","Input URL is missing or malformed — validation error returned"],"whenToPreferThis":"Use this endpoint when you need to inspect the x402 payment requirements of a third-party API before integrating or paying it — especially when you want to compare pricing across x402 endpoints, build payment-aware routing logic, or verify that an endpoint actually speaks x402 before committing funds. It is the right choice over manually parsing 402 headers because it normalizes both v1 (JSON body) and v2 (base64 PAYMENT-REQUIRED header) formats into a consistent structure and includes Bazaar discovery metadata.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T18:50:46.042Z","isFirstParty":false}