{"uid":"cap_Lp4TLCYuJ4VL2YCbSRmFB","slug":"x402-payment-preflight-c9026937","name":"x402 Payment Preflight","description":"Evaluate caller-supplied x402 payment requirements before a wallet signs them. Use after receiving HTTP 402 to enforce a maximum USDC amount, allowed networks, exact scheme, recipient presence, and an optional expiry buffer. Returns eligible accepts and explicit blockers for 0.002 USDC via x402 on Base; it never signs, pays, stores, or echoes a payment signature.","url":"https://api.delx.ai/api/v1/x402/payment-preflight?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"requirements":{"type":"object"},"asset_decimals":{"type":"integer","default":6,"maximum":18,"minimum":0},"max_amount_usdc":{"type":"number","minimum":0},"allowed_networks":{"type":"array","items":{"type":"string"},"maxItems":20,"minItems":1},"now_epoch_seconds":{"type":"integer","minimum":0},"min_expiry_seconds":{"type":"integer","default":30,"maximum":86400,"minimum":0}}},"responseSchema":{"type":"json","example":{"policy":{"asset_decimals":6,"expiry_checked":true,"max_amount_usdc":"0.002","allowed_networks":["eip155:8453"],"min_expiry_seconds":30},"schema":"delx/util-x402-payment-preflight/v1","approved":true,"selected":{"index":0,"pay_to":"0x1111111111111111111111111111111111111111","scheme":"exact","network":"eip155:8453","amount_usdc":"0.001","expiry_status":"ok"},"evaluations":[{"index":0,"scheme":"exact","network":"eip155:8453","blockers":[],"amount_usdc":"0.001","expiry_status":"ok","pay_to_present":true}],"eligible_count":1,"evaluated_count":1}},"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_JVxcKCwMxyBZ8Fw5I2pNf","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":"Validates x402 HTTP 402 payment requirements against caller-defined constraints (max USDC amount, allowed networks, scheme, recipient, expiry) before a wallet signs, returning eligible accepts and any blockers.","exampleAgentPrompt":"Before my wallet signs anything, run a preflight on this x402 payment requirement object — enforce a max of 0.05 USDC, only allow Base network, and require at least 60 seconds of expiry remaining so I can see if there are any blockers.","exampleUseCases":[{"title":"Enforce USDC spending cap on 402 payment","prompt":"I just got an HTTP 402 response with these payment requirements — can you check whether the requested amount is under 0.01 USDC and only on Base before my agent's wallet commits to anything?"},{"title":"Block unsupported network payment","prompt":"My agent received an x402 payment challenge and I want to make sure it's restricted to Base or Ethereum mainnet only — run a preflight and tell me if there are any blockers or if it's safe to proceed."},{"title":"Expiry buffer safety check before signing","prompt":"Before signing this x402 payment, verify that the payment window won't expire in the next 2 minutes — I need at least 120 seconds of buffer to avoid a race condition."}],"resultDescription":"Returns a list of eligible payment accepts that pass all caller-supplied constraints, plus an explicit list of blockers (e.g. amount too high, disallowed network, missing recipient, insufficient expiry) explaining why any accepts were rejected. Never signs, pays, stores, or transmits a payment.","failureModes":["Missing or malformed requirements object returns a validation error","max_amount_usdc set to 0 blocks all accepts","allowed_networks list contains network identifiers not present in the payment requirements, resulting in all accepts blocked","now_epoch_seconds not provided may cause incorrect expiry evaluation","Payment requirements with no recipient field may trigger a blocker if recipient presence is enforced","Service returns HTTP 402 itself (costs 0.002 USDC per call via x402)"],"whenToPreferThis":"Use this endpoint immediately after receiving an HTTP 402 response when your agent needs to enforce a spending policy, network allowlist, or expiry safety buffer before authorizing a wallet signature. Prefer it over ad-hoc client-side checks when you want a structured, auditable list of blockers and eligible accepts rather than rolling your own x402 validation logic.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-19T12:33:43.826Z","isFirstParty":false,"canonicalSlug":"x402-payment-preflight-c9026937"}