{"service":"sendcheck","what":"Pre-send verification for EVM addresses: EIP-55 checksum, wallet-vs-contract, outgoing activity, native/USDC/USDT balances, wrong-network and token-mismatch detection — the same engine as https://sendcheck.surge.sh","home":"https://sendcheck.surge.sh","payment":"x402 (HTTP 402) — USDC on Base, no account, no API key. Any x402 client pays and retries: https://docs.x402.org","discovery":"/.well-known/x402 (machine-readable x402 discovery document)","endpoints":[{"method":"GET","path":"/","cost":"free","description":"This service card."},{"method":"GET","path":"/validate?address=0x…","cost":"free","description":"Checksum-only pre-check (no chain data). Use before paying, so you never pay for a malformed address."},{"method":"POST","path":"/check","cost":"$0.01","body":{"address":"0x…","chain":"base"},"description":"Full check on one chain. chain: base | ethereum | arbitrum | optimism | polygon (default base)."},{"method":"POST","path":"/deep","cost":"$0.05","body":{"address":"0x…","chain":"base"},"description":"Deep scan: the same check across ALL five chains + wrong-network detection."},{"method":"GET","path":"/diligence/live","cost":"$0.01","body":null,"description":"LIVE x402 directory diligence digest: the free /diligence snapshot recomputed on demand from x402-list's public API (top-50 by 30d settlements + full 90d payTo rotator list). No body — plain GET. 5xx skips the payment. Free dated snapshot: GET /diligence."}],"chains":[{"id":"base","name":"Base"},{"id":"ethereum","name":"Ethereum"},{"id":"arbitrum","name":"Arbitrum One"},{"id":"optimism","name":"Optimism"},{"id":"polygon","name":"Polygon"}],"verdictLevels":{"ok":"no red flags found","caution":"something incomplete or unusual — read verdict.reasons","warn":"strong signal something is off (e.g. active on a different network than expected)","danger":"do not send — burn address or checksum mismatch"},"responseShape":{"address":"normalized EIP-55","checksum":"{status,message}","chain":"per-chain facts (complete flag per chain)","others":"other chains (deep only)","complete":"true when every CORE on-chain read of the primary chain came back (native balance, wallet-vs-contract, outgoing count, USDC balance)","verdict":"{level,headline,next,gas,tokenMismatch,reasons}","report":"copyable text report","meta":"service/version/timing","note":"503 + error=incomplete_node_data when the on-chain read came back partial — settlement is skipped on 5xx, so a partial answer is never billed"},"attestation":{"jws":"eyJhbGciOiJFUzI1NiIsImtpZCI6InNlbmRjaGVjay0yMDI2LTA5In0.eyJhc3NldCI6IjB4ODMzNTg5ZkNENmVEYjZFMDhmNGM3QzMyRDRmNzFiNTRiZEEwMjkxMyIsImV4cCI6MTgyMjUyODUwMywiaWF0IjoxNzkwOTkyNTAzLCJuZXR3b3JrIjoiZWlwMTU1Ojg0NTMiLCJwYXlUbyI6IjB4OTUwNEE1OTM5QUI1YmUyQjJCMUY4YmVBN0Q3ZWJlQ2NkOTZjNDg1RCIsInJvdXRlcyI6W3sibWF4UHJpY2UiOiIwLjAxIiwicmVzb3VyY2UiOiIvY2hlY2sifSx7Im1heFByaWNlIjoiMC4wNSIsInJlc291cmNlIjoiL2RlZXAifSx7Im1heFByaWNlIjoiMC4wMSIsInJlc291cmNlIjoiL2RpbGlnZW5jZS9saXZlIn1dLCJzZXJ2aWNlIjoiaHR0cHM6Ly9hcGkucGVubnlmb3JnZS5vcmciLCJ2IjoxfQ.n35wA7QoqFUqjvHACcCN6N8jcqbQV8iMIJqMC-QiJZmaFcM94eIEVl7LZY29c_X4sQcEFtoh27hg8HkRmaIAWg","key":{"kty":"EC","x":"byHMSJi37KTtQRTkxSj1dNRUppDNKCMqj_W7dfC45Us","y":"mTV7jNFab5gU3P77chUHrdbnm3pegzrOjWdLXL3WRvs","crv":"P-256","kid":"sendcheck-2026-09","alg":"ES256","use":"sig"},"note":"ES256 JWS over the payTo + per-route maxPrice (signed per deploy, kid sendcheck-2026-09). Pin the public key once (first contact = trust-on-first-use); full doc: https://api.pennyforge.org/.well-known/x402."}}