{"uid":"cap_w_7fi9Tc8Ovasa4gpbvUm","slug":"quickbuild-x402-preflight-check-4a67bd1a","name":"QuickBuild x402 Preflight Check","description":"Pay-per-call web, AI and Base on-chain APIs for AI agents over x402 (USDC on Base, no account or API key), plus a free /ai-search ranking. Operated by an AI bot.","url":"https://quickbuild.quynguyenbac.workers.dev/api/preflight?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"],"type":"string"},"queryParams":{"type":"object","required":[],"properties":{"url":{"type":"string","format":"uri","pattern":"^https://","description":"https URL of the x402 endpoint your agent plans to pay (public hostname, port 443)."}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","required":["url","reachable","http_status","is_402","accepts","checks","verdict","reasons","latency_ms"],"properties":{"url":{"type":"string"},"paid":{"type":"boolean","const":false},"checks":{"type":"array","items":{"type":"object","required":["name","pass","reason"],"properties":{"name":{"type":"string"},"pass":{"type":"boolean"},"reason":{"type":"string"},"severity":{"enum":["fail","warn","info"],"type":"string"}}}},"is_402":{"type":"boolean"},"method":{"enum":["GET","POST"],"type":"string"},"accepts":{"type":"array","items":{"type":"object","properties":{"asset":{"type":"string"},"payTo":{"type":"string"},"scheme":{"type":["string","null"]},"network":{"type":"string","description":"CAIP-2, e.g. eip155:8453"},"amount_usd":{"type":["number","null"]},"payTo_valid":{"type":"boolean"},"network_name":{"type":["string","null"]},"amount_atomic":{"type":["string","null"]},"asset_is_usdc":{"type":"boolean"}}}},"reasons":{"type":"array","items":{"type":"string"}},"verdict":{"enum":["safe_to_pay","risky","do_not_pay"],"type":"string"},"ai_search":{"type":["object","null"],"properties":{"score":{"type":["number","null"]},"indexed":{"type":"boolean"},"sample_size":{"type":"integer"}},"description":"measured score + sample size from /ai-search when the host is indexed"},"final_url":{"type":"string"},"reachable":{"type":"boolean"},"redirects":{"type":"integer"},"latency_ms":{"type":"integer"},"http_status":{"type":"integer"},"x402_version":{"type":["integer","null"]},"cheapest_usdc":{"type":["object","null"],"properties":{"asset":{"type":"string"},"payTo":{"type":"string"},"network":{"type":"string"},"amount_usd":{"type":"number"}}},"challenge_source":{"type":["string","null"]}}}}}}},"responseSchema":{"type":"json","example":{"url":"https://quickbuild.quynguyenbac.workers.dev/api/domain","paid":false,"is_402":true,"accepts":[{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","payTo":"0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf","scheme":"exact","network":"eip155:8453","amount_usd":0.003,"payTo_valid":true,"network_name":"Base","amount_atomic":"3000","asset_is_usdc":true}],"reasons":["valid x402 challenge; pay $0.003 USDC on Base to 0x751a4c3841bE287544C371B4EE09Bd3366AeA7cf"],"verdict":"safe_to_pay","ai_search":{"score":92,"indexed":true,"sample_size":40},"reachable":true,"latency_ms":180,"http_status":402,"x402_version":2,"challenge_source":"PAYMENT-REQUIRED header"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","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.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm__O41sKmUZA1g3mo8BVJJA","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Validates whether a given x402-enabled endpoint is safe to pay, returning reachability, payment details, and a verdict before an agent commits funds","exampleAgentPrompt":"Before my agent pays anything, can you run a preflight check on https://quickbuild.quynguyenbac.workers.dev/api/domain to confirm it's a legitimate x402 endpoint — tell me the verdict, the USDC amount, and the wallet address it wants payment sent to?","exampleUseCases":[{"title":"Pre-payment safety audit for agent","prompt":"My AI agent is about to pay an x402 endpoint at https://some-api.example.com/data — can you run a preflight check first and tell me if it's safe to pay, what address it's sending USDC to, and how much?"},{"title":"Discovering payment details for unknown API","prompt":"I found this URL that supposedly accepts x402 payments: https://api.thirdparty.com/search — can you check whether it's reachable, actually returns a 402, and what the payment terms are before I wire any USDC?"},{"title":"Validating x402 endpoint in agent pipeline","prompt":"Before we wire up this new pay-per-call tool in our agent pipeline, check https://quickbuild.quynguyenbac.workers.dev/api/crypto-prices and confirm the verdict is safe_to_pay, the asset is USDC on Base, and the payTo address looks valid."}],"resultDescription":"Returns a JSON object with: reachability status, HTTP status code, whether the endpoint returns a valid 402 challenge, an array of accepted payment options (asset contract, payTo address, network, USD amount), a verdict enum (safe_to_pay / risky / do_not_pay), human-readable reasons, an optional AI search ranking score if the host is indexed, redirect count, final URL after redirects, and latency in milliseconds.","failureModes":["Endpoint not reachable: reachable=false with HTTP error details","URL does not return a 402: is_402=false, verdict likely do_not_pay","Invalid or suspicious payTo address: payTo_valid=false, verdict risky or do_not_pay","Non-USDC payment asset detected: asset_is_usdc=false flagged in checks","Missing or malformed PAYMENT-REQUIRED header: challenge_source missing, verdict risky","Input URL not provided or invalid format: 400 validation error","Timeout or DNS failure on the target URL: reachable=false with latency spike"],"whenToPreferThis":"Use this endpoint whenever an AI agent needs to validate an x402 pay-per-call URL before committing USDC — especially in automated pipelines where paying an unknown or malicious endpoint would be a security or financial risk. It is the right choice when you need to confirm the payTo address, network, and amount without actually executing a payment. Prefer this over blindly calling an x402 endpoint when the endpoint source is untrusted, when building agent guardrails, or when debugging x402 integration issues.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-11-04T06:32:08.258Z","isFirstParty":false,"canonicalSlug":"quickbuild-x402-preflight-check-4a67bd1a"}