{"name":"Kertivo","description":"Kertivo is the trust layer for bot-to-bot payments. Grades are earned, never bought. POST /check (Kertivo Check) verifies a Base mainnet USDC payment by tx hash; POST /check/deep adds full funding history with a recheckable receipt; POST /address/check and /address/check/full (Kertivo Shield) catch address-poisoning lookalikes; POST /trust/lookup returns a Kertivo Index grade with paid-call evidence. Free: Kertivo Index scorecard (GET /trust-index) and Kertivo Claims (POST /claim).","benchmarks":{"addressPoisoning":"/benchmarks/address-poisoning"},"trustIndex":{"html":"/trust-index","latest":"/trust-index/latest.json","raw":"/trust-index/raw.jsonl","freeLookup":"GET /trust/lookup?url="},"pricing":{"POST /check":"$0.01 USDC per call via x402 (HTTP 402)","POST /trust/lookup":"$0.002 USDC per call via x402 (grade + evidence)","POST /address/check":"$0.001 USDC per call via x402 (address-poisoning check, recent-window / RPC coverage)","POST /address/check/full":"$0.005 USDC per call via x402 (address-poisoning check, full funding history via one Blockscout index call, up to 500 transfers; not charged if index down)","POST /check/deep":"$0.05 USDC per call via x402 (deep funding scan: full funding history via Blockscout index, coverage stats, recheckable receipt)","network":"eip155:8453","payTo":"0x509E55c4F898B43C856Fb0E51048B1b7bFBC9eDE","free":["GET / (JSON; HTML for browsers, ?format=json forces JSON)","GET /openapi.json","GET /stats","POST /demo","POST /claim","GET /claim/:id","GET /claims?endpoint=","GET /trust/lookup?url=","GET /trust-index","GET /trust-index/latest.json","GET /trust-index/raw.jsonl","GET /llms.txt","GET /examples","GET /sitemap.xml","GET /.well-known/attestation (signer for signed responses)"]},"usdcContract":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","request":{"method":"POST","path":"/check","body":{"txHash":"0x…64 hex (or omit and pass authorization)","authorization":"{from, nonce, validBefore} EIP-3009 (optional)","expectedPayTo":"0x… (optional)","expectedAmount":"1.5 (optional, USDC decimal)"}},"demo":{"method":"POST","path":"/demo","note":"free; always runs on fixture tx 0xc37cbdfa44230f05129348d5160254abf354791d79de68228b201ba09de143c1"},"funding":{"windowBlocks":50000,"verdicts":["external","self_funded","unknown"],"unknownReasons":{"no_inbound_in_window":"scan covered the whole window, no inbound USDC found","scan_incomplete":"RPC/call limits hit before finishing; see scannedBlocks"}},"response":{"settlement":"{verdict: settled|not_settled, reason, note}; settled = on-chain only, seller delivery cannot be verified on-chain","mode":"live_paid (/check) | demo (/demo)","receipt":"{blocksScanned{from,to,complete}, rpcCalls, priceCharged, verdict, reason}"},"claims":{"method":"POST","path":"/claim","note":"Free claims desk: paid an x402 endpoint but got no or bad response? Body {endpoint, txHash|authorization, httpStatusAfterPay?, observedAt?, note?, payerSignature?}. Returns a public, hash-recheckable evidence bundle (payment verified on Base, seller payTo matched against the Kertivo Index). Evidence only: no custody, no arbitration. Sellers can answer with a signed POST /claim/:id/response from their known payTo."},"docs":"/openapi.json"}