A developer-first ledger with an immutable journal, derived balances, first-class holds, and multi-leg transactions. Move money in one API call, and every dollar stays traceable to the entry that moved it.

The ledger behind modern fintech
One balanced call. Ledgr writes the immutable journal, updates derived balances, and enforces conservation, atomically and idempotently.
import { Ledgr } from "ledgr-api"; const ledgr = new Ledgr(process.env.LEDGR_API_KEY); const tx = await ledgr.transactions.create({idempotencyKey: "pay_9f2a",description: "Vendor payout",postings: [{ account: "treasury", direction: "debit", amount: 284_300 },{ account: "payroll", direction: "credit", amount: 284_300 },],}); tx.status; // "posted" · debits === credits
The same transfer, posted to your ledger and fully traceable.
Official SDKs, idiomatic in every stack
The primitives every team reinvents, correct and auditable by construction, behind one clean API.
An append-only record of every posting. Nothing is updated or deleted; corrections are new entries, like git history for money.
Balances are computed from the journal and cached, so they always reconcile back to the entries that produced them.
Reserve funds without moving them. Capture partially or in full, or release, and available balance updates instantly.
Split a single transfer across many accounts in one balanced entry. Fees, taxes, and splits are native.
Every write takes an idempotency key. Retries and network failures never double-post.
Isolated books per program, each with its own currency that every account inherits. Multi-tenant from day one.