Skip to content
All work

Fintech, 2026

Ledgerline

A double-entry ledger that replaced a payments company's balance tables.

Sector
Fintech
Year
2026
Duration
7 months
Team
4 engineers

Architecture, 7 components

MerchantsAPI gatewayLedgerOutboxReconcilerPostgresReplica
  • Client
  • Service
  • Queue or log
  • Data store
  • External system

The problem

Balances were stored as mutable columns and updated from six services. Reconciliation ran nightly and finance corrected discrepancies by hand. The company needed a single source of truth before it could launch in new markets.

What we built

  1. 01Modelled money movement as immutable, balanced journal entries in PostgreSQL, enforced with constraints and serializable transactions.
  2. 02Put one Node.js ledger service in front of the data, with idempotency keys on every write.
  3. 03Published ledger events through a transactional outbox so downstream systems could not drift.
  4. 04Migrated historical balances in replayable batches, with parity checks against the old tables.

What changed.

journal entries written per day
4.2M
unreconciled balances since launch
0
p99 write latency
38 ms

Stack

  • Node.js
  • TypeScript
  • PostgreSQL
  • Prisma
  • Kafka

Have a system that needs to carry more?

Tell us what you are building and where it strains. We will reply with how we would approach it.