Post your first transaction
From credentials to a posted transaction, in four calls.
Ledger concepts
Double-entry, corrections, idempotency, multi-currency, value dates.
The four primitives
Account
A named bucket of value in one currency. You choose theid, which may hold letters, digits,
_, :, . and -, and the currency. Both are immutable once set. Accounts carry one of five
accounting types (asset, liability, revenue, expense, equity), which are informational
for reporting.
Posting
One line of a transaction. It says: this account moved by this amount, in this direction (debit or credit), in this currency, effective at this value_date.
Transaction
A set of postings that move together. The ledger enforcessum(debits) == sum(credits) per
currency, and rejects anything that does not balance. That is the whole correctness model.
There is no validation of whether a transaction “makes sense”, because the balance rule is what
makes a double-entry ledger trustworthy.
Balance
The net of an account’s postings, now or at a historical instant. Derived from postings, never stored, and computed fromvalue_date rather than insertion time.
A balanced transaction
number.
What makes it safe
Append-only
Postings are never edited. You correct with a reversal or a refund that references the original.
Idempotent
Every write carries an
Idempotency-Key. A replay returns the original transaction.Multi-currency
Currency is first class. No code path assumes one, and the balance rule applies per currency.
Reconciliation as a primitive
Replayable runs that match an external snapshot against postings.
Who uses this
Anyone who needs an auditable record of what money meant, separate from whatever moved it. Kordio’s own spend control is one such customer: where the projection is enabled, agent spend arrives here as balanced postings. The ledger itself knows nothing about agents. It speaks accounts, postings, transactions and balances, and it does not move money either.Next steps
Why a ledger API
Versus Postgres, a processor, accounting software, and the other ledger APIs.
API reference
Every endpoint, generated from the OpenAPI spec.