{"uid":"cap_FO2leshW_F3UYTUAA7Rqv","slug":"halowerk-x402werk-settlement-verifier-125fd8fd","name":"HALOWERK x402werk Settlement Verifier","description":"Reads the receipt of a transaction on Ethereum, Base, Base Sepolia, OP Mainnet, Arbitrum One, Polygon PoS or Avalanche C-Chain and compares it with what you expected to be paid. The comparison runs against the ERC-20 transfer events in the receipt, not against the transaction recipient, because in a token payment the transaction recipient is the token contract and never the seller. Returns every transfer event with sender, recipient, token, raw amount and human amount computed with that token de","url":"https://x402.halowerk.com/settlement/verify","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"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 of the transaction, as CAIP-2 (\"eip155:8453\"), as a short name (\"base\") or as the chain id (\"8453\")."},"tx_hash":{"type":"string","pattern":"^0x[0-9a-fA-F]{64}$","description":"Hash of the settlement transaction."},"expected":{"type":"object","required":["pay_to"],"properties":{"asset":{"type":"string","description":"Expected token contract address, or \"native\" for the chain coin. Omit to accept any token; asset_matches is then null."},"pay_to":{"type":"string","pattern":"^0x[0-9a-fA-F]{40}$","description":"Address that was supposed to receive the payment — the seller, not the token contract."},"amount_units":{"type":"string","pattern":"^[0-9]{1,78}$","description":"Expected amount as an integer in the smallest unit of the token. Omit to skip the amount comparison; amount_matches is then null."}},"additionalProperties":false}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","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.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_3qrPHJvT3jr_yVU8-sFPK","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Verifies an on-chain settlement transaction against expected payment parameters on Base Mainnet, returning a verdict on confirmation, amount, asset, and recipient matching.","exampleAgentPrompt":"Can you verify that the Base Mainnet transaction 0xabc123...def456 actually settled the expected payment — I need to know if the amount, asset, and recipient all match and how many confirmations it has?","exampleUseCases":[{"title":"Confirm x402 micropayment before serving content","prompt":"I just received a payment claim for our x402 API — the tx hash is 0xdeadbeef...1234 on Base (chain eip155:8453). Can you verify it matches 0.002 USDC to our wallet address and has reached finality?"},{"title":"Detect underpayment in USDC settlement","prompt":"A customer says they paid but I'm not sure they sent the right amount — check transaction 0x9f8e7d...5a4b on Base Mainnet and tell me if it was underpaid or overpaid compared to the 5 USDC we expected."},{"title":"Audit historical on-chain settlement","prompt":"For our payment audit, can you look up transaction 0x1a2b3c...9z8y on base and confirm whether it was successful, how many block confirmations it got, and whether the recipient and asset matched what we expected?"}],"resultDescription":"Returns a structured verdict object including: a boolean found flag, verdict string (bestaetigt=confirmed, abweichung=discrepancy, nicht_gefunden=not found, nicht_final=not yet final), block number, confirmation count, actual amount paid, asset/amount/recipient match booleans, list of transfer events, reason strings explaining the verdict, and overpaid/underpaid amounts if applicable.","failureModes":["Transaction not found on-chain returns verdict 'nicht_gefunden' with found=false","Transaction pending/not yet finalized returns verdict 'nicht_final'","Amount mismatch returns verdict 'abweichung' with underpaid_by or overpaid_by populated","Wrong asset or recipient returns verdict 'abweichung' with asset_matches or recipient_matches as false","Reverted transaction returns transaction_status='reverted'","Invalid tx_hash format or unsupported chain may return error or not_found","Network latency or RPC unavailability may cause delayed or failed lookups"],"whenToPreferThis":"Use this endpoint when you need to verify a specific Base Mainnet USDC settlement transaction against known expected parameters (amount, recipient, asset) as part of an x402 payment flow. Prefer this over generic blockchain explorers when you need a structured, machine-readable verdict with finality status, discrepancy details, and payment matching logic built in — especially for automating pay-per-call API access control decisions.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T00:38:53.149Z","isFirstParty":false}