DashDevs Blog Banking Ledger Architecture for Multi-Product Banks: Wallets, FX, Cards, and Lending on One Core

Ledger Architecture for Multi-Product Banks: Wallets, FX, Cards, and Lending on One Core

author image
Igor Tomych
CEO at DashDevs, Fintech Garden

August 28, 2026

Summary

Key takeaways

  • A multi-product bank needs one core ledger as the system of record, with product sub-ledgers for wallets, FX, cards, and lending that roll up into it.
  • Ledger balance and available balance are different. Card holds, pending FX, and in-flight disbursements sit in the gap between them.
  • Four independent product ledgers create reconciliation debt, awkward cross-product flows, fragmented regulatory reporting, and slower launches.
  • Each product ledger should own native complexity — high-frequency wallet posts, FX rate immutability, card authorization state, lending accrual — without becoming a shadow core.
  • Design the roll-up contract and reconciliation proof before you add the next product line.

Most multi-product banks did not choose their ledger architecture. It accumulated. A wallet ledger from one vendor, a card processor’s internal balance system, a lending platform with its own accrual logic, none of them talking to each other cleanly. This is what a ledger architecture actually needs to look like when wallets, FX, cards, and lending all have to run on one core.

Quick answer: a multi-product bank needs one core ledger acting as the system of record, with sub-ledger structures underneath it for each product line — wallets, FX positions, card authorizations, and loan balances. The core ledger holds the double-entry truth. The sub-ledgers hold product-specific state and roll up into it. Get that separation wrong and reconciliation, reporting, and every new product launch gets harder than it should.

If you are…Design first…Why
Launching a second productCore vs product ledger splitAvoid a second source of truth
Unifying siloed productsRoll-up and reconciliation contractsCross-product flows fail at the boundary
Adding cards or lendingHold / accrual state modelsTiming differs from wallet posts
Facing audit pressureOne exposure view at the coreRegulators do not accept four truths

What is ledger architecture?

Ledger architecture is the design of how a financial institution records, structures, and reconciles every movement of value across its products. It defines what counts as the system of record, how sub-ledgers relate to it, and how balances stay consistent as transactions flow through wallets, cards, FX, and lending simultaneously.

Get the ledger design wrong at the start, and every product you bolt on afterward inherits the mess. Get it right, and adding a fifth product looks structurally similar to adding the second.

After 17+ years around fintech infrastructure, the pattern is consistent across every multi-product bank I have looked at. The ones that scale cleanly treated their ledger structure as a first-class design decision. The ones that struggle treated it as an afterthought bolted onto whichever core banking software they happened to license first.

Core ledger vs. sub-ledger: the foundational split

Every serious ledger architecture rests on one distinction: the core ledger is the system of record, and sub-ledgers hold the detail underneath it.

The core ledger is the double-entry system of record for the institution. Every posting that touches money ultimately resolves here. It answers one question with total authority: what is the actual balance, right now, for this account.

A sub-ledger (also written subledger) tracks detailed, product-specific activity that rolls up into the core ledger rather than replacing it. A wallet product ledger holds per-user balances and pending transfers. A card detail ledger holds authorization holds and settlement timing. A lending accrual ledger holds accrual schedules and payment allocations. None of these need to duplicate the core ledger’s job. They need to feed it clean, reconciled entries.

A sub-ledger that cannot reconcile back to the core ledger on demand is not a sub-ledger. It is a second source of truth, and a bank can only have one of those.

LayerOwnsMust not own
Core ledgerDouble-entry truth, account balances, institution-wide exposureProduct-specific timing quirks
Product sub-ledgerNative product state and posting prepFinal customer exposure across products

This split matters more as products multiply. Wallets update balances dozens of times a second. Lending accrues interest daily on a schedule. Cards generate authorization holds that may or may not settle. Forcing all of that directly into a single monolithic ledger table creates contention and slows down every product at once. Separating it into product-specific ledgers that roll up cleanly avoids that entirely.

What is a ledger balance?

Before going further into architecture, it is worth being precise about a term that gets used loosely: ledger balance.

A ledger balance is the recorded balance in an account based on posted transactions, as distinct from the available balance, which accounts for pending holds, authorizations, and transactions still in flight. If a customer has $500 posted but a $50 card authorization pending, their ledger balance is $500 and their available balance is $450.

This distinction is not academic in a multi-product architecture. A card authorization hold, a pending FX settlement, and a loan disbursement in transit can all sit between the ledger balance and the available balance at the same moment, for the same account.

ConceptMeaningCustomer impact
Ledger balancePosted transactions onlyWhat books show as settled
Available balancePosted minus holds and in-flightWhat the customer can spend now

A ledger balance definition that ignores this gap will misrepresent what a customer can actually spend. A support team that does not understand the difference will spend hours explaining a “missing” balance that was never missing at all.

Why one core ledger, not four

The instinct to give each product its own ledger is understandable. A wallet, a card program, an FX desk, and a lending book each have genuinely different transaction patterns. But letting each product own an independent ledger creates a specific, recurring failure mode.

Failure modeWhat happensCost
Reconciliation breaks downFour truths must agree after the factOps time and close risk
Cross-product flows get awkwardWallet-to-loan or FX-in-card becomes a special caseEngineering debt
Regulatory reporting fragmentsExposure rebuilt from silos at reporting timeError-prone packs
New launches slow downEach product debates “do we need another ledger?”Delayed revenue

Financial reconciliation across product silos is where most multi-product banks lose the most operational time. A single core ledger, with product-specific detail ledgers underneath it, avoids all four problems by design rather than by discipline.

UNIFYING PRODUCT LEDGERS?
DashDevs maps core vs sub-ledger boundaries, roll-up contracts, and reconciliation proof before the next product launch.

Sub-ledger architecture by product line

Here is how the product ledger layer typically breaks down across a multi-product bank’s core offerings.

ProductWhat the product ledger tracksRolls up to core as
WalletsPer-user balances, transfer history, pending statesNet movement per settlement cycle
FXOpen positions, conversion rates applied, multi-currency ledger entriesRealized gains/losses, settled conversions
CardsAuthorization holds, interchange, settlement timingSettled transaction postings
LendingAccrual schedules, payment allocation, principal vs. interest splitDaily or periodic accrual postings

Each product ledger owns the complexity that is native to its product. The core ledger stays simple by design, because it only ever receives clean, already-reconciled postings from the layer below it.

Do not let a product ledger become a shadow core ledger by accident. If a detail ledger starts answering “what is this customer’s total balance across products,” it has quietly taken on the core ledger’s job. Keep that query at the core ledger layer, always.

Enterprise wallet sub-ledger architecture in practice

Wallets deserve a closer look, because they generate the highest transaction frequency of any product on this list and expose design weaknesses faster than anything else.

An enterprise wallet sub-ledger architecture needs to handle balance updates that can happen dozens of times per second per active user, pending transfers that may reverse before they settle, and multi-currency balances if the wallet supports more than one denomination. None of that belongs directly in the core ledger’s hot path.

The pattern that holds up at scale: the wallet’s product ledger processes and holds this high-frequency activity locally, then posts settled, netted entries to the core ledger on a defined cycle, whether that is real time, near real time, or batched.

Our guide on what a ledger is in banking and fintech covers the types and design patterns underneath this in more depth, and it is worth reading before you commit to a specific wallet ledger design.

If wallets are a core part of your product roadmap rather than a side feature, the wallet layer itself deserves dedicated design attention. Our overview of different types of digital wallets breaks down how wallet product decisions feed back into the structure underneath them.

If you are building the wallet product itself rather than just its ledger, our ewallet app development services cover the front-end and product layer this architecture ultimately supports.

FX and multi-currency ledger design

FX introduces a problem the other product lines do not have: the same value can be legitimately denominated in more than one currency at the same moment, and the exchange rate applied at the transaction moment has to be preserved permanently, not recalculated later.

A multi-currency ledger needs to record the transaction currency, the settlement currency, and the rate applied, as immutable facts attached to that specific posting. Recalculating historical FX exposure using today’s rate instead of the rate actually applied at the time is a common and expensive design mistake.

FX field to freezeWhy
Transaction currencyWhat the customer moved
Settlement currencyWhat the bank books settled in
Applied rateHistorical truth for P&L and disputes

For banks with meaningful cross-border volume, this is not a peripheral concern. Our breakdown of leading cross-border payment platforms covers how the FX layer typically interacts with settlement rails, which shapes how much complexity your product ledger needs to absorb versus pass through to a partner.

Card ledger architecture: authorization holds and settlement timing

Cards have a timing problem that wallets and lending do not: a transaction authorizes before it settles, sometimes by days, and the authorization amount can differ from the final settled amount entirely.

A card detail ledger has to track authorization holds as a distinct state from posted transactions, release holds that expire without settling, and reconcile the eventual settlement against the original authorization even when the merchant, the amount, or the timing shifts along the way. This is exactly why the ledger balance and available balance diverge so visibly on card-heavy accounts.

If card issuing is part of your roadmap, the design decisions here connect directly to how card issuing actually works end to end, and to the card issuing integration work required to wire a processor’s authorization and settlement events into your product ledger cleanly.

Comparing options up front is worth the time; our review of card issuing platforms covers how different processors expose this data, which varies more than most teams expect going in.

Lending ledger architecture: accrual and allocation

Lending brings a different kind of complexity: interest accrues continuously against a principal balance that itself changes with every payment, and every payment has to be allocated correctly between principal, interest, and fees before it can post cleanly.

A lending accrual ledger needs its own accrual schedule logic, running independently of the core ledger’s transaction-by-transaction model, because interest accrual is a calculation performed against a balance over time, not a discrete event triggered by a customer action.

This is one of the clearest cases where forcing product logic directly into a core ledger table causes real problems. Loan accounting rules shift by jurisdiction and product type far more than a generic transaction posting ever does, and a core ledger is the wrong place to encode that volatility.

Lending concernBelongs in product ledgerPosts to core as
Accrual scheduleYesPeriodic accrual entry
Payment allocationYesSettled payment split
Principal balance truthAfter allocationUpdated liability posting

Distributed ledger architecture: where it fits and where it doesn’t

It is worth addressing directly, because the term gets confused often: distributed ledger architecture in this context refers to how ledger data is physically stored and replicated across systems and locations, not to blockchain. A modern cloud-native data ledger commonly stores records across distributed environments for resilience and horizontal scaling, independent of any blockchain or distributed ledger technology.

A blockchain distributed ledger architecture, by contrast, uses a shared, cryptographically verified ledger across independent parties who do not fully trust each other. That is a genuinely different problem than the one most multi-product banks are solving internally. Unless your specific use case involves multiple independent institutions that need a shared, trustless record, most banks need a well-designed distributed ledger architecture in the storage and resilience sense, not a blockchain.

How to design a ledger architecture that scales

Pulling the pieces together, here is the sequence that tends to work when designing this structure for a multi-product bank from the ground up.

StepDecisionTip
1Define the core ledger’s scopeDouble-entry postings and balances only
2Design each product ledger for native complexityWallets = frequency; cards = holds; lending = accrual
3Define the roll-up contractWhat counts as settled, and how often it posts
4Build reconciliation as first-classProve product totals match core on demand
5Plan for the next productSame pattern, not a one-off design
DESIGNING THE ROLL-UP CONTRACT?
We help banks and fintechs define core scope, product ledgers, and reconciliation proof before volume forces a rewrite.

Build vs. buy: where DashDevs fits

Some banks build this ledger architecture from scratch. Most do not need to, and shouldn’t, given how much of this pattern is now well understood and available as configurable infrastructure.

A white-label banking platform built around a proper core ledger and sub-ledger separation gets you most of this without a multi-year build. Our own multi-account ledger system built to scale covers the specific patterns we use to let wallets, cards, FX, and lending run on one core without the reconciliation and reporting problems described above.

For teams that already run one or more of these products on separate systems and need them unified, our fintech API integration work and broader fintech integration services cover how to connect existing wallet, card, and lending systems into a shared core ledger without a disruptive rebuild.

If you are evaluating vendors rather than building in-house, our comparison of core banking software and our review of one of the best online banking platforms on the market both cover how different providers handle the ledger layer, which varies more than the marketing pages usually let on.

For teams that want a fully custom build rather than a configurable platform, our custom banking software development team designs this structure around your specific product mix rather than a generic template.

If you want to see this pattern applied end to end, our piece on creating a white label banking product with Fintech Core walks through exactly how wallets, cards, and lending run on one shared ledger in a live implementation.

NEED ONE CORE FOR WALLETS, CARDS, FX, AND LENDING?
Fintech Core and custom ledger design for teams that want portability without four sources of truth.

Final thoughts

Ledger architecture is not a detail you fix later. It is the structural decision that determines whether adding your fourth product is a two-month integration or a six-month rebuild.

One core ledger as the system of record, product-specific ledgers underneath it for each product’s native complexity, and a clean, defined roll-up contract between them. That is the pattern that holds up as wallets, FX, cards, and lending all grow at once.

Want help mapping your current ledger setup against this pattern, or designing it before your next product launch makes the gap harder to close? Talk to our fintech infrastructure team and we will walk through the architecture with you.

Share article

Table of contents
FAQ
What is ledger architecture in a multi-product bank?
It is the design of how the institution records, structures, and reconciles every movement of value across products. It defines the system of record, how product ledgers relate to it, and how balances stay consistent across wallets, cards, FX, and lending.
What is the difference between a core ledger and a sub-ledger?
The core ledger is the double-entry system of record for the institution. Sub-ledgers hold product-specific detail — wallet balances, card holds, FX positions, loan accruals — and post clean, reconciled entries up to the core.
What is a ledger balance vs available balance?
Ledger balance is the posted balance. Available balance subtracts pending holds, authorizations, and in-flight items. Multi-product banks must model that gap explicitly or support and spend limits break.
Why not give each product its own independent ledger?
Independent ledgers multiply reconciliation work, make cross-product flows special cases, fragment regulatory reporting, and slow every new product launch.
How should wallet, FX, card, and lending ledgers roll up?
Each product ledger owns native complexity and rolls up settled, netted, or scheduled postings to the core on a defined contract — real time, near real time, or batch.
Where does distributed ledger architecture fit?
In most banks it means resilient distributed storage and scaling — not blockchain. Blockchain-style shared ledgers fit multi-party trust problems, not internal product accounting.
Should we build or buy this ledger stack?
Many teams start from a modular white-label core with proper ledger separation. Custom builds make sense when product mix and posting rules are truly unique.
How do we keep product ledgers from becoming a second source of truth?
Never let a detail ledger answer total customer exposure across products. Keep that query on the core ledger, and require on-demand reconciliation proof from every product ledger.
Author author image
author image
Igor Tomych
CEO at DashDevs, Fintech Garden

Igor Tomych, fintech expert with 17+ years of experience. He launched 20+ fintech products in the UK, US and MENA region. Igor led the development of 2 white label banking platforms, worked with 10+ financial institutions over the world and integrated more than 50 fintech vendors. He successfully re-engineered the business process for established products, which allowed those products to grow the user base and revenue up to 5 times.

Let’s turn
your fintech
into a market
contender

It’s your capital. Let’s make it work harder. Share your needs, and our team will promptly reach out to you with assistance and tailored solutions.

Cross icon

Stay Ahead 
in Fintech!

Join the community and learn from the world’s top fintech minds. New episodes weekly on trends, regulations, and innovations shaping finance.