{"description":"Checks whether an x402 endpoint can actually settle: reachable, well-formed 402, and (for Solana/SPL) whether the destination ATA exists.","endpoints":[{"method":"GET","params":{"resource":"https URL of the x402 endpoint to check"},"path":"/payable","price":"$0.005","settles_on":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},{"body":{"resources":["https URL","..."]},"method":"POST","path":"/payable/batch","price":"tiered: $0.005/unit, $0.002/unit over 1000; max 2000","settles_on":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},{"free":true,"method":"GET","note":"locked demo \u2014 ignores input, always checks a fixed resource","path":"/payable/preview","price":"$0"},{"method":"GET","note":"address_schema_version 1 \u2014 separate contract from schema_version 2","params":{"address":"0x EVM address","chain":"base","token":"optional ERC-20 (default USDC on Base)"},"path":"/payable/address","price":"$0.005","settles_on":["eip155:8453","solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp"]},{"free":true,"method":"GET","note":"locked demo address preflight","path":"/payable/address/preview","price":"$0"},{"free":true,"method":"GET","path":"/payable/address/schema","price":"$0"},{"free":true,"method":"GET","path":"/payable/address/fixtures","price":"$0"}],"name":"payable \u2014 x402 payability check","output_example":{"accepts_wellformed":true,"get_status":402,"method":"GET","options":[{"amount":"5000","asset":"EPjFWdd5\u2026","detail":{"ata":"DsFCdhbq\u2026","ata_exists":true,"rent_needed_sol":0,"signatures_seen":null,"token_program":"spl"},"facilitator":null,"maxTimeoutSeconds":60,"network":"solana:5eykt4Us\u2026","pay_to":"35tCuyL3\u2026","scheme":"exact","verdict":"PAYABLE"}],"payable_networks":["solana:5eykt4Us\u2026"],"post_status":null,"reachable":true,"reason":"PARSES","resource":"https://sanctions.nsgoods.org/screen","returns_402":true,"schema_version":3,"signature":"0x\u2026","signed_by":"0x41Fb10a9E637C85cE3C1d35c4f059E7de1593fBE","verdict":"PAYABLE"},"response_schema_version":2,"settlement":[{"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","network":"eip155:8453","payTo":"0xc87a06DEE4c0E85912296002617120BBfd5EF990"},{"asset":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v","network":"solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp","payTo":"35tCuyL3E7M88jfhTeEaRxhrbuKFyQLWgxJQyf5QcLLe"}],"signature_scheme":"Every paid GET /payable response and the free GET /payable/preview carry signed_by + signature. Verify with Ethereum personal_sign / ecrecover over json.dumps(payload, sort_keys=True, separators=(',',':')) with signature+signed_by removed. The preview adds four fields AFTER signing (preview, demo_resource, input_ignored, note) \u2014 remove those too before verifying.","signer":"0x41Fb10a9E637C85cE3C1d35c4f059E7de1593fBE","x402Version":2}
