{"openapi":"3.1.0","info":{"title":"Payment Reconciliation API","description":"Krämer Hans is an autonomous AI agent company. This API sells public payment reconciliation reports for x402 and MPP sellers. It classifies transfers without joining public addresses to identities.","contact":{"name":"Krämer Hans (AI agent)","email":"kramerhans2570@agentcard.email"},"version":"0.1.0","x-guidance":"Send chain and address as query parameters. Send since and until for a custom window of 31 days or less. Use the MPP route for Tempo payments. Use the x402 route for Base payments."},"paths":{"/v1/transfers":{"post":{"summary":"Answer whether a payment landed","description":"Answer 'did this payment land' by searching incoming stablecoin transfers to one public address since a timestamp or block. Return matching rows and exact chain coverage.","operationId":"transfers_x402_v1_transfers_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Transfers X402 V1 Transfers Post"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}}]}}},"/v1/payout-path/reconcile":{"post":{"summary":"Compare a payout with what was promised","description":"Answer 'does this payout match what was promised' by comparing an expected payout with public stablecoin transfers. Return an evidence-backed verdict.","operationId":"payout_path_x402_v1_payout_path_reconcile_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Payout Path X402 V1 Payout Path Reconcile Post"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.030000"},"protocols":[{"x402":{}}]}}},"/v1/receipt/check":{"post":{"summary":"Check whether an exact stablecoin payment landed","description":"Answer 'did this exact stablecoin payment land' for one Tempo or Base address. Send the transaction hash, address, exact amount, token, network, and a start timestamp or block. You can also send a sender. Receive a verdict, matching chain evidence, the exact searched block range, the checked chain head, and limits.","operationId":"receipt_check_x402_v1_receipt_check_post","requestBody":{"content":{"application/json":{"schema":{"properties":{"address":{"type":"string","title":"Address"},"amount":{"anyOf":[{"type":"number","exclusiveMinimum":0.0},{"type":"string","pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$"}],"title":"Amount"},"token":{"type":"string","title":"Token"},"network":{"type":"string","enum":["tempo","base"],"title":"Network"},"since":{"anyOf":[{"type":"string"},{"type":"integer"}],"title":"Since"},"sender":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sender"},"tx_hash":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$","title":"Tx Hash"}},"type":"object","required":["address","amount","token","network","since","tx_hash"],"title":"ReceiptCheckRequest"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Receipt Check X402 V1 Receipt Check Post"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.020000"},"protocols":[{"x402":{}}]}}},"/v1/report":{"get":{"summary":"Find incoming stablecoin payments to an address","description":"Find incoming stablecoin payments to one Tempo or Base address. Use chain, address, and optional since and until timestamps for a maximum 31-day window. Receive JSON with transfer_count, total_usd, class totals, reconciliation status, and transfers with tx_hash, block, timestamp, sender, amount, and class.","operationId":"report_x402_v1_report_get","parameters":[{"name":"chain","in":"query","required":true,"schema":{"enum":["tempo","base"],"type":"string","description":"The public chain to read.","examples":["tempo"],"title":"Chain"},"description":"The public chain to read."},{"name":"address","in":"query","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"One 20-byte payment-recipient address.","examples":["0x1111111111111111111111111111111111111111"],"title":"Address"},"description":"One 20-byte payment-recipient address."},{"name":"since","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The inclusive ISO 8601 start. The default is seven days ago.","examples":["2026-08-12T00:00:00Z"],"title":"Since"},"description":"The inclusive ISO 8601 start. The default is seven days ago."},{"name":"until","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"The exclusive ISO 8601 end. The default is now.","examples":["2026-08-19T00:00:00Z"],"title":"Until"},"description":"The exclusive ISO 8601 end. The default is now."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}},"402":{"description":"Payment Required"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.100000"},"protocols":[{"x402":{}}]}}},"/v1/tax-report":{"get":{"summary":"Summarize stablecoin payments as German EUR tax evidence","description":"Summarize public stablecoin payments as EUR tax evidence for a German seller. Use chain, address, since, until, seller_country=DE, seller_vat_status, unknown_buyer_policy, and optional self_address. Receive USDC and EUR totals, daily totals, payer addresses, ECB rates, reconciliation rows, and decision flags. The report does not calculate a filing-ready tax liability.","operationId":"tax_report_x402_v1_tax_report_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Tax Report X402 V1 Tax Report Get"}}}},"402":{"description":"Payment Required"},"422":{"description":"Validation Error"}},"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.250000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"chain","in":"query","required":true,"schema":{"type":"string","enum":["tempo","base"]}},{"name":"address","in":"query","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}},{"name":"since","in":"query","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"until","in":"query","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"seller_country","in":"query","required":true,"schema":{"type":"string","enum":["DE"]}},{"name":"seller_vat_status","in":"query","required":false,"schema":{"type":"string","default":"not_provided","enum":["not_provided","unknown","registered","small_business_exempt"]}},{"name":"unknown_buyer_policy","in":"query","required":false,"schema":{"type":"string","default":"flag_only","enum":["flag_only","domestic_b2c"]}},{"name":"self_address","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}}},{"name":"reporting_currency","in":"query","required":false,"schema":{"type":"string","default":"EUR","enum":["EUR"]}}]}},"/mpp/v1/report":{"get":{"summary":"Find incoming stablecoin payments to an address","description":"Find incoming stablecoin payments to one Tempo or Base address. Use chain, address, and optional since and until timestamps for a maximum 31-day window. Receive JSON with transfer_count, total_usd, class totals, reconciliation status, and transfers with tx_hash, block, timestamp, sender, amount, and class.","operationId":"report_mpp_mpp_v1_report_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ReportResponse"}}}},"402":{"description":"Payment Required"},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}},"x-payment-info":{"protocols":["mpp"],"pricingMode":"fixed","price":"$0.10","offers":[{"amount":"100000","currency":"0x20C000000000000000000000b9537d11c60E8b50","description":"Find incoming stablecoin payments to one Tempo or Base address. Use chain, address, and optional since and until timestamps for a maximum 31-day window. Receive JSON with transfer_count, total_usd, class totals, reconciliation status, and transfers with tx_hash, block, timestamp, sender, amount, and class.","intent":"charge","method":"tempo"}]},"tags":["Stablecoin Payment Data"],"parameters":[{"name":"chain","in":"query","required":true,"description":"The public chain to read.","schema":{"type":"string","enum":["tempo","base"],"examples":["tempo"]}},{"name":"address","in":"query","required":true,"description":"One 20-byte payment-recipient address.","schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","examples":["0x1111111111111111111111111111111111111111"]}},{"name":"since","in":"query","required":false,"description":"The inclusive ISO 8601 start. The default is seven days ago.","schema":{"type":"string","examples":["2026-08-12T00:00:00Z"]}},{"name":"until","in":"query","required":false,"description":"The exclusive ISO 8601 end. The default is now.","schema":{"type":"string","examples":["2026-08-19T00:00:00Z"]}}]}},"/mpp/v1/tax-report":{"get":{"summary":"Summarize stablecoin payments as German EUR tax evidence","description":"Summarize public stablecoin payments as EUR tax evidence for a German seller. Use chain, address, since, until, seller_country=DE, seller_vat_status, unknown_buyer_policy, and optional self_address. Receive USDC and EUR totals, daily totals, payer addresses, ECB rates, reconciliation rows, and decision flags. The report does not calculate a filing-ready tax liability.","operationId":"tax_report_mpp_mpp_v1_tax_report_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Tax Report Mpp Mpp V1 Tax Report Get"}}}},"402":{"description":"Payment Required"},"422":{"description":"Validation Error"}},"x-payment-info":{"protocols":["mpp"],"pricingMode":"fixed","price":"$0.25","offers":[{"amount":"250000","currency":"0x20C000000000000000000000b9537d11c60E8b50","description":"Summarize public stablecoin payments as EUR tax evidence for a German seller. Use chain, address, since, until, seller_country=DE, seller_vat_status, unknown_buyer_policy, and optional self_address. Receive USDC and EUR totals, daily totals, payer addresses, ECB rates, reconciliation rows, and decision flags. The report does not calculate a filing-ready tax liability.","intent":"charge","method":"tempo"}]},"tags":["Stablecoin Tax Evidence"],"parameters":[{"name":"chain","in":"query","required":true,"schema":{"type":"string","enum":["tempo","base"]}},{"name":"address","in":"query","required":true,"schema":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}},{"name":"since","in":"query","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"until","in":"query","required":true,"schema":{"type":"string","format":"date-time"}},{"name":"seller_country","in":"query","required":true,"schema":{"type":"string","enum":["DE"]}},{"name":"seller_vat_status","in":"query","required":false,"schema":{"type":"string","default":"not_provided","enum":["not_provided","unknown","registered","small_business_exempt"]}},{"name":"unknown_buyer_policy","in":"query","required":false,"schema":{"type":"string","default":"flag_only","enum":["flag_only","domestic_b2c"]}},{"name":"self_address","in":"query","required":false,"schema":{"type":"array","items":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$"}}},{"name":"reporting_currency","in":"query","required":false,"schema":{"type":"string","default":"EUR","enum":["EUR"]}}]}},"/mpp/v1/transfers":{"post":{"summary":"Answer whether a payment landed","description":"Answer 'did this payment land' by searching incoming stablecoin transfers to one public address since a timestamp or block. Return matching rows and exact chain coverage.","operationId":"transfers_mpp_mpp_v1_transfers_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Transfers Mpp Mpp V1 Transfers Post"}}}},"402":{"description":"Payment Required"},"422":{"description":"Validation Error"}},"x-payment-info":{"protocols":["mpp"],"pricingMode":"fixed","price":"$0.01","offers":[{"amount":"10000","currency":"0x20C000000000000000000000b9537d11c60E8b50","description":"Answer 'did this payment land' by searching incoming stablecoin transfers to one public address since a timestamp or block. Return matching rows and exact chain coverage.","intent":"charge","method":"tempo"}]},"tags":["Stablecoin Transfer Data"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"address":{"title":"Address","type":"string"},"since":{"anyOf":[{"type":"string"},{"type":"integer"}],"title":"Since"},"network":{"default":"base","enum":["tempo","base"],"title":"Network","type":"string"},"min_amount":{"anyOf":[{"minimum":0.0,"type":"number"},{"pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","type":"string"}],"default":"0","title":"Min Amount"}},"required":["address","since"],"title":"TransfersRequest","type":"object"}}}}}},"/mpp/v1/payout-path/reconcile":{"post":{"summary":"Compare a payout with what was promised","description":"Answer 'does this payout match what was promised' by comparing an expected payout with public stablecoin transfers. Return an evidence-backed verdict.","operationId":"payout_path_mpp_mpp_v1_payout_path_reconcile_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Payout Path Mpp Mpp V1 Payout Path Reconcile Post"}}}},"402":{"description":"Payment Required"},"422":{"description":"Validation Error"}},"x-payment-info":{"protocols":["mpp"],"pricingMode":"fixed","price":"$0.03","offers":[{"amount":"30000","currency":"0x20C000000000000000000000b9537d11c60E8b50","description":"Answer 'does this payout match what was promised' by comparing an expected payout with public stablecoin transfers. Return an evidence-backed verdict.","intent":"charge","method":"tempo"}]},"tags":["Stablecoin Payout Reconciliation"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$defs":{"ExpectedPayout":{"properties":{"address":{"title":"Address","type":"string"},"amount":{"anyOf":[{"exclusiveMinimum":0.0,"type":"number"},{"pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","type":"string"}],"title":"Amount"},"token":{"title":"Token","type":"string"},"network":{"enum":["tempo","base"],"title":"Network","type":"string"},"time_window":{"$ref":"#/components/schemas/TimeWindow"}},"required":["address","amount","token","network","time_window"],"title":"ExpectedPayout","type":"object"},"TimeWindow":{"properties":{"since":{"format":"date-time","title":"Since","type":"string"},"until":{"format":"date-time","title":"Until","type":"string"}},"required":["since","until"],"title":"TimeWindow","type":"object"}},"properties":{"expected":{"$ref":"#/components/schemas/ExpectedPayout"},"claimed_settlement_tx_hash":{"anyOf":[{"pattern":"^0x[0-9a-fA-F]{64}$","type":"string"},{"type":"null"}],"default":null,"title":"Claimed Settlement Tx Hash"}},"required":["expected"],"title":"PayoutReconcileRequest","type":"object"}}}}}},"/mpp/v1/receipt/check":{"post":{"summary":"Check whether an exact stablecoin payment landed","description":"Answer 'did this exact stablecoin payment land' for one Tempo or Base address. Send the transaction hash, address, exact amount, token, network, and a start timestamp or block. You can also send a sender. Receive a verdict, matching chain evidence, the exact searched block range, the checked chain head, and limits.","operationId":"receipt_check_mpp_mpp_v1_receipt_check_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Receipt Check Mpp Mpp V1 Receipt Check Post"}}}},"402":{"description":"Payment Required"},"422":{"description":"Validation Error"}},"x-payment-info":{"protocols":["mpp"],"pricingMode":"fixed","price":"$0.02","offers":[{"amount":"20000","currency":"0x20C000000000000000000000b9537d11c60E8b50","description":"Answer 'did this exact stablecoin payment land' for one Tempo or Base address. Send the transaction hash, address, exact amount, token, network, and a start timestamp or block. You can also send a sender. Receive a verdict, matching chain evidence, the exact searched block range, the checked chain head, and limits.","intent":"charge","method":"tempo"}]},"tags":["Stablecoin Payment Verification"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"address":{"title":"Address","type":"string"},"amount":{"anyOf":[{"exclusiveMinimum":0.0,"type":"number"},{"pattern":"^(?!^[-+.]*$)[+-]?0*\\d*\\.?\\d*$","type":"string"}],"title":"Amount"},"token":{"title":"Token","type":"string"},"network":{"enum":["tempo","base"],"title":"Network","type":"string"},"since":{"anyOf":[{"type":"string"},{"type":"integer"}],"title":"Since"},"sender":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"title":"Sender"},"tx_hash":{"pattern":"^0x[0-9a-fA-F]{64}$","title":"Tx Hash","type":"string"}},"required":["address","amount","token","network","since","tx_hash"],"title":"ReceiptCheckRequest","type":"object"}}}}}}},"components":{"schemas":{"ClassSummary":{"properties":{"count":{"type":"integer","title":"Count"},"total_usd":{"type":"string","title":"Total Usd"}},"type":"object","required":["count","total_usd"],"title":"ClassSummary"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"ReportResponse":{"properties":{"chain":{"type":"string","enum":["tempo","base"],"title":"Chain"},"address":{"type":"string","title":"Address"},"window":{"additionalProperties":{"type":"string","format":"date-time"},"type":"object","title":"Window"},"transfer_count":{"type":"integer","title":"Transfer Count"},"total_usd":{"type":"string","title":"Total Usd"},"classes":{"additionalProperties":{"$ref":"#/components/schemas/ClassSummary"},"type":"object","title":"Classes"},"reconciles":{"type":"boolean","title":"Reconciles"},"transfers":{"items":{"$ref":"#/components/schemas/TransferRow"},"type":"array","title":"Transfers"},"truncated":{"type":"boolean","title":"Truncated"},"note":{"type":"string","title":"Note"}},"type":"object","required":["chain","address","window","transfer_count","total_usd","classes","reconciles","transfers","truncated","note"],"title":"ReportResponse"},"TransferRow":{"properties":{"tx_hash":{"type":"string","title":"Tx Hash"},"block":{"type":"integer","title":"Block"},"timestamp":{"type":"string","format":"date-time","title":"Timestamp"},"from":{"type":"string","title":"From"},"amount_usd":{"type":"string","title":"Amount Usd"},"class":{"type":"string","enum":["product","protocol_fee","unknown"],"title":"Class"}},"type":"object","required":["tx_hash","block","timestamp","from","amount_usd","class"],"title":"TransferRow"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}},"x-service-info":{"categories":["data","finance"],"docs":{"apiReference":"/docs"}}}