Folio v0.9 — CEX + On-chain Consolidation is liveSee what's new →

Crypto Bank Reconciliation: Subledger to General Ledger (2026)

Accounting·

Crypto Bank Reconciliation: Subledger to General Ledger (2026)

On-chain wallets are not a general ledger. A crypto subledger captures every transaction with cost basis, then posts summarised journal entries to the GL with a full audit trail. Why the GL alone fails for crypto, what breaks reconciliation across chains, and the subledger-to-GL control.
Author avatar Wag3s TeamEditorial team specializing in Web3 finance, crypto tax, and DAO operations. Based in Zurich, Switzerland.

Reviewed by Wag3s Editorial Team — verified against the crypto subledger-to-general-ledger reconciliation model and multi-chain reconciliation constraints · Last reviewed May 2026

Crypto Bank Reconciliation: Subledger to General Ledger

A blockchain is not a bank statement and a wallet is not a general ledger — but most crypto finance teams try to treat them that way and then fight the close every month. This guide is the subledger-to-GL model: why the GL alone fails for crypto, what breaks reconciliation, and the control that makes it work.

TL;DR

  • A GL is not built for crypto: it holds a balance, not per-transaction cost basis, multi-chain movement, or gas.
  • The fix is a subledger between chain and GL — full detail beneath, summarised journal entries posted up.
  • Reconciliation is two-sided: subledger ↔ chain (completeness/accuracy) and subledger ↔ GL (posted = classified).
  • What breaks it: per-chain structure/fees/timing, misaligned timestamps, smart-contract activity masking events, internal transfers mistaken for disposals.
  • Continuous reconciliation beats a month-end scramble — it keeps breaks cheap and the close fast.
  • This is the operational core behind multi-chain reconciliation and the crypto FEC.

Why the GL alone fails

A general ledger is designed for fiat accounts that arrive as periodic statements. Crypto does not. The GL can store "we hold X of token Y at value Z", but it cannot natively:

  • track per-transaction cost basis and the gain/loss on each disposal;
  • follow cross-chain movement of the same economic asset;
  • account for gas/network fees as cost or expense per policy;
  • apply the valuation logic (principal market, timestamp) crypto needs.

Push raw on-chain transactions directly into the GL and you either flood it with transaction-level noise or lose the detail an auditor and the audit trail require. Neither is acceptable.

The subledger model

The solution is the same one accounting has always used for high-volume sub-domains (receivables, fixed assets): a subledger.

LayerHolds
Chain / exchangeRaw transactions (the source)
SubledgerEvery transaction classified, cost basis, gain/loss, valuation, audit trail
General ledgerSummarised journal entries only

The subledger keeps the evidence; the GL stays clean. This is the crypto analogue of a subsidiary ledger, and it is the precondition for both a defensible audit and a compliant FEC.

What breaks reconciliation

The recurring break causes:

  • Per-chain heterogeneity — different transaction structures, fee models, finality timing.
  • Timestamp misalignment — block time vs settlement vs your close calendar.
  • Smart-contract masking — one contract call can be several economic events (swap + fee + reward).
  • Internal transfers — wallet-to-wallet movements booked as disposals if not classified (see internal transfer vs disposal).
  • Incomplete wallet coverage — the single most damaging: activity in unmapped wallets never reaches the books.

Each is a reconciliation finding, and each compounds with volume.

The two-sided control

Crypto reconciliation is two reconciliations, not one:

  1. Subledger ↔ chain — every wallet, every transaction, complete and accurate against on-chain reality.
  2. Subledger ↔ GL — the posted journal entries equal the classified subledger activity for the period.

A break on side 1 is a completeness/accuracy problem (missing wallet, mispriced entry); a break on side 2 is a posting problem (aggregation or mapping error). Both are investigated before close.

Practical guidance

  1. Insert a subledger between chains/exchanges and the GL — do not post raw transactions to the GL.
  2. Maintain a complete wallet inventory — completeness first; an unmapped wallet defeats everything.
  3. Reconcile subledger ↔ chain continuously, not at month-end.
  4. Reconcile subledger ↔ GL each period — posted entries equal classified activity.
  5. Classify internal transfers explicitly so they are not booked as disposals.
  6. Keep the transaction-level detail and audit trail beneath the summarised GL entries.

How vendor tools handle subledger-to-GL

Cryptio and Bitwave act as the crypto subledger: ingest multi-chain and exchange activity, classify and compute cost basis, then post summarised entries to a GL such as NetSuite, Xero, or QuickBooks. Confirm the tool does a wallet-complete subledger↔chain reconciliation and a subledger↔GL posting reconciliation — the GL integration is only as good as the completeness beneath it.

How Wag3s helps

Wag3s Ledger is the subledger between your wallets and your GL: it ingests every chain and exchange, classifies and computes cost basis, reconciles continuously to on-chain reality, and posts summarised, audit-trailed journal entries to the general ledger. See the Ledger product page and the Wag3s for accountants page.


Further reading

Sources

  • Crypto subledger-to-general-ledger model: transaction-level detail and cost basis in the subledger, summarised journal entries posted to the GL, full audit trail retained
  • Multi-chain reconciliation constraints: per-chain transaction structure/fee/timing differences, timestamp misalignment, smart-contract activity masking accounting events
  • Two-sided reconciliation: subledger to on-chain source (completeness/accuracy) and subledger to GL (posted equals classified)
Editorial disclaimer
This article is informational and does not constitute accounting advice. Reconciliation controls and GL integration are entity-specific. Confirm your close process with your accounting team or auditor.