{"items":[{"resource":"https://api.pennyforge.org/check","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"10000","payTo":"0x9504A5939AB5be2B2B1F8beA7D7ebeCcd96c485D","maxTimeoutSeconds":60,"description":"Pre-send verification of one EVM address on one chain: EIP-55 checksum status, wallet-vs-contract, outgoing transaction count, native/USDC/USDT balances, and a leveled verdict (ok/caution/warn/danger) with reasons and next action. Run it before your agent sends funds to an address it pulled from an LLM answer, a message, or a scraped page.","mimeType":"application/json","outputSchema":{"type":"http","input":{"method":"POST","body":{"address":"string (0x + 40 hex chars, required)","chain":"base | ethereum | arbitrum | optimism | polygon (optional, default base)"}},"output":{"address":"0x… (normalized EIP-55)","checksum":"{status, message}","chain":"{name, isContract, outgoingTxs, native, usdc, …}","verdict":"{level, headline, next, gas, reasons}","report":"copyable text report"}}}]},{"resource":"https://api.pennyforge.org/deep","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"50000","payTo":"0x9504A5939AB5be2B2B1F8beA7D7ebeCcd96c485D","maxTimeoutSeconds":60,"description":"Deep pre-send scan: the same verification across ALL five chains (Base, Ethereum, Arbitrum, Optimism, Polygon) including wrong-network detection (address active elsewhere but not on the chain you are about to send to) and token-mismatch flags.","mimeType":"application/json","outputSchema":{"type":"http","input":{"method":"POST","body":{"address":"string (0x + 40 hex chars, required)","chain":"base | ethereum | arbitrum | optimism | polygon (optional, default base)"}},"output":{"address":"0x… (normalized EIP-55)","checksum":"{status, message}","chain":"{primary chain facts}","others":"[per-chain facts ×4]","verdict":"{level, headline, next, gas, tokenMismatch, reasons}","report":"copyable text report"}}}]},{"resource":"https://api.pennyforge.org/diligence/live","accepts":[{"scheme":"exact","network":"eip155:8453","asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","amount":"10000","payTo":"0x9504A5939AB5be2B2B1F8beA7D7ebeCcd96c485D","maxTimeoutSeconds":60,"description":"LIVE x402 directory diligence digest: the free /diligence snapshot recomputed ON DEMAND from x402-list.com's public API — top-50 services by measured 30-day settlements (price percentile, shared-payout, compliance grade, 30d uptime, verification, 90-day settlement-address rotations) + the complete 90-day payTo rotator list. CC BY 4.0. No body (plain GET). 5xx skips your payment. Freshness = x402-list's probe cadence (~15 min), not an oracle.","mimeType":"application/json","outputSchema":{"type":"http","input":{"method":"GET","body":null},"output":{"title":"…","generated_at":"ISO timestamp of THIS computation","summary":"{services_listed, online, verified, shared_payout, measured_30d, payto_rotations_90d_total, services_with_rotation_90d, median_price_usd}","top_50":"[50 rows: slug, name, url, min_price_usd, price_category_percentile, compliance_grade, uptime_30d_pct, verified, shared_payout, shared_with, settlements_30d, volume_usd_30d, unique_buyers_30d, payto_rotations_90d, listed, status]","rotators_90d":"[{slug, name, payto_rotations} sorted desc]","source":"{provider, license CC-BY-4.0, cite_as}","meta":"{endpoint, price_usd, free_companion, freshness, as_of}"}}}]}],"lastUpdated":"2026-09-16T01:30:00Z","metadata":{"api":"sendcheck","category":"security","contract":"documented","description":"SendCheck — pre-send verification for EVM addresses. One paid HTTP call (x402, USDC on Base, no account, no API key) tells your agent whether an address is safe to send to: checksum, wallet-vs-contract, activity, balances, verdict. Free checksum-only pre-check at GET /validate so you never pay for a malformed address.","provider":"Pennyforge","home":"https://sendcheck.surge.sh","docsUrl":"https://api.pennyforge.org/","discovery":"https://api.pennyforge.org/.well-known/x402","example":{"method":"POST","url":"https://api.pennyforge.org/check","body":{"address":"0x9504A5939AB5be2B2B1F8beA7D7ebeCcd96c485D","chain":"base"}},"chains":["base","ethereum","arbitrum","optimism","polygon"],"honestLimits":"Reads public on-chain state via public RPCs; a verdict is a pre-send safety check, not a guarantee. No mempool, no contract-audit, no sanctions screening."},"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 signed payload (payTo, per-route maxPrice, iat, exp). Pin the public key once; first contact is trust-on-first-use. The 402 challenge carries the same block as extensions[\"x-sendcheck-attestation\"]; verify the challenge's payTo against it before paying."}}