Ledger Architecture
How transaction states, postings, balances and system boundaries determine which financial record can be trusted—and for what.
Within payments infrastructure, a payment can be complete in a product workflow, posted in an internal ledger, pending at a processor and still unsettled between banks. Each record can remain correct within its own operating perimeter. Ledger architecture determines which record is authoritative for each financial claim, when a balance can be used and who may change its state.
Business event
Account structure
Ledger architecture
Authority, state and financial records
Atomic transaction
Journal entries
Authoritative balance
Controls and permissions
Reconciliation evidence
Accounts, Entries and Transactions
A payment ledger needs a small set of primitives with precise financial meaning. Large-scale ledger implementations commonly organise this model around accounts, transactions, entries and an immutable journal. The value comes from the rules that connect these objects.
| Primitive | Architectural role | Required meaning |
|---|---|---|
| Account | Holds a financial position | Owner, entity, asset or currency, account type and permitted balance behaviour |
| Transaction | Represents one atomic financial event | Business purpose, source reference, state, effective time and complete set of entries |
| Entry | Applies one debit or credit to one account | Amount, direction, transaction reference and immutable posting identity |
| Journal | Preserves the ordered financial record | Accepted transactions, corrections, timestamps and audit history |
01
Accounts represent positions
A ledger account represents a defined pool, claim or category of value. It may represent customer funds, a platform liability, cash at a bank, funds in transit, processor receivables, fees, reserves or internal clearing positions.
A ledger account is not necessarily a bank account. One bank account may support thousands of customer liability accounts inside an internal ledger. A single customer may also require several ledger accounts to separate available funds, restricted funds, credit, fees or different currencies.
Every account needs an explicit:
- owning or represented party;
- legal entity and operational perimeter;
- currency or asset;
- financial classification;
- normal debit or credit behaviour;
- rules governing negative balances and reservations;
- lifecycle and closure policy.
An amount without these dimensions cannot establish a reliable financial position.
02
Transactions define atomic financial events
A ledger transaction groups every entry required to represent one financial event. The ledger accepts the complete group or rejects it. Partial posting would create a position that does not represent the intended event.
The transaction also provides the bridge between product activity and financial state. It should retain the originating event identifier, payment instruction, provider reference and economic purpose. These references make the posting traceable without turning mutable product records into part of the journal.
One product event may create several ledger transactions as its financial meaning changes. An authorisation may reserve funds, settlement may convert the reservation into a posted obligation, and a later refund may create a new transaction. Preserving these as separate events keeps the financial history visible.
03
Entries change positions
Entries apply debits and credits to accounts. Applications do not directly overwrite an account balance. They create entries, and the ledger derives the balance from the accepted journal.
Consider a platform that receives 100 units of settled customer money:
| Account | Debit | Credit |
|---|---|---|
| Cash held at bank | 100 | — |
| Customer funds liability | — | 100 |
The first entry records an asset controlled by the platform. The second records the matching obligation to the customer. If the external funds have not yet settled, the debit may belong in a receivable or funds-in-transit account rather than cash at bank. The journal must reflect the financial position that exists, not the outcome the product expects.
Public technical models from Modern Treasury and Stripe illustrate the same core principle: reliable balances emerge from a structured record of financial events rather than independent balance mutations.
These primitives create a stable language for the rest of the architecture. States define where each transaction sits in its lifecycle. Posting rules determine when entries affect financial positions. Balance policies determine which parts of those positions a system may expose or use.
One Payment Has Several States
A payment does not move through one universal sequence. Product, risk, ledger, processor and settlement systems each track a different object and answer a different question.
| State axis | Question it answers | Example states |
|---|---|---|
| Business state | What has happened in the customer or commercial workflow? | Created, confirmed, fulfilled, cancelled |
| Control state | May the requested movement proceed? | Under review, approved, declined, restricted |
| Authorisation state | Has value been reserved or committed? | Requested, authorised, partially captured, released, expired |
| Accounting state | Has the event affected a financial position? | Unrecorded, pending, posted, adjusted |
| Processing state | What has the payment provider or rail done? | Created, submitted, accepted, rejected, returned |
| Settlement state | Has value moved between the relevant institutions? | Unsettled, queued, provisionally settled, settled |
| Finality state | Can the transfer still be revoked or unwound within the governing system? | Revocable, conditional, final |
These states may advance at different times. A merchant order can be fulfilled while the related card transaction remains unsettled. An internal ledger can post a customer obligation before a bank confirms incoming funds. A processor can accept an instruction that a downstream payment system later rejects.
A single field such as completed suppresses these distinctions. It leaves operators and downstream services to infer whether completion means product acceptance, internal posting, provider execution, settlement or finality.
Precise state names identify both the object and the authority:
instruction_validated;funds_reserved;customer_liability_posted;processor_submission_accepted;bank_credit_confirmed;interbank_settlement_final.
This vocabulary also prevents one system from asserting a state controlled by another. An internal platform may record that it requested a bank transfer. Only the bank or relevant payment infrastructure can provide authoritative evidence that the external transfer reached its defined settlement state.
01
State transitions carry financial consequences
Each transition needs an explicit rule governing whether it:
- creates ledger entries;
- reserves available funds;
- releases a reservation;
- changes a pending position;
- creates a posted position;
- triggers an external instruction;
- requires evidence from another operational perimeter;
- permits a later return, reversal or adjustment.
An accepted payment instruction does not necessarily create a posted financial position. An authorisation may affect available funds while leaving the posted balance unchanged. Settlement may confirm an existing posting or create the event that permits posting, depending on the ledger’s operating model.
Two-phase transfer models make this separation explicit. A pending transfer reserves value and later resolves through posting, voiding or expiry. Systems such as TigerBeetle preserve each resolution as an immutable transfer linked to the original pending event. The state transition changes the usable financial position while retaining the full history.
02
State models follow the rail and product
Different payment instruments require different transition maps. Card authorisation and capture, an instant credit transfer, an ACH debit, an internal wallet transfer and a tokenised deposit transaction carry distinct return rights, timing rules and settlement evidence.
The ledger should preserve those differences without embedding every provider’s vocabulary into its core model. An integration layer maps external events into a controlled internal taxonomy. The mapping records the provider, event version, external reference and evidence that justified the transition.
The architecture should therefore define completion as a scoped statement:
Which object completed, inside which operational perimeter, under whose authority, and with what remaining possibility of rejection, return or reversal?
That definition allows product interfaces, treasury systems, finance teams and risk controls to consume the same transaction without assigning the same meaning to every state.
Posting Creates Financial State
Posting is the controlled acceptance of a financial transaction into the ledger journal. It converts an approved economic event into entries that affect defined accounts and balances.
A posting engine should validate the complete transaction before accepting any entry. Core checks normally include:
- every referenced account exists and remains open for the requested operation;
- the accounts belong to the permitted ledger, legal entity and currency partition;
- total debits equal total credits for each unit of value;
- the transaction satisfies account limits and balance invariants;
- the caller holds authority to perform the requested operation;
- the transaction follows an allowed state transition;
- the posting carries a unique identifier and required source references;
- the effective date and accounting period remain valid;
- all entries can commit atomically.
The ledger accepts the complete transaction or records none of it. This atomic boundary prevents one account from changing while the corresponding position remains unchanged.
01
Double-entry acts as a system invariant
Double-entry gives every movement a source and destination. It allows the ledger to prove that an accepted transaction preserved its defined financial equation.
A platform transfer of 100 units with a fee of 3 units might create:
| Account | Debit | Credit |
|---|---|---|
| Sender customer liability | 100 | — |
| Recipient customer liability | — | 97 |
| Fee revenue | — | 3 |
| Total | 100 | 100 |
The transaction reduces the platform’s obligation to the sender, creates an obligation to the recipient and recognises the fee. It records an internal reallocation of positions. It does not by itself prove that money moved through an external settlement system.
Double-entry also needs defined balancing boundaries. A ledger should balance separately by currency or asset. A USD debit cannot balance a EUR credit merely because a conversion rate makes their displayed values equivalent. A foreign-exchange event requires balanced postings for each currency, together with the accounts that represent the conversion, spread, gain, loss or counterparty position.
Legal entities create another boundary. A transfer between accounts maintained by different entities may require due-to and due-from positions, intercompany obligations or an external settlement event. Placing both accounts in one technical database does not remove those financial relationships.
02
Pending and posted entries make different promises
A pending entry can represent an expected or reserved movement. It may affect projected or available balances while remaining outside the final posted position. Posting confirms that the ledger has accepted the movement under its accounting rules.
The architecture must define what evidence permits that transition. An authorising ledger may post or reserve value before sending an external instruction. A recording ledger may wait for an event produced by a bank, processor or payment rail. Both models can preserve internal consistency, but they assign authority and timing differently.
Once accepted, posted entries remain part of the journal. Operational corrections create linked reversals or adjustment transactions. They do not rewrite the original financial event.
Technical ledger models documented by Modern Treasury and TigerBeetle implement double-entry, atomic transaction groups and account invariants directly in the write path. These controls keep financial correctness inside the ledger boundary rather than distributing it across calling applications.
A reliable posting engine therefore accepts business flexibility at its interfaces while enforcing stable financial rules at the point where state becomes authoritative.
Balances Encode Policy
A ledger balance is a computed view of accepted entries. The journal preserves the financial record; balance views make that record usable for products, controls and reporting.
The word balance becomes ambiguous when an architecture does not specify which entries it includes. Payment systems commonly need several balances for the same account.
| Balance | Typical contents | Primary use |
|---|---|---|
| Posted balance | Entries accepted as posted financial state | Accounting position and historical reporting |
| Pending balance | Posted entries plus unresolved expected movements | Operational visibility |
| Reserved balance | Value committed to authorisations, holds or future settlement | Prevention of conflicting use |
| Available balance | Value the system currently permits the account holder to use | Authorisation and customer experience |
| Projected balance | Posted position adjusted for selected future movements | Treasury and cash planning |
Assume an account has a posted balance of 100 units, an outbound reservation of 30 and an incoming pending transfer of 20 that cannot yet be spent.
| View | Balance |
|---|---|
| Posted | 100 |
| Available | 70 |
| Pending net position | 90 |
| Expected position after both movements resolve | 90 |
All four values can be correct at the same time because each answers a different question.
01
Available balance is a control decision
The posted balance follows ledger entries. The available balance also reflects policy.
Its calculation may include:
- outbound holds and reservations;
- spendable credit limits;
- risk or liquidity buffers;
- pending incoming funds accepted for provisional use;
- withdrawal restrictions;
- account-level minimums;
- chargeback or return exposure;
- intraday limits;
- asset-specific haircuts.
A system that credits an unsettled incoming payment to available balance extends some form of risk capacity. The architecture should identify who approved that policy, which accounts qualify, how much exposure it permits and what happens if the expected funds fail to settle.
An API field named only balance hides these decisions. Each exposed value should carry a defined balance type, currency or asset, account identifier, calculation time and journal position.
02
The posting path protects balance invariants
Concurrent payment instructions can observe the same available balance. If two application services each read 100 units and independently approve withdrawals of 80, both pre-checks succeed while the combined result exceeds the permitted position.
The ledger must enforce the relevant invariant when it accepts the postings or reservations. Application-side balance checks can improve user experience, but they cannot serve as the final financial control.
Implementations may use serial execution, account locks, compare-and-set balance versions or another deterministic concurrency mechanism. The guarantee remains the same: all transactions competing for the same constrained value must pass through one authoritative decision point.
03
Cached balances remain derived records
High-volume ledgers usually maintain precomputed balances, materialised views or account aggregates. These records support low-latency reads without summing the full journal for every request.
A cached balance should remain reproducible from accepted entries. It needs a journal sequence, account version or equivalent marker that shows exactly which postings it includes. Recovery procedures must be able to rebuild the balance and detect divergence between the journal and its read models.
Historical queries also require explicit time semantics. A balance “as of” a date may refer to the entry’s recorded time, effective time or settlement date. The requested basis should remain part of the query and result.
The technical model described by Modern Treasury separates posted, pending and available balances and derives them from ledger entries. The broader architectural principle is stable: a balance becomes reliable when its included states, governing policy and journal position are explicit.
Time, Ordering and Corrections
Financial events run on several clocks. The event may occur at one time, reach the ledger at another and complete external settlement later.
| Time field | Meaning |
|---|---|
| Requested time | When a customer, system or agent initiated the instruction |
| Recorded time | When the ledger accepted the transaction into its journal |
| Effective time | When the financial event should affect the economic position |
| Value date | The contractual date used for availability, interest or another product rule |
| Settlement time | When the relevant external settlement system completed the transfer |
| Finality time | When the transfer reached its defined irrevocable state |
On acceptance, the ledger assigns recorded time and fixes the event’s place in journal order. An authorised upstream event may supply effective time, subject to period and backdating controls. Evidence from the external system that controls settlement or finality establishes those later times.
When a processor event arrives late, it may be recorded today with an effective time from yesterday. Both facts stay in the record. Substituting external event time for recorded time would conceal when the platform received and acted on the information.
During an open accounting period, a transaction may retain its original effective date. After period close, a newly discovered event may instead enter as a current-period adjustment linked to the original event. This treatment keeps operational chronology distinct from financial attribution.
01
Delivery order does not establish financial order
When external systems deliver events late, repeatedly or out of sequence, arrival order loses financial authority. A network retry may cause a completion event to precede an earlier acknowledgement; a batch file may report a return after the original transaction has already been treated as successful.
Before accepting a transition, the ledger validates the event against current state and causal references. The validation set includes the following controls.
- a unique internal transaction identifier;
- the original business-instruction identifier;
- provider and payment-rail references;
- an immutable external-event identifier;
- expected prior state;
- account or transaction version;
- journal sequence;
- links to the transaction being completed, voided, returned or corrected.
Arrival alone carries no transition authority. A duplicated settlement notification cannot create a second posting. A late authorisation message reopens an expired reservation only when the product and rail rules expressly permit it.
02
Idempotency controls repeated effects
Because payment infrastructure normally delivers messages with at-least-once behaviour, end-to-end correctness depends on idempotent financial effects.
One idempotency key identifies one requested financial operation. The same request and key return the existing outcome. If the account, amount, currency or purpose changes materially, reuse of that key fails.
Different identifiers serve different scopes:
| Identifier | Scope |
|---|---|
| Business instruction ID | Customer or product request |
| Ledger transaction ID | Accepted financial event |
| Idempotency key | One retryable write operation |
| Provider event ID | One external notification |
| Network reference | Payment carried by a rail |
| Correction reference | Link to the original financial event |
A retry repeats the same operation. A correction, return or reversal creates a new financial operation with its own identity and an explicit link to the earlier transaction.
The TigerBeetle documentation illustrates this distinction through unique transfer identifiers and linked pending, posting and voiding transfers. Each step remains independently recorded while repeated submission cannot create an additional financial effect.
03
Corrections preserve history
Once posted, a financial record remains in the journal. A later change in economic position enters through a new transaction.
| Situation | Ledger treatment |
|---|---|
| Pending instruction cancelled | Void or release the pending position |
| Reservation reaches its deadline | Expire it and restore the reserved amount |
| Partial capture or settlement | Post the completed amount and release the remainder |
| Incorrect posted transaction | Create a linked reversal and, when required, a corrected posting |
| Payment returned after settlement | Record a new return transaction |
| Fee changed after posting | Record an adjustment rather than overwrite the original fee |
| External event received late | Preserve recorded time and apply controlled effective-time treatment |
To neutralise an earlier posting, a reversal creates an offsetting financial effect. The original event stays recorded. A full correction may use two new transactions—one for the reversal and one for the correct position.
While a movement remains unresolved, its pending state can be posted, partially posted, voided or expired under the permitted transition model. The journal retains both the original pending event and the operation that resolved it.
At any historical cut-off, the record can answer two separate questions: what the system believed then, and which financial position later proved correct. Those two timelines support audit, incident investigation and historical balance reconstruction.
No System Is the Source of Truth for Everything
A source of truth is authoritative for a defined claim. Payment architecture usually distributes those claims across several systems.
| Record | Authoritative for | Does not independently establish |
|---|---|---|
| Product or workflow system | Customer instruction, order state, product configuration and user interaction | Financial position or external settlement |
| Internal operational ledger | Positions, obligations and allocations maintained by the platform | Cash held at a bank or settlement completed outside the platform |
| General ledger | Entity-level accounting classification, period reporting and financial statements | Detailed real-time operational state unless explicitly designed for that role |
| Processor or payment-rail record | Acceptance, execution and status inside the provider’s perimeter | The platform’s customer liabilities or another system’s settlement state |
| Bank account ledger | The account holder’s deposit claim and movements recorded by the bank | Internal allocation of pooled funds among the platform’s customers |
| Settlement-system ledger | Positions and transfers between its participants | Downstream allocation to end customers |
| Shared or tokenised ledger | Ownership, balances and transactions represented within that network | Off-ledger claims, external reserves or legal relationships not incorporated into the network |
| Treasury system | Liquidity view, funding plans and cash forecasts | The underlying journal entries or bank-confirmed cash position |
A system may perform several of these roles. A bank’s core platform can maintain customer deposit accounts and feed its general ledger. A tokenised platform can hold both an asset record and settlement balances. The architecture still needs to identify the authority attached to each function.
01
Pooled funds require two authoritative records
Consider a payment company that holds customer money in one pooled bank account. The bank ledger may show a balance of 1 million units. That record establishes the company’s or safeguarded account holder’s claim against the bank.
The internal ledger may allocate the same economic pool among 20,000 customers. Its customer liability accounts establish how much the platform owes each user.
Neither record replaces the other. The bank does not know the platform’s complete internal allocation. The internal ledger cannot prove that the corresponding cash remains at the bank. The architecture needs both records and a defined relationship between their totals.
This distinction becomes especially important in banking-as-a-service architecture, where a sponsor bank, programme manager, processor and middleware provider may each operate a different record. Contractual responsibility, write authority and technical possession of data can sit with different parties.
02
Read models inherit authority from the journal
Caches, balance tables, search indexes, data warehouses and reporting platforms can reproduce ledger information. They remain derived records.
A derived system should carry enough provenance to identify:
- the originating ledger;
- the journal sequence or account version included;
- the extraction or event-processing time;
- transformations applied to the data;
- any known lag or incomplete partitions.
A warehouse report can support analysis and regulatory production. It cannot create or reverse a customer financial position unless the architecture explicitly routes an authorised transaction back through the ledger’s write path.
The same principle applies to replicated ledger databases. A replica may serve authoritative data, but the authority comes from the accepted journal and its controlled replication process. The replica does not gain independent write authority.
03
Boundary contracts connect authoritative records
Every connection between ledgers needs a boundary contract. That contract defines how one system interprets evidence from another.
A complete contract normally specifies:
- account and party mappings;
- transaction and external reference identifiers;
- currency, amount and precision rules;
- state translations;
- expected event sequence;
- timing and cut-off assumptions;
- settlement or completion evidence;
- retry and duplicate behaviour;
- correction and return handling;
- ownership of unresolved exceptions.
The contract should also identify which external event can justify an internal posting. A provider’s accepted event may only confirm receipt. A bank statement entry may confirm a booked account movement. A settlement-system confirmation may establish finality for the participant transfer. These events carry different evidential weight.
Two systems can remain internally consistent while their combined records become inconsistent. The internal ledger may balance perfectly even though an external payment failed. The bank account may contain the correct aggregate cash while the customer subledger allocates that cash incorrectly. Internal invariants and cross-system agreement protect different properties.
Ledger architecture defines the expected relationship and the records that carry authority. Reconciliation architecture tests whether those independently maintained records continue to satisfy that relationship.
Ledger Topologies Place Trust in Different Locations
Where financial authority, atomicity and operational responsibility sit defines ledger topology. Server count, database technology or deployment pattern alone reveals little about that allocation.
Inside one physical database, several legally or operationally separate ledgers may coexist. Conversely, several databases can form one logical ledger under a single authority, journal protocol and atomic posting model.
| Topology | Authority model | Primary architectural consequence |
|---|---|---|
| Canonical ledger | One journal governs financial positions across products | Cross-product postings and invariants remain inside one atomic boundary |
| Partitioned ledger platform | One engine governs separate entity, currency or product partitions | Common controls with explicit restrictions on cross-partition activity |
| Product subledgers | Individual domains maintain detailed positions | Transfers between domains require defined inter-ledger postings |
| Entity or jurisdiction ledgers | Each legal or regulated perimeter controls its own record | Cross-entity activity creates separate obligations or settlement steps |
| External authoritative ledger | A bank, network, blockchain or other operator controls the asset record | Internal systems maintain operational or accounting representations of external state |
01
A canonical ledger centralises financial authority
Inside a canonical ledger, relevant accounts and postings enter one controlled journal. Customer balances, fees, reserves, clearing positions and other product accounts share common transaction and control rules.
One transaction can then update several accounts atomically. The same boundary creates a central operating dependency: new products, account models and posting rules enter a governed financial language.
Business states can remain in product systems. Orders, user journeys and provider workflows enter the canonical journal only when they create a financially meaningful event.
02
Partitions preserve controlled separation
When currencies, assets, legal entities, jurisdictions or business lines need controlled separation, a ledger platform can place them in distinct partitions. The engine applies common technical controls and restricts which accounts may participate in one transaction.
A partition carries financial meaning only when it represents a real financial or control boundary. A cross-currency entry invokes an exchange model; a cross-entity entry creates intercompany positions or an external settlement step. Database atomicity leaves those obligations intact.
For every cross-partition transaction, the boundary specification states whether it:
- remains atomic inside the platform;
- creates balanced legs within each partition;
- uses due-to and due-from accounts;
- waits for an external settlement event;
- requires a bridge, clearing or orchestration process.
03
Product subledgers distribute ownership
Where products maintain specialised subledgers for cards, wallets, lending, rewards or merchant settlement, each domain can use its own states and account structures.
Across those domains, an inter-ledger protocol connects the two financial effects. A wallet-to-card movement uses one shared transaction identity, defined intermediate positions and recovery rules for partial progress, so the debit and credit remain parts of the same business event.
If a central accounting ledger receives summarised or event-level postings, the product subledger retains authority for detailed operational positions and the central ledger owns entity-level accounting classification. Their transfer contract is the control boundary.
04
Entity and jurisdiction ledgers follow institutional boundaries
Even on shared software, separate legal entities commonly operate separate ledgers. Each entity controls its own accounts, obligations, permissions and reporting periods.
When a customer movement passes through two entities, it creates a position in each perimeter. Intercompany receivables or payables may arise, together with settlement accounts or prefunded balances. A global customer identifier connects the records while the underlying liabilities remain separate.
Where jurisdictional separation applies, it can support local settlement assets, access rules, data-location requirements and regulatory control. The Federal Reserve’s 2026 ledger analysis provides the institutional example: accounts connect distinct perimeters while implementation and governance stay separate.
05
External ledgers can own the asset state
When an external system owns the authoritative asset record, location of authority follows the asset. A bank controls a deposit account. A securities infrastructure controls an ownership record. A blockchain network controls the state represented on-chain.
Internally, the platform may record customer entitlements, fees, pending instructions or accounting positions. Each entry identifies whether the claim originates inside the platform or depends on confirmed external state.
Because the external ledger controls the asset, its availability, correction model, privacy rules and finality shape the internal architecture. Confirmation thresholds and event-ingestion controls govern the connection, with explicit treatment for chain reorganisations, provider corrections or disputed external records where relevant.
06
Topology determines the atomic boundary
Inside one ledger transaction, entries can commit atomically. Across independently controlled ledgers, atomicity ends at the authority boundary.
Cross-ledger movement may require:
- prefunding;
- reservations and releases;
- clearing accounts;
- bilateral credit;
- synchronised settlement;
- conditional execution;
- compensating transactions;
- reconciliation after independent posting.
The topology decision answers a structural question: which financial invariants must hold inside one authority boundary, and which relationships can be managed between separately authoritative systems?
Tokenised Claims and Liability Location
Tokenisation changes how a claim is represented and transferred. It does not, by itself, change who owes the underlying obligation, where backing assets are held or which legal framework governs redemption.
A ledger architecture should therefore identify the instrument before modelling the token.
| Instrument | Underlying liability or claim | Authoritative record |
|---|---|---|
| Tokenised central-bank reserves | Liability of the issuing central bank | Central-bank or governed jurisdictional ledger |
| Tokenised commercial-bank deposit | Deposit claim against the issuing bank | Bank-controlled ledger or an authorised shared platform |
| Stablecoin | Depends on the issuer, reserve arrangement and applicable legal structure | Token ledger for token state; separate records may govern reserves and redemption obligations |
| E-money token | Claim against the e-money issuer under the relevant framework | Issuer and payment-system records |
| Internal settlement token | Liability or settlement unit created by a platform or financial-market infrastructure | Platform ledger and its governing rules |
| Tokenised external asset | Ownership or entitlement linked to an off-ledger asset or custodian record | Depends on the issuance, custody and legal-control model |
A currency label does not fully identify the instrument. A USD deposit issued by Bank A, a USD deposit issued by Bank B and a USD stablecoin represent different liabilities. They should not enter the same ledger account model as interchangeable units without a conversion, settlement or issuer-risk framework.
The asset definition may therefore need:
- currency or denomination;
- instrument type;
- issuer;
- represented liability;
- governing entity and jurisdiction;
- eligible holders;
- transfer restrictions;
- redemption rights;
- authoritative ledger;
- settlement and finality rules.
01
A tokenised deposit remains a bank claim
The UK Prudential Regulation Authority defines a tokenised deposit as a deposit claim represented on a programmable ledger. In a transferable model, the token remains a liability of the issuing deposit-taker and the recipient becomes a customer of that institution. The PRA also notes that market definitions continue to evolve.
The token can support programmability, atomic settlement and continuous transfer availability. The issuing bank still owns the liability model, customer eligibility, redemption obligation and prudential controls.
A transfer between two holders of the same bank’s tokenised deposit can remain inside one issuer perimeter. A transfer involving deposits issued by different banks introduces separate liabilities. The architecture then needs a settlement asset, exchange mechanism, shared platform or interbank obligation that connects them.
Project Agorá applies this distinction directly. Tokenised commercial-bank deposits remain claims against their respective banks, while tokenised central-bank reserves provide a settlement mechanism between institutions. The 2026 Agorá report concludes that tokenisation in its prototype does not alter the legal character of the represented balances.
02
Issuance and redemption connect two records
Token issuance often links a conventional account or reserve record with a programmable ledger. The architecture must prevent value from remaining independently usable in both representations.
A controlled issuance sequence may include:
- receiving an issuance instruction;
- confirming funds or another eligible backing position;
- restricting or debiting the original position;
- minting the corresponding tokens;
- linking both actions through one issuance identifier.
Redemption reverses that relationship:
- the holder submits a redemption instruction;
- the system locks or burns the tokens;
- the issuer confirms the off-ledger credit or asset release;
- the ledger closes the redemption state with external evidence.
Failure between these steps creates a distributed-state problem. A burn cannot remain completed without a recoverable redemption obligation. A bank credit cannot be retried as a new redemption after the token has already been consumed.
The ledger should preserve issuance, circulation and redemption as distinct transaction types. Supply controls need to show the quantity minted, burned, locked and available for transfer, together with the corresponding issuer or reserve position.
03
Production services remain issuer-specific
Recent services demonstrate how tokenised deposits are entering operating payment environments while remaining inside bank-controlled perimeters.
HSBC expanded its Tokenized Deposit Service to the United States in April 2026. The service supports eligible corporate and institutional clients across several jurisdictions and currencies, with 24/7 domestic and cross-border transfers and integration into existing treasury infrastructure. HSBC remains the service and deposit provider.
In July 2026, Siam Commercial Bank became the first financial-institution client reported live with Citi’s integrated 24/7 USD Clearing and Citi Token Services solution. Citi describes the tokens as deposits held within its own global network and uses its clearing service to connect Citi and non-Citi accounts. The first reported transaction crossed the US holiday weekend.
These services extend operating hours and programmability. Their ledger architecture still needs to identify the issuing bank, the represented deposit, the point at which another bank receives settled funds and the record that proves each stage.
04
Managed control layers are emerging around token ledgers
Institutions increasingly consume wallets, mint-and-burn workflows and policy controls through managed platforms. Visa introduced its Stablecoin Platform in July 2026 with wallet infrastructure, bank-account connectivity, approval policies, allowlists, audit logging and mint, burn, hold and transfer functions. The service remains in beta testing with selected clients.
A managed interface can control operational access to a token ledger. It does not automatically become the issuer record, reserve ledger or legal source of the represented claim. The architecture should preserve those authority boundaries even when one service presents them through a unified API.
The critical design rule remains stable: the location of a token, the location of its backing and the location of the legal liability may coincide or remain separate. The ledger must state which arrangement applies.
Failure Modes Expose the Architecture
Arithmetic integrity is narrow. A ledger can remain mathematically balanced while representing the wrong economic event. Double-entry proves internal consistency; economic correctness still depends on account selection, interpretation of the external event and agreement with other authoritative records.
A failure analysis tests seven properties independently:
- journal integrity;
- financial meaning;
- state-transition validity;
- balance policy;
- external-record alignment;
- access authority;
- recovery integrity.
| Failure condition | Operational symptom | Architectural cause |
|---|---|---|
| Mutable balance as the primary record | A balance changes without an explainable transaction history | The system stores outcomes without preserving the entries that created them |
| Partial transaction posting | One account changes while the corresponding position does not | Entries commit outside one atomic transaction boundary |
| Duplicate financial effect | A retry creates another payment, fee or credit | Missing or incorrectly scoped idempotency |
| State conflation | Completed transactions remain unsettled or reversible |
One status field represents several independently controlled states |
| Premature availability | Customers spend funds that later fail or return | Available balance includes provisional value without a defined risk policy |
| Wrong source-of-truth assumption | Internal and external teams rely on different records | The architecture does not assign authority by financial claim |
| Incorrect account mapping | The journal balances while liabilities belong to the wrong customer, entity or product | Reference-data or integration mapping changed without controlled versioning |
| Cross-entity netting | One technical ledger hides intercompany obligations | Legal-entity boundaries do not constrain posting |
| Unlinked correction | The current balance is correct but the history cannot explain why | Adjustments lack references to the original transaction |
| Late-event corruption | Historical balances shift unpredictably | Recorded time, effective time and period policy remain undefined |
| Stale authorisation read | Concurrent payments exceed the permitted position | The application authorises against a replica or cache outside the ledger write path |
| External execution gap | Funds move externally while the internal transaction remains uncertain | The ledger and provider interaction lack durable state and retry-safe recovery |
| Issuance mismatch | Tokens and corresponding backing remain simultaneously usable or become under-issued | Mint, burn, funding and redemption steps lack one controlled lifecycle |
| Split-brain recovery | Two environments accept transactions for the same accounts | Failover creates competing write authority |
| Shared-ledger data exposure | Participants gain access to unrelated customer or transaction information | Privacy and role boundaries do not follow transaction responsibility |
01
Internal consistency can hide semantic error
Even with equal debits and credits, a transaction can use the wrong accounts.
Consider a customer deposit credited to revenue instead of a customer liability account. Total debits and credits remain equal. The journal is balanced; the institution’s obligation is misrepresented.
Control discipline extends from posting code to transaction templates, account eligibility rules and financial classification. Their changes pass through approval and versioning, with test cases based on expected economic positions.
By retaining the transaction type and rule version behind each posting, the ledger gives investigators the evidence needed to locate the semantic error in the instruction, mapping, rule set or posting engine.
02
Boundary failures produce locally correct records
Across an authority boundary, two systems can each contain a locally valid record and still disagree.
For example, an internal ledger may correctly show a payment as pending after the provider has rejected it; a bank account may hold the correct aggregate cash while the customer subledger allocates it incorrectly; or a settlement system may complete an interbank transfer before the receiving institution credits its customer.
Shared identifiers connect these records. Reconciliation then tests the relationship defined by the ledger model: which states should agree, at what level and within what timing tolerance.
03
Recovery can create new financial events
During operational recovery, the target is accepted state with its original transaction identities.
Replaying an event stream, resubmitting an outbound instruction or rebuilding a balance view uses those identities. If a recovery tool generates new identifiers for previously accepted actions, restoration can create duplicate payments.
When an external action is pending, recovery distinguishes an instruction that was never sent from one sent with an unknown response, accepted by the provider or completed externally. Network uncertainty triggers evidence retrieval and an idempotent retry under the existing identity. It does not establish payment failure.
04
Silent failures deserve explicit tests
Some of the most consequential ledger weaknesses leave normal health indicators intact. Databases remain available. Transactions balance. APIs return successful responses.
Architecture tests expose those silent conditions through the following scenarios:
- two concurrent instructions spending the same available funds;
- a duplicated provider event;
- an external response lost after successful execution;
- a completion event arriving before an acceptance event;
- a partial capture followed by expiry;
- a return received after period close;
- a posting routed to the wrong legal entity;
- a correction applied twice;
- failover during transaction acceptance;
- token minting followed by failure of the corresponding funding restriction;
- reconstruction of every balance from the journal;
- reconstruction of every external movement from linked references.
The resulting evidence identifies the affected position and its transaction identity, contains further movement and supports restoration of agreement without rewriting the financial past.
Ledger Design Review
A ledger design review should establish what the system can prove, which financial actions it controls and how it preserves those guarantees during failure.
The review needs evidence at each layer.
| Review area | Required evidence |
|---|---|
| Record authority | A map linking every financial claim to its authoritative system and operator |
| Account model | Account types, owners, entities, currencies, normal balances and permitted relationships |
| Transaction model | Complete posting specifications for each financially meaningful event |
| State model | Independent business, authorisation, accounting, processing, settlement and finality states |
| Balance policy | Exact definitions of posted, pending, reserved, available and projected balances |
| Boundary contracts | State mappings, identifiers, timing rules and evidence exchanged with external systems |
| Control model | Roles, mandates, limits, approvals and privileged operations |
| Recovery model | Retry, replay, failover, balance rebuild and pending-action recovery procedures |
01
Record authority
The review should answer:
- What claim does each ledger account represent?
- Which entity owes or owns that claim?
- Which system can create or extinguish it?
- Which external record confirms the related asset or settlement position?
- Does technical system ownership match contractual and operational responsibility?
- Can two systems accept writes for the same financial position?
Every use of source of truth should include the claim for which the system is authoritative.
02
Accounts and postings
The account model should show:
- how customer, platform, bank, processor and clearing positions are represented;
- how currencies, assets, legal entities and jurisdictions remain separated;
- where fees, reserves, receivables, payables and funds in transit sit;
- which transactions may cross account or ledger partitions;
- how intercompany and cross-ledger obligations are recorded.
Each transaction type needs a balanced posting specification, permitted prior state, required evidence and resulting balance effect.
The review should test financially difficult paths as first-class transactions: partial settlement, returns, fee changes, failed funding, FX conversion, expiry, chargebacks, manual adjustments and account closure.
03
States and balances
The state model should identify the object controlled by each status. Terms such as processed, complete and successful need an explicit authority and financial meaning.
For every transition, reviewers should know:
- who or what can trigger it;
- whether it creates entries;
- which balance views change;
- whether it initiates an external action;
- which later outcomes remain possible;
- how the system records failure or uncertainty.
Balance definitions should state exactly which entries and reservations they include. Available balance requires a documented risk policy, not only a formula.
04
Distributed execution
Every external integration should define:
- the internal instruction ID;
- idempotency scope;
- external event and network references;
- durable outbound state;
- retry behaviour;
- expected event order;
- timeout meaning;
- correction and return handling;
- the evidence required for settlement or finality;
- ownership of an unresolved outcome.
Reviewers should simulate success with a lost response, duplicated notifications, delayed events and provider recovery. The resulting financial state should remain deterministic.
05
Controls and governance
The control review should identify who can:
- create or close accounts;
- modify account limits;
- submit each transaction type;
- approve restricted actions;
- reverse or adjust postings;
- change state mappings;
- deploy posting rules;
- modify smart-contract or programmable-ledger logic;
- grant privileged access;
- activate disaster recovery.
Configuration changes that alter financial outcomes need versioning, independent review and deployment evidence. Historical transactions should remain traceable to the rule set active when the ledger accepted them.
06
Resilience and reconstruction
The ledger should demonstrate that it can:
- recover one accepted journal history;
- rebuild account balances from journal entries;
- identify the journal position included in every read model;
- resume pending external actions without duplication;
- reject stale or conflicting writers after failover;
- preserve transaction identity during replay;
- explain adjustments made after restoration;
- validate external agreement after recovery.
A backup proves that data exists. A recovery test proves that the system can restore financial authority.
07
Purchased and managed ledgers require the same review
A managed ledger service can provide transaction primitives, APIs and operational infrastructure. The design team still owns the financial model and integration boundaries.
The review should verify rather than infer:
- atomicity and isolation guarantees;
- idempotency behaviour;
- posting and correction semantics;
- account and partition constraints;
- historical-balance treatment;
- data portability;
- read-model consistency;
- operational access;
- recovery procedures;
- change-management responsibilities.
A ledger design is ready when another qualified team can reconstruct a balance, identify the authority behind every state and explain each external dependency without relying on undocumented application behaviour.
The Boundary with Reconciliation
Before records can be compared, ledger architecture defines the financial state the system expects to be true. Reconciliation tests that expectation against independently maintained records.
They protect different properties.
| Ledger architecture establishes | Reconciliation architecture tests |
|---|---|
| Entries balance within the defined journal | Corresponding records agree across systems |
| Transactions follow permitted state transitions | External outcomes match internal expectations |
| Balances derive from accepted entries | Internal balances align with bank, processor or settlement records |
| Corrections preserve financial history | Breaks receive investigation and resolution |
| Every claim has an assigned authority | Evidence from each authority supports the expected relationship |
When comparison begins, a balanced ledger may disagree with the bank account; the bank may hold the correct aggregate cash while the internal ledger allocates it incorrectly; or a processor may report successful execution while the internal transaction remains pending.
Ledger integrity proves internal properties. Reconciliation tests external agreement. An incomplete financial model remains a ledger-design defect.
01
The ledger must provide reconcilable evidence
For cross-system control, the ledger exposes the following evidence:
- immutable transaction and entry identifiers;
- business-instruction and idempotency references;
- provider, bank and network references;
- account and legal-entity mappings;
- transaction state and state-transition history;
- recorded, effective and settlement times;
- posted, pending and reserved positions;
- journal sequence or account version;
- links between original, reversal, return and adjustment transactions;
- balance snapshots tied to a defined journal position.
At each external boundary, the expected relationship specifies which records agree, the level of comparison, the timing assumptions and the state transition after which comparison becomes valid.
Depending on the claim, comparison occurs at a different level. A customer-liability ledger may reconcile in aggregate to safeguarded bank balances while retaining customer-level detail internally. A processor clearing account may reconcile by transaction reference; a settlement account, by participant position and settlement cycle.
02
Reconciliation findings return through controlled transactions
When reconciliation discovers a break, it may indicate a missing event, duplicated posting, incorrect account mapping, timing difference or external failure. Resolution stays inside the ledger’s controlled write path.
Through that path, an authorised correction enters as a new posting, reversal, adjustment or state transition linked to the original event. Reconciliation tooling passes the finding and supporting evidence to the ledger; it neither overwrites journal entries nor sets balances directly to an externally observed total.
Detailed matching strategy, exception classification, break ownership, ageing, investigation and remediation belong to reconciliation architecture. At the handoff, the ledger supplies the authoritative internal state, immutable identifiers and expected relationship; reconciliation returns a documented break or confirmation of agreement. Any financial change then re-enters through an authorised ledger transaction linked to that evidence.
Source Register
Official and regulatory sources establish the architecture, legal boundaries and implementation status described above. Provider sources support claims about their own services. Technical engineering materials support ledger primitives and implementation patterns.
Public infrastructure and regulatory sources
Federal Reserve Board — Contrasting Ledgers: Considerations for U.S. Dollar Interbank Payment Systems, February 2026. Operational perimeters, settlement assets, account relationships and trade-offs created by shared-ledger models.
Bank for International Settlements — Annual Economic Report 2026, Chapter III, June 2026. Tokenisation, unified and interoperable ledgers, programmability, central-bank-money anchoring and fragmentation risk.
BIS Innovation Hub — Project Agorá: A Shared Programmable Platform for Wholesale Cross-Border Payments, 27 May 2026. Two-layer ledger architecture, atomic settlement, privacy controls, tokenised deposits, tokenised reserves and governance requirements.
BIS Innovation Hub — Project Agorá update, updated 30 July 2026. Controlled real-value testing conducted in July 2026 and continuing project status.
European Central Bank — Pontes, reviewed 25 August 2026. Planned Q3 2026 launch, dual settlement model, T2 finality and Hash-Link synchronisation.
European Central Bank — Eurosystem Selects Members for the Appia Contact Group, 19 August 2026. Governance, risk management, user requirements and platform change processes.
Bank of England — Synchronisation, updated 4 June 2026. RT2 integration with external asset ledgers, earmark-and-release mechanics and synchronisation-operator responsibilities.
Bank of England / Prudential Regulation Authority — Innovations in the Use of Deposits, E-money and Regulated Stablecoins, 18 May 2026. Tokenised-deposit definitions, issuer liability and prudential expectations.
Infrastructure and service developments
Swift — Blockchain Ledger Ready for Initial Use, 9 July 2026. Initial controlled use, 17 banks preparing pilots, orchestration of tokenised-deposit commitments and settlement through existing systems.
HSBC — Tokenized Deposit Service Expansion to the United States, 13 April 2026. Bank-issued tokenised deposits, supported currencies, 24/7 transfers and treasury integration.
Citi — 24/7 USD Clearing and Citi Token Services with Siam Commercial Bank, 9 July 2026. Live financial-institution use, private permissioned ledger and integration between tokenised deposits and conventional clearing.
Visa — Visa Stablecoin Platform, 16 July 2026. Beta wallet infrastructure, mint-and-burn workflows, dual control, allowlists and audit logging.
Mastercard — Agent Pay for Machines, 10 June 2026. Emerging machine-payment model covering agent identity, delegated intent, policy limits and multi-rail execution.
Technical ledger references
Stripe Engineering — Ledger: Stripe’s System for Tracking and Validating Money Movement, 16 February 2024. Immutable financial-event recording and semantic ledger architecture.
Modern Treasury — How to Scale a Ledger, 1 May 2022. Accounts, entries, transactions, double-entry enforcement, balance types, concurrency and recording-versus-authorising models.
TigerBeetle Documentation, reviewed 25 August 2026. Idempotent transfers, account invariants, two-phase pending transfers, posting, voiding and expiry.
Last reviewed: 25 August 2026