{"uid":"cap_ILinwGxYwYCqg_5CD9N9U","slug":"halowerk-x402werk-blockchain-payment-reconciliation-5320e5f5","name":"HALOWERK x402werk — Blockchain Payment Reconciliation","description":"HALOWERK x402werk — bezahlte Endpunkte nach x402. Preise in USDC auf Base Mainnet.","url":"https://x402.netzhandwerker.de/reconcile","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"asset":{"type":"string","description":"Token contract address to reconcile. Defaults to the canonical USDC of that chain."},"chain":{"enum":["arb","arbitrum","arbitrum-one","avalanche","avax","base","base-mainnet","base-sepolia","basesepolia","eip155:1","eip155:10","eip155:137","eip155:42161","eip155:43114","eip155:8453","eip155:84532","eth","ethereum","ethereum-mainnet","mainnet","matic","op","op-mainnet","optimism","polygon"],"type":"string","description":"Chain as CAIP-2, short name or chain id."},"window":{"type":"object","properties":{"to":{"type":"integer","description":"End of the window as unix seconds."},"from":{"type":"integer","description":"Start of the window as unix seconds. Resolved to a block by reading real blocks."},"to_block":{"type":"integer","minimum":0,"description":"End block. Takes precedence over to."},"from_block":{"type":"integer","minimum":0,"description":"Start block. Takes precedence over from."}},"additionalProperties":false},"address":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Your receiving address whose incoming transfers should be read."},"receipts":{"type":"array","items":{"type":"object","required":["amount_units"],"properties":{"ts":{"type":"integer","description":"Unix seconds when the receipt was issued. Needed for the amount-and-time fallback match."},"payer":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Address you believe paid."},"tx_hash":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$","description":"Settlement transaction hash, if you recorded one."},"payment_id":{"type":"string","maxLength":200,"description":"Payment identifier, used to detect duplicate receipts."},"receipt_id":{"type":"string","maxLength":200,"description":"Your own identifier for this receipt. Echoed back in every result."},"amount_units":{"type":"string","pattern":"^[0-9]{1,78}$","description":"Amount as an integer in the smallest unit of the token."}},"additionalProperties":false},"maxItems":500,"minItems":1,"description":"Your receipts. Each needs at least amount_units; tx_hash makes the match strong, payer and ts make the fallback match possible."},"time_tolerance_seconds":{"type":"integer","default":300,"maximum":86400,"minimum":0,"description":"How far a receipt timestamp may sit from the block time of a payment and still match. Receipt and chain rarely carry the same second."}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.008","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.008/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.008","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.008","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_PELW6dI4lxn6E8_YxYALa","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.008","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Reconciles on-chain token transfer receipts against actual blockchain transactions to verify payments were received for a given address and time window.","exampleAgentPrompt":"Reconcile my incoming USDC payments on Base Mainnet for my address 0xABC...123 between block 18000000 and 18010000 — I have three receipts to match: tx 0xDEF...456 for 5000000 units, and two others without hashes from payers 0x111...aaa and 0x222...bbb for 2000000 units each issued yesterday.","exampleUseCases":[{"title":"Verify x402 micropayment settlements","prompt":"Check whether all the x402 payment receipts my API server issued last hour were actually settled on Base Mainnet — my receiving address is 0xABC...123, look at the last 500 blocks, and I'll give you the list of receipt IDs and amounts."},{"title":"Audit weekly USDC income on Arbitrum","prompt":"Reconcile all incoming USDC transfers to my address 0xDEF...456 on Arbitrum between unix timestamps 1717200000 and 1717804800 against these 20 receipts from my payment log so I can see which ones confirmed and which are missing."},{"title":"Detect duplicate or unmatched payments","prompt":"I think some payments to 0x999...fff on Base were counted twice — can you reconcile my receipt list against actual on-chain transfers for blocks 19500000 to 19510000 and flag any duplicates or unmatched entries?"}],"resultDescription":"Returns a per-receipt reconciliation result indicating whether each receipt was matched to an on-chain transfer (by tx hash, payer address, amount, or timestamp fallback), flags duplicates identified by payment_id, and echoes back the caller's receipt_id for each entry. May also return summary counts of matched, unmatched, and duplicate receipts.","failureModes":["Invalid Ethereum address format (must be 0x + 40 hex chars) returns validation error","Unsupported chain identifier returns enum mismatch error","Block range or timestamp window too large may result in timeout or partial results","Missing required amount_units field on a receipt causes that receipt to be rejected","Payment not yet confirmed on-chain results in unmatched status (not an error)","x402 payment authorization failure (insufficient USDC balance) prevents endpoint from executing at all"],"whenToPreferThis":"Choose this endpoint when you need server-side, authoritative reconciliation of EVM-compatible token transfers against a batch of receipts — especially for x402 micropayment workflows where you need to confirm settlements without running your own blockchain indexer. Prefer this over manual on-chain queries when you have multiple receipts with varying match signals (tx hash, payer address, amount, or timestamp) and need a single structured response with per-receipt match status and duplicate detection.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-15T00:41:24.991Z","isFirstParty":false}