Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

One bank debit is not 40 USDC payouts: a local CSV reconciliation preflight

Description and use

A local CSV preflight tool identifies mismatches between bank funding, contractor invoices, and processor payouts, aiding in detecting errors in stablecoin distribution.

Problem

A single fiat transfer to a payment processor does not guarantee that 40 contractors receive the expected stablecoin payouts, leading to mismatches between bank funding, contractor invoices, and processor payouts.

Outcome

The tool flags exceptions such as a 20 USDC discrepancy between an invoice of 220 USDC and a processor payout of 200 USDC, and highlights that a single bank debit does not equate to successful individual payouts.

Workflow

  • 1. Export bank funding CSV with fields batch_id, amount, currency, status.
  • 2. Export contractor invoices CSV with fields invoice_id, payout_id, amount, currency.
  • 3. Export processor payouts CSV with fields payout_id, invoice_id, batch_id, sent_amount, sent_currency, received_amount, received_currency, status.
  • 4. Run the CLI: node cli.mjs --funding <bank_csv> --invoices <invoices_csv> --payouts <payouts_csv> --format json.
  • 5. Review the JSON or CSV exception output for mismatches such as differing amounts or missing payout_ids.
  • 6. Optionally use --strict flag in CI to enforce exit codes based on findings.

Evidence

I built a free, offline CSV preflight to make the exceptions visible without pretending to perform an audit or an on-chain verification.

Source

The tool is free, open-source, and requires only Node.js 18+. It runs without npm packages, API keys, wallet connections, or file uploads.

Source

node cli.mjs --funding fictional-bank-batches.csv --invoices fictional-invoices.csv --payouts fictional-processor-payouts.csv --format json

Source

  • Record date: 2026-10-20T21:41:31.915Z