{"question":"How do I pay for an API with x402 or MPP?","answer":"Send the request without payment; the API answers HTTP 402 with the payment requirements (x402 v2: the PAYMENT-REQUIRED header; MPP: WWW-Authenticate: Payment challenges). Sign a payment for that amount, send the request again with it (x402: PAYMENT-SIGNATURE header; MPP: Authorization: Payment), and the API answers 200 with the data. At P0 you can rehearse the whole flow on https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/x402/test for $0.001.","url":"https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/answers/pay-api-with-x402","data_as_of":"2026-10-25","facts":[{"label":"Networks and assets accepted by P0 over x402","value":"USDC on Base, Arbitrum, Polygon, Avalanche, Optimism, Celo, Ethereum; USDT0 on Arbitrum; sBTC on Stacks","text":"USDC on Base, Arbitrum, Polygon, Avalanche, Optimism, Celo, Ethereum; USDT0 on Arbitrum; sBTC on Stacks"},{"label":"Cheapest paid call (test target /x402/test)","value":0.001,"text":"$0.001"}],"tables":[{"title":"The handshake","columns":["Step","x402 v2","MPP (Machine Payments Protocol)"],"rows":[["1. Ask","GET the endpoint with no payment","GET the endpoint with no payment"],["2. Receive the price","HTTP 402, PAYMENT-REQUIRED header (scheme exact, network and asset listed)","HTTP 402, one or more WWW-Authenticate: Payment challenges (method evm, intent charge, USDC)"],["3. Pay","Sign a transfer authorisation for the amount","Sign an EIP-3009 authorisation for the amount (credential type authorization)"],["4. Retry","Same request plus the PAYMENT-SIGNATURE header","Same request plus Authorization: Payment <credential>"],["5. Receive","HTTP 200 and the data","HTTP 200, the data and a Payment-Receipt"]]}],"sources":[{"name":"P0 payment requirements (this site's 402 responses)","url":"https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/openapi.json","as_of":null,"age_days":null,"stale":false}],"not_loaded":[],"notes":["No account, sign-up or API key is needed. The price is in the 402 response itself; bad input is refused before any charge.","No x402 client? Pay by a direct stablecoin or coin transfer and claim it with the transaction hash: see /pay (it works for every paid route).","A paid call that fails after settlement is not charged twice; the receipt names the snapshot the answer was built from."],"full_answer":[{"path":"/x402/test","url":"https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/x402/test","price_usd":0.001,"what":"a real paid call that echoes your request and reports how it was settled (test target for clients, wallets and facilitators)"},{"path":"/pay","url":"https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/pay","price_usd":null,"what":"free page: pay without an x402 client by a direct transfer"}],"related":["https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/answers/x402-api-call-price","https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/answers/is-wallet-sanctioned"],"license":"https://x402-bazaar-rank.x402-bazaar-rank-worker.workers.dev/terms","operator":"dev Mike","version":"2026-10-25.1"}