Skip to content

Transaction Reconciliation ​

Reconciliation uses three complementary views:

  1. Transaction detail proves deposit or withdrawal workflow state.
  2. Ledger entries prove finalized account movements.
  3. Current balances provide the resulting position.

Synchronize journal entries incrementally, then join their ref_type and ref_id to deposit or withdrawal records. Validate transaction-to-ledger completeness, amount equality in raw units, and running balance_after continuity.

Internal transfers create a debit on the sender and a credit on the recipient with a shared withdrawal reference. External deposits create a credit; completed external withdrawals create a debit.

Store cursor progress only after committing the received data. Idempotent upserts make replay safe. Because status updates are not replayed by ID cursors, poll non-final transactions separately.

When a mismatch appears, freeze automated correction, capture account, asset, time range, IDs, and request IDs, then compare transaction detail, ledger, and current balance before contacting support. Never manufacture compensating balance changes in the client system.

Validation rules ​

  • Every completed deposit has the expected credit ledger reference.
  • Every completed internal transfer has sender debit and recipient credit with one shared reference.
  • Every completed external withdrawal has the expected debit and final chain result.
  • Raw transaction and ledger amounts agree after fees are interpreted by the endpoint contract.
  • Consecutive balance_after values form a consistent chain for one account and asset.

Run an initial full reconciliation before periodic incremental runs. Retain the window, input cursors, counts, sums, mismatches, and resolution status as an audit record.

OOLIN is a digital asset operations infrastructure product by BPMG.