Skip to main content

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

  1. Balances. Every customer's cash and securities. Firm-wide totals per custodian. The chart-of-accounts trial balance.
  2. 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).
  3. 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.