Reconcile stablecoin payment API

Reconcile caller-supplied stablecoin payment records against invoices. Compares amounts, token, recipient, and chain ID, and reports underpayments, overpayments, duplicate transaction hashes, and payments that are not linked to an invoice. reconciliation_status is matched, underpaid, overpaid, duplicate, mismatched, or incomplete. Amounts are integers in smallest units. No chain is queried, and a transaction hash is not treated as confirmation that funds arrived.

The Reconcile stablecoin payment operation is part of the Stablecoin Payment Reconciliation API on BRAINIAC.software. Reconcile caller-supplied stablecoin payment records against invoices. Compares amounts, token, recipient, and chain ID, and reports underpayments, overpayments, duplicate transaction hashes, and payments that are not linked to an invoice. reconciliation_status is matched, underpaid, overpaid, duplicate, mismatched, or incomplete. Amounts are integers in smallest units. No chain is queried, and a transaction hash is not treated as confirmation that funds arrived. It is exposed as POST /api/v1/crypto-payments/stablecoin-payment-reconcile and priced at $0.05 USDC on Base. Payment uses the x402 exact scheme: an unpaid call returns HTTP 402 with payment requirements; after paying the exact USDC amount, retry the same request with a payment-signature header and Idempotency-Key. No account and no API key are required. Data sources for this product: Caller-supplied invoices and payment records processed locally Limitations: Only the invoices and payments in the request are compared. Balances and transaction confirmation are not read from a chain. A transaction hash is not confirmation that funds arrived. A payment is applied only when invoiceId matches, or when associateUnlabeledPayments is single_invoice and the request contains one invoice. Amounts are integers in smallest units. No exchange rate is fetched. invoice-match-score uses the amounts, due dates, and fee rates in the request. A payment is not proof that funds arrived. Outputs are compliance prechecks, drafts, or data lookups for human review. They are not official determinations, legal advice, identity confirmation, or certified filings. Related operations in this group include Score invoice payment match. Open the group documentation for the full request schema, field notes, and response examples before integrating.

POST$0.05 USDC
/api/v1/crypto-payments/stablecoin-payment-reconcile

Example request

curl -i -X POST "https://www.brainiac.software/api/v1/crypto-payments/stablecoin-payment-reconcile" \
  -H 'content-type: application/json' \
  -H 'Idempotency-Key: <fresh-64-character-random-hex-key>' \
  --data-binary @- <<'JSON'
{
  "invoices": [
    {
      "id": "INV-100",
      "amount": "1000000",
      "decimals": 6,
      "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "chainId": 8453,
      "recipient": "0x1111111111111111111111111111111111111111"
    }
  ],
  "payments": [
    {
      "id": "p1",
      "invoiceId": "INV-100",
      "amount": "600000",
      "decimals": 6,
      "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "chainId": 8453,
      "recipient": "0x1111111111111111111111111111111111111111",
      "transactionHash": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
      "timestamp": "2026-11-05T12:00:00.000Z"
    },
    {
      "id": "p2",
      "invoiceId": "INV-100",
      "amount": "300000",
      "decimals": 6,
      "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "chainId": 8453,
      "recipient": "0x1111111111111111111111111111111111111111",
      "transactionHash": "0xbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
    },
    {
      "id": "p3",
      "amount": "1000000",
      "decimals": 6,
      "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "chainId": 8453,
      "recipient": "0x2222222222222222222222222222222222222222",
      "transactionHash": "0xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc"
    }
  ],
  "rules": {
    "allowPartial": true,
    "tolerance": "0",
    "associateUnlabeledPayments": "none"
  }
}
JSON

An unpaid probe returns HTTP 402 with x402 payment requirements. After paying the exact USDC amount on Base, retry the identical request with a payment-signature header.

FAQ

  • Do I need an API key? No. Pay the listed USDC amount with x402.
  • What network? Base (eip155:8453), USDC.
  • Is this an official determination? No. Results are for human review against the cited sources.

Related APIs

Stablecoin Payment Reconciliation APIFull docsHow it works