{"uid":"cap_Z1PQOYa0pl9b667dgBsIT","slug":"horizon-pulse-x402-endpoint-auditor-b5c2a1e9","name":"Horizon Pulse x402 Endpoint Auditor","description":"Pay-per-call APIs for AI agents via x402 on Base: web fetch, HTTP proxy, page extract, and crypto market data.","url":"https://horizonpulse.dev/api/x402-check?utm_source=zero.xyz","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","HEAD","DELETE"],"type":"string"},"queryParams":{"type":"object","required":["url"],"properties":{"url":{"type":"string","description":"Absolute http(s) URL of the x402 endpoint to audit (required). Private/localhost blocked."},"body":{"type":"string","description":"Optional JSON body (<=8KB, URL-encoded) sent with a POST probe, for endpoints that validate input before returning 402. Implies POST."},"method":{"type":"string","description":"HTTP method for the unpaid probe: GET (default; one POST retry on 405) or POST."}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","description":"Horizon Pulse x402 endpoint audit report. The example is a trimmed real response recorded from GET /api/demo/x402-check at 2026-10-01T14:36Z UTC; live values differ on every call."}}}}},"responseSchema":{"type":"json","example":{"ok":true,"checks":[{"id":"status_402","level":"pass"},{"id":"challenge","level":"pass"},{"id":"version","level":"pass"},{"id":"payto_type","level":"info"},{"id":"discovery","level":"pass"}],"isX402":true,"method":"GET","target":"https://horizonpulse.dev/api/pulse","accepts":[{"payTo":"0x5b32c973596078a967562ca652761404f19be0e9","network":"eip155:8453","amountUsd":"$0.005","payToType":"eoa","assetLabel":"USDC (Base)"}],"summary":{"fail":0,"pass":4,"warn":0},"discovery":{"method":"GET","present":true,"hasInputSchema":true,"hasOutputExample":true},"elapsedMs":201,"httpStatus":402,"x402Version":2,"challengeSource":"header"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","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.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_qp2xKdH9aol5ofCyErnv3","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Audits any public x402 payment-gated endpoint by sending an unpaid probe and decoding the 402 response, returning validity checks, version, price/network/asset details, and payTo analysis — without ever paying.","exampleAgentPrompt":"Audit the x402 endpoint at https://api.example.com/premium-data using a GET probe — I want to see if it returns a valid 402, what price and token it demands, which network, and whether the payTo is an EOA or a contract.","exampleUseCases":[{"title":"Verify newly deployed x402 API","prompt":"I just deployed my x402-gated API at https://myservice.io/api/data — can you audit it with a GET probe and tell me if the 402 response is valid, what version of x402 it's using, and whether my payTo address looks like an EOA or a contract?"},{"title":"Debug a broken payment-gated endpoint","prompt":"My x402 endpoint at https://payments.acme.com/api/report is rejecting clients and I'm not sure why — can you probe it with a HEAD request and show me the pass/warn/fail checks so I can see what's misconfigured?"},{"title":"Compare price and asset across x402 APIs","prompt":"Can you audit https://dataprovider.xyz/api/feed with a GET probe and tell me what price, asset, and network it requires? I want to know if it's charging in USDC on Base or something else."}],"resultDescription":"Returns a structured audit report including: whether the 402 response is valid x402, the x402 protocol version, decoded payment requirements (price, network, asset), payTo address and its type (EOA vs smart contract), any discovery metadata hints embedded in the response, and a set of pass/warn/fail compliance checks — all without sending any payment.","failureModes":["Target URL is private/localhost — blocked for SSRF safety, returns error","Target URL does not return a 402 — audit reports non-x402 or unexpected status","Malformed 402 response — decoded fields may be missing or flagged as fail","Network timeout reaching target endpoint — returns connectivity error","Unsupported HTTP method provided — rejected at input validation"],"whenToPreferThis":"Use this endpoint when you need to verify or debug an x402-compliant payment-gated API without spending any funds. It is the right choice when you want to inspect the 402 response structure, confirm protocol version compliance, decode pricing details, or determine payTo address type. Prefer it over a raw HTTP probe because it provides structured pass/warn/fail analysis specifically for the x402 standard, and it is SSRF-safe.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-01T06:38:06.286Z","isFirstParty":false,"canonicalSlug":"horizon-pulse-x402-endpoint-auditor-b5c2a1e9"}