{"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="},"badge":{"path":"/badge/<url-encoded endpoint>","query":"/badge?url=<endpoint>","evidence":"/badge/<url-encoded endpoint>/evidence","note":"Free live SVG grade badge from the latest Kertivo Index (earned, never sold; 1h cache). Embed snippets on /trust-index#badge."},"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 /badge/<url-encoded endpoint> (live SVG Kertivo Index grade badge, earned never sold; also .svg suffix, ?url=, and /badge/<id>/evidence -> Index row)","GET /llms.txt","GET /examples","GET /sitemap.xml","GET /.well-known/attestation (signer for signed responses)","GET /.well-known/agent.json (ERC-8004 registration file; on-chain mint deferred)","GET /.well-known/infoharmoni-square.txt (proves payTo ownership for Infoharmoni Square once the sig line is present; 404 not proven until then)"]},"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"}