{"uid":"cap_tm3WIeiZfClImPc4NIGcD","slug":"tanod-agentscan-x402-preflight-9db01f4f","name":"Tanod Agentscan x402 Preflight","description":"agentscan (Tanod) x402 endpoint preflight: a pay, caution or avoid verdict from the live 402 and the agent index (payTo change, price outlier, listing age, farm score). Use when an agent must decide whether to pay an x402 endpoint: live 402, payTo change, price outlier, listing age.","url":"https://tanod.dev/v1/agents/preflight?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"url":{"type":"string","maxLength":2048,"minLength":9,"description":"The public https URL of the x402 endpoint an agent is about to pay, such as https://api.example.com/v1/weather. Host name only (no IP address), port 443, no user info. It is requested once without payment (GET, or POST when GET answers 404 or 405). A URL that is not public https, or a host that resolves to a private address, is a 422 and is not charged."},"policy":{"anyOf":[{"type":"object","properties":{"strict":{"type":"boolean","default":false,"description":"Default false; true fails clauses that cannot be judged."},"networks":{"anyOf":[{"type":"array","items":{"type":"string"},"maxItems":20,"minItems":1},{"type":"null"}],"default":null,"description":"Allowed networks: CAIP-2 ids or names (base, polygon, solana, bsc, arbitrum, ethereum, optimism, avalanche)."},"pay_to_deny":{"anyOf":[{"type":"array","items":{"type":"string"},"maxItems":50,"minItems":1},{"type":"null"}],"default":null,"description":"Denied payTo addresses (at most 50)."},"pay_to_allow":{"anyOf":[{"type":"array","items":{"type":"string"},"maxItems":50,"minItems":1},{"type":"null"}],"default":null,"description":"Allowed payTo addresses (EVM or Solana, at most 50)."},"allow_caution":{"type":"boolean","default":true,"description":"Default true; false fails a caution verdict. avoid always fails."},"max_price_usd":{"anyOf":[{"type":"number"},{"type":"string"},{"type":"null"}],"default":null,"description":"Most you will pay per call in USD (\"0.05\"), at most 100. Non-USDC options are unknown."},"require_listed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"true: the URL must be in the agent index."},"max_median_ratio":{"anyOf":[{"type":"number","maximum":1000,"exclusiveMinimum":0},{"type":"null"}],"default":null,"description":"Most the price may be as a multiple of the category median."},"max_timeout_seconds":{"anyOf":[{"type":"integer","maximum":604800,"minimum":1},{"type":"null"}],"default":null,"description":"Longest maxTimeoutSeconds you accept."}},"additionalProperties":false},{"type":"null"}],"default":null,"description":"Optional spend policy. The answer then adds `policy` (result pass or fail, with failed, unknown and checked clauses), judged on the options already read. A bad policy is a 422, not charged."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.001","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.001/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.001","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_hASRc2fF5JLehMiFbHxjb","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.001","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Checks whether an x402 endpoint is safe to pay by returning a pay/caution/avoid verdict based on live 402 response, payTo address changes, price outliers, listing age, and farm score.","exampleAgentPrompt":"Before we pay that x402 endpoint at https://api.example.com/v1/weather, run a preflight check on it — flag any payTo address changes or price outliers, and tell me if we should pay, proceed with caution, or avoid it entirely.","exampleUseCases":[{"title":"Screening unknown x402 API before payment","prompt":"I found an x402 API at https://someservice.io/v1/data — can you run a preflight check on it before we pay? Make sure the payTo address looks stable and the price isn't way above the category median."},{"title":"Enforcing network and price policy for agent fleet","prompt":"Our agents are about to call a new x402 endpoint at https://partner.dev/v1/signals — check if it's safe to pay, only allow Base network payments, and block it if the price exceeds $0.05 per call or if we get a caution or avoid verdict."},{"title":"Verifying x402 listing legitimacy before integration","prompt":"We want to integrate https://newapi.xyz/v1/prices into our workflow, but only if it's actually listed in the agent index and isn't a farm — can you preflight it and tell us the listing age and farm score?"}],"resultDescription":"Returns a verdict of 'pay', 'caution', or 'avoid' along with flags indicating payTo address changes, whether the price is an outlier compared to the category median, how long the endpoint has been listed, a farm score, and the live 402 response status.","failureModes":["422 if the URL is not public HTTPS or resolves to a private/IP address — not charged","Timeout or unreachable endpoint returns an error verdict","Unknown or unlisted endpoint may return a caution verdict when require_listed is true","Non-USDC price options reported as unknown in price assessment"],"whenToPreferThis":"Use this endpoint whenever an AI agent needs to decide whether to pay an x402 endpoint — especially before a first payment, when encountering an unfamiliar payTo address, when price anomalies are a concern, or when operating under a strict payment policy. It combines live 402 probing with index-based trust signals in a single call, making it more reliable than manually inspecting the 402 response alone.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-19T00:55:37.393Z","isFirstParty":false,"canonicalSlug":"tanod-agentscan-x402-preflight-9db01f4f"}