What is immutability in a ledger?
Immutability
Immutability means a posted transaction is not edited. A new status, a refund, or a void is a new record that points at the old one. The history stays in the log. You can reconstruct what the book showed at any time without trusting an overwrite.
How does immutability work?
The first record keeps its fields. When the transfer applies, holds, or voids, the ledger writes another record. Parent_transaction links them. Reports that need “what happened” walk the chain. Reports that need “what is true now” read the latest status.
Why not update in place?
In-place edits hide who changed a status and when. They break historical balances. They make disputes into arguments. A new row costs storage. An edited row costs trust.
Immutability vs idempotency
Idempotency is about the request. Immutability is about the record. Together they mean one intended movement, many states, no silent rewrites. Webhooks should fire on the new record, not on a patched field.
In Blnk, applied, committed, and voided transactions cannot roll back to an earlier status. Each state is a row on the parent chain. Historical balances depend on that log. See transaction lifecycle.