The ledger, in one page
The mental model in five bullets.
What the ledger IS
- A double-entry accounting system — every event is recorded as a matched pair (or set) of debits and credits. Debits equal credits, always.
- The single source of truth for customer wallet balances, custody positions, Valura's revenue and expenses, and every tax figure the entity owes.
- A downstream reader — brokers hold the real money, the ledger mirrors what happened. It never initiates a transfer, never places a trade.
- Continuously self-checking — a background scheduler runs integrity checks (trial balance, per-customer wallet, share counts, cash at custody, cross-source tie-outs) and raises when anything drifts.
What the ledger is NOT
- Not a broker. Doesn't hold money, doesn't route orders. Reads from brokers via their APIs.
- Not a valuation engine. Custody is booked at COST. Mark-to-market
exists as a reporting view (
/v1/india/nav), not as GL journal entries — because unrealized value isn't real cash and posting it would breach the balancing invariant. - Not a KYC / onboarding system. Customers arrive already provisioned from api-global; the ledger just needs to know who they are.
The three things it produces
- Balances. Every customer's cash and securities. Firm-wide totals per custodian. The chart-of-accounts trial balance.
- Reports. Tax and compliance (capital gains, dividends, LRS/TCS, Schedule FA), operational (settlement lag, missing UTRs, remittance exceptions), and revenue-accuracy (broker fees, FX margin).
- Alerts. When any of the continuous integrity checks fail.
The one-slide picture
Why this design
- Auditability. Every balance can be traced back through the double-entry chain to the specific broker event that produced it.
- Regulator-ready. Two separate books, one per legal entity, keeps audit trails cleanly separable. Same accounting logic on both — no forks.
- Fail-safe. The ledger never writes to a broker. The worst it can do under bug conditions is report incorrectly (visible to recon) — not send money to the wrong place.
- Extensible. Adding a new source, tax report, or reconciliation check is additive. UAE code stays unchanged when India features ship.