{"uid":"cap_532xKEX-n8FBVn03s6LjH","slug":"payment-reconciliation-api-b7c45c15","name":"Payment Reconciliation API","description":"Provide a Tempo or Base recipient address and optional UTC bounds within a maximum 31-day window (default seven days). Receive JSON from public chain data with incoming stablecoin transfers, totals, and product, protocol-fee, or unknown classifications.","url":"https://payment-recon.krimskrams.xyz/v1/report","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET","HEAD","DELETE"],"type":"string"},"queryParams":{"type":"object","required":["chain","address"],"properties":{"chain":{"enum":["tempo","base"],"type":"string"},"since":{"type":"string","format":"date-time"},"until":{"type":"string","format":"date-time"},"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","title":"ReportResponse","properties":{"note":{"type":"string","title":"Note"},"chain":{"enum":["tempo","base"],"type":"string","title":"Chain"},"window":{"type":"object","title":"Window","additionalProperties":{"type":"string","format":"date-time"}},"address":{"type":"string","title":"Address"},"classes":{"type":"object","title":"Classes","additionalProperties":{"type":"object","title":"ClassSummary","properties":{"count":{"type":"integer","title":"Count"},"total_usd":{"type":"string","title":"Total Usd"}}}},"total_usd":{"type":"string","title":"Total Usd"},"transfers":{"type":"array","items":{"type":"object","title":"TransferRow","properties":{"from":{"type":"string","title":"From"},"block":{"type":"integer","title":"Block"},"class":{"enum":["product","protocol_fee","unknown"],"type":"string","title":"Class"},"tx_hash":{"type":"string","title":"Tx Hash"},"timestamp":{"type":"string","title":"Timestamp","format":"date-time"},"amount_usd":{"type":"string","title":"Amount Usd"}}},"title":"Transfers"},"truncated":{"type":"boolean","title":"Truncated"},"reconciles":{"type":"boolean","title":"Reconciles"},"transfer_count":{"type":"integer","title":"Transfer Count"}}}}}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.1","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.1/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.1","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.1","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_BV7kD-XQN_m6IanTmTARI","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.1","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns classified incoming stablecoin transfers (product, protocol_fee, or unknown) and totals for a given Tempo or Base chain address over up to a 31-day window.","exampleAgentPrompt":"Can you pull a payment reconciliation report for my Base address 0xAbCd1234...5678 for the past seven days and break down how much came in as product revenue versus protocol fees?","exampleUseCases":[{"title":"Weekly revenue reconciliation for a DeFi product","prompt":"Pull the stablecoin payment report for my Tempo address 0xAaaa1111...2222 for the last 7 days and tell me the total received, split between product payments and protocol fees."},{"title":"Month-end accounting for a crypto SaaS","prompt":"I need a full payment reconciliation for my Base address 0xBbbb3333...4444 from January 1st 2025 to January 31st 2025 — show me every incoming transfer and classify them as product, protocol_fee, or unknown."},{"title":"Audit incoming payments for anomalies","prompt":"Check all stablecoin transfers into my Base wallet 0xCccc5555...6666 between March 1st and March 15th 2025 and tell me if there are any unclassified or unknown payments I should investigate."}],"resultDescription":"A JSON report containing: the queried address and chain, the time window, a list of individual stablecoin transfers (with sender, block number, tx hash, timestamp, USD amount, and class), a breakdown of totals by class (product, protocol_fee, unknown), an overall total in USD, the total transfer count, a flag indicating whether results were truncated, and a reconciliation flag.","failureModes":["Invalid or malformed Ethereum address (must match ^0x[0-9a-fA-F]{40}$) returns error","Unsupported chain value (only 'tempo' and 'base' accepted)","Date window exceeding 31 days returns error","'since' date after 'until' date returns error","No transfers found in window returns empty transfers array with zero totals","API payment not satisfied results in 402 response requiring x402 payment","Network or chain node issues may cause delayed or incomplete data"],"whenToPreferThis":"Choose this endpoint when you need on-chain stablecoin transfer history for a specific Tempo or Base address with automatic classification of incoming payments into product revenue, protocol fees, or unknown categories. It is ideal for automated bookkeeping, revenue reporting, or auditing workflows where you need structured JSON from public chain data without running your own indexer. Prefer it over generic blockchain explorers when you need classified, aggregated summaries rather than raw transaction data.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T06:38:23.217Z","isFirstParty":false}