Preflight
Pre-flight a 402 challenge before your agent pays it: pass the raw 402 body (accepts[]) plus an optional payer address and get back payable / blocked, with every defect named and fixed — CAIP-2 network, known settlement asset, atomic amount, payTo, EIP-712 domain extras, timeout, and who pays gas (EIP-3009 means the payer needs zero gas and zero approve). Optional chain read adds the payer's USDC balance shortfall versus the price.
POST https://kestrel8b3bd1.pythonanywhere.com/preflight
0.01 USDC on Base · payTo 0x881F02d144889C5F3411bbB70FEe66d9136C9fEd
Status: verified · payable
Settlement: via OMNIGATE (https://omnigate.scriptmasterlabs.com) — seller opted in; receipt token per settlement; 0.005 USDC fee inside settlement, waived inside the daily budget