# Paycheck: x402 payment verification on Base > Pay-per-call x402 tools on Base USDC: verify a payment by tx hash ($0.01), full funding-history deep scan ($0.05), address-poisoning checks, and the x402 Trust Index of real paid-call grades. Free claims desk for paid-but-no-response. Payment: x402 v2, scheme exact, network eip155:8453 (Base mainnet), asset USDC, payTo 0x509E55c4F898B43C856Fb0E51048B1b7bFBC9eDE. Call a paid route without payment to get the HTTP 402 with exact requirements, then retry with the payment header (any x402 client SDK does this). Evidence only: no custody, no arbitration. ## Paid routes (USDC per call) - POST /check ($0.01): Verify a Base USDC payment by txHash (or EIP-3009 authorization {from, nonce, validBefore}). Optional expectedPayTo, expectedAmount (USDC decimal). Returns settlement verdict, real-USDC transfers, recipient/amount match, fake-token and lookalike-address warnings, and who funded the payer (external | self_funded | unknown). - POST /check/deep ($0.05): Same body as /check; reads the payer's full funding history from an index, with coverage stats and a recheckable sha256 receipt. Returns 503 and does not charge if the index is down. - POST /address/check ($0.001): Body {from, to}: address-poisoning check before sending USDC (recent block window, honest partial coverage). - POST /address/check/full ($0.005): Body {from, to}: address-poisoning check against full transfer history. Not charged if the index is down. - POST /trust/lookup ($0.002): Body {url}: Trust Index grade and evidence for an x402 endpoint, plus public claims against it. ## Free routes - POST /demo: free sample /check result on a fixed real transaction - GET /trust/lookup?url=: free grade + index date for one endpoint - GET /trust-index: HTML scorecard of x402 endpoints graded by real paid calls (grades are never for sale) - GET /trust-index/latest.json: machine-readable latest Trust Index - POST /claim: free claims desk: paid an x402 endpoint but got no or bad response? File public, hash-recheckable evidence - GET /claim/:id, GET /claims?endpoint=: read claims - POST /claim/:id/response: seller answers a claim, signed by its payTo - GET /stats: aggregate usage counters (no addresses) - GET /examples: copy-paste integration recipes: curl 402 handshake, JS client that pays /check, verify a payment you just made to another seller - GET /openapi.json: full OpenAPI 3 spec with x402 discovery fields ## Quick start npm i @x402/fetch @x402/evm viem, wrap fetch with wrapFetchWithPaymentFromConfig + ExactEvmScheme on eip155:8453, then POST /check {txHash, expectedPayTo?, expectedAmount?}. After paying another x402 seller, decode its PAYMENT-RESPONSE header (decodePaymentResponseHeader) and pass .transaction as txHash. Full copy-paste code: https://paycheck.hectichustle.workers.dev/examples ## Links - [Integration examples](https://paycheck.hectichustle.workers.dev/examples) - [OpenAPI spec](https://paycheck.hectichustle.workers.dev/openapi.json) - [x402 manifest](https://paycheck.hectichustle.workers.dev/.well-known/x402) - [Trust Index scorecard](https://paycheck.hectichustle.workers.dev/trust-index) - [Home](https://paycheck.hectichustle.workers.dev/)