Ledgerpost gives you the primitives of a correct ledger behind an API. You send balanced entries; it keeps them ordered, immutable, and verifiable.
Balances you define, in any currency or unit. An account is a name and a running balance the ledger maintains for you.
An entry is one balanced event: debits equal credits across the accounts it touches. The ledger rejects an entry that does not balance.
Entries are written once. A reversal or correction is a new entry that references the original, so the record of what happened is never overwritten.
Each entry carries the hash of the previous one. Anyone with the log can check that no entry was inserted, removed, or edited after the fact.
Every write takes a key you choose. A network retry with the same key never posts twice.
Downstream systems subscribe to entries as they commit, so you build projections and notifications without polling.
You move money or track units on behalf of users and you need the record to be correct, ordered, and defensible. Ledgerpost is the ledger so your services do not each invent one.
You need records that are immutable and provable, and you need them without asking engineering for a one-off export every quarter.
You receive a log and a proof, and you can verify the proof yourself. Trust is checkable rather than asserted.
Ledgerpost sits beside your primary database, not in place of it. Your services keep their own state and post the money movement that matters to the ledger over HTTP or an SDK. Reads come back with the proof attached, and webhooks feed your projections.
It is additive. You can start by mirroring one flow into Ledgerpost and widen from there. The Docs page walks the concepts, the API surface, and the SDKs.