{"slug":"kertivo-com-check-deep-ca671d","title":"Did this USDC payment settle, and what is the payer's funding source?","host":"kertivo.com","method":"POST","resource":"https://kertivo.com/check/deep","category":"market","description":"Did this USDC payment settle, and what is the payer's funding source? Deep Base verification: confirmations, payTo/amount match, fake-token and lookalike warnings, plus the payer's inbound USDC funding history from an index (latest 500 transfers before the payment, then up to 5 more pages; coverage.","price_listed":0.05,"price_asked":null,"state":"effects","state_label":"Not tested: has real-world effects","checks_7d":0,"answered_7d":0,"latency_ms_median":null,"reported_calls_30d":1,"reported_payers_30d":1,"networks":["eip155:8453"],"badge":"unverified","paid_checks_7d":0,"paid_ok_7d":0,"example_input":{"body":{"expectedAmount":"1","expectedPayTo":"0x509E55c4F898B43C856Fb0E51048B1b7bFBC9eDE","txHash":"0xc37cbdfa44230f05129348d5160254abf354791d79de68228b201ba09de143c1"},"bodyType":"json","method":"POST","type":"http"},"output_schema":{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"input":{"additionalProperties":false,"properties":{"body":{"description":"Provide txHash (required for deep: it reads the payer's funding history before that payment). Authorization-only bodies get 400 and are not charged; use /check for those.","properties":{"authorization":{"description":"Optional EIP-3009 authorization (x402 exact payload) to check when there is no tx or the tx is not found","properties":{"from":{"pattern":"^0x[0-9a-fA-F]{40}$","type":"string"},"nonce":{"pattern":"^0x[0-9a-fA-F]{64}$","type":"string"},"validAfter":{"type":["string","integer"]},"validBefore":{"description":"unix seconds","type":["string","integer"]}},"required":["from","nonce"],"type":"object"},"expectedAmount":{"description":"Expected USDC amount, decimal (e.g. \"0.01\")","type":["string","number"]},"expectedPayTo":{"description":"Expected recipient (full-address, case-insensitive compare)","pattern":"^0x[0-9a-fA-F]{40}$","type":"string"},"expectedPayer":{"description":"Optional expected payer (aliases from, payer): the USDC Transfer's from must equal it","pattern":"^0x[0-9a-fA-F]{40}$","type":"string"},"minAmount":{"description":"Optional floor (aliases min_amount, min): payment must be at least this many USDC; unlike expectedAmount it is not exact","type":["string","number"]},"selfAddresses":{"description":"Optional: other addresses you control; funding from them counts as self_funded","items":{"type":"string"},"maxItems":10,"type":"array"},"token":{"description":"Optional (aliases asset, currency): \"USDC\" or the Base USDC contract 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 (apexfaucet-style). Any other token is a 400 unsupported_token, not charged. Responses always echo token \"USDC\".","type":"string"},"txHash":{"description":"Base mainnet transaction hash","pattern":"^0x[0-9a-fA-F]{64}$","type":"string"}},"required":["txHash"],"type":"object"},"bodyType":{"enum":["json","form-data","text"],"type":"string"},"method":{"enum":["POST"],"type":"string"},"type":{"const":"http","type":"string"}},"required":["type","method","bodyType","body"],"type":"object"},"output":{"properties":{"example":{"properties":{"attestation":{"description":"Signed response (EIP-191 by the key at /.well-known/attestation, not a wallet) over sha256 of this body minus attestation; present when signing is enabled","type":"object"},"authorization":{"description":"Present when authorization was given: {from, nonce, used, chainTime, validBefore, expired}","type":"object"},"block":{"type":["integer","null"]},"confirmations":{"type":"integer"},"confirmed":{"type":"boolean"},"coverage":{"description":"Deep scan coverage stats","properties":{"blocksCovered":{"type":"integer"},"complete":{"type":"boolean"},"coveragePct":{"type":"number"},"endpoints":{"items":{"type":"string"},"type":"array"},"historyComplete":{"type":"boolean"},"inboundTransfers":{"type":"integer"},"indexer":{"type":"string"},"indexerMode":{"type":"string"},"indexerPages":{"type":"integer"},"rpcCalls":{"type":"integer"},"source":{"type":"string"},"uniqueFunders":{"type":"integer"},"windowBlocks":{"type":"integer"},"windowFrom":{"type":"integer"},"windowTo":{"type":"integer"}},"type":["object","null"]},"found":{"type":"boolean"},"funding":{"properties":{"payeeFundedPayer":{"type":"boolean"},"reason":{"description":"Only present when verdict=unknown","enum":["no_inbound_in_window","scan_incomplete"],"type":"string"},"scannedBlocks":{"properties":{"complete":{"type":"boolean"},"from":{"type":"integer"},"to":{"type":"integer"}},"type":"object"},"topFunders":{"type":"array"},"verdict":{"enum":["external","self_funded","unknown"],"type":"string"}},"type":["object","null"]},"ignoredFields":{"description":"Request fields Kertivo Check did not use (they did not affect the answer); only present when there were any","items":{"type":"string"},"type":"array"},"match":{"properties":{"amountMatch":{"type":["boolean","null"]},"minAmountMatch":{"description":"only when minAmount given","type":["boolean","null"]},"ok":{"type":"boolean"},"payToMatch":{"type":["boolean","null"]},"payerMatch":{"description":"only when expectedPayer given","type":["boolean","null"]}},"type":["object","null"]},"mode":{"enum":["live_paid_deep"],"type":"string"},"payment":{"properties":{"amount":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"}},"type":["object","null"]},"receipt":{"properties":{"blocksScanned":{"properties":{"complete":{"type":"boolean"},"from":{"type":"integer"},"to":{"type":"integer"}},"type":["object","null"]},"priceCharged":{"description":"'0.01 USDC' on /check, '0' on /demo","type":"string"},"reason":{"enum":["no_inbound_in_window","scan_incomplete",null],"type":["string","null"]},"rpcCalls":{"type":"integer"},"verdict":{"enum":["external","self_funded","unknown",null],"type":["string","null"]}},"required":["blocksScanned","rpcCalls","priceCharged","verdict","reason"],"type":"object"},"settlement":{"description":"Added field: did the payment settle on-chain?","properties":{"note":{"description":"For settled: delivery/response by the seller cannot be verified on-chain","type":"string"},"reason":{"enum":["confirmed_onchain","pending_confirmation","authorization_used","authorization_canceled","authorization_spent_unconfirmed","tx_not_found","tx_reverted","no_usdc_transfer","zero_value_transfer","authorization_unused","authorization_unused_or_expired","authorization_unused_pending"],"type":"string"},"verdict":{"description":"unconfirmed = an authorization nonce is spent but its AuthorizationUsed event was not found (USDC uses one flag for used and canceled); never treat it as paid","enum":["settled","not_settled","unconfirmed"],"type":"string"}},"type":"object"},"status":{"type":["string","null"]},"summary":{"type":"string"},"timestamp":{"type":["string","null"]},"usdcTransfers":{"items":{"properties":{"amount":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"}},"type":"object"},"type":"array"},"warnings":{"items":{"properties":{"code":{"enum":["fake_token","lookalike_address","tx_reverted","no_usdc_transfer","zero_value_transfer","bridged_usdbc","amount_looks_atomic"],"type":"string"},"message":{"type":"string"}},"type":"object"},"type":"array"}},"required":["found","summary","mode","receipt"],"type":"object"},"type":{"type":"string"}},"required":["type"],"type":"object"}},"required":["input"],"type":"object"},"history":[],"description_full":"Did this USDC payment settle, and what is the payer's funding source? Deep Base verification: confirmations, payTo/amount match, fake-token and lookalike warnings, plus the payer's inbound USDC funding history from an index (latest 500 transfers before the payment, then up to 5 more pages; coverage.historyComplete says if that was the full history), top funders, coverage stats and a recheckable sha256 receipt. Not charged if the index is down. Body {txHash, expectedPayTo?, expectedAmount?}.","last_updated":"2026-10-19T19:27:58.396Z","schemes":["exact"]}