Reconciling wallets to the ledger: a three-way method
How to tie on-chain balances, subledger lots and the general ledger together, and how to explain the breaks auditors will ask about.
A crypto reconciliation proves three numbers agree for each asset: what the chain says you hold, what your lot records say you hold, and what the general ledger carries. When they do not agree, the gaps have to be explained with evidence, not plugged.
Auditors care because existence and rights and obligations are where crypto audits have run into trouble. PCAOB staff have described deficiencies in testing ownership and in evaluating the reliability of blockchain and wallet data used as evidence [1].
The three legs
| Leg | Source | What it shows |
|---|---|---|
| On-chain or custodian balance | Node or explorer query at a block or time; custodian statement | Units held at each address or account at cut-off |
| Subledger | Open lots by asset, wallet and chain | Units and cost basis your records say you hold |
| General ledger | Account balances for digital assets | Carrying amount reported in the financial statements |
Reconcile units first, then value. Units should match between the chain and the subledger. Carrying amount should match between the subledger (units times your period-end price, or cost less impairment) and the general ledger.
Cut-off and time zones
Pick one cut-off and use it on every leg. PwC's view is that period-end fair value should generally be based on the last trade before midnight in the reporting entity's time zone [4]. Your on-chain balance query should then use the last block at or before that same instant, recorded as a block number and a UTC timestamp, so the reconciliation can be rerun.
Mind finality. On Ethereum, a block is final once it cannot be changed without destroying a large amount of staked ETH, and that status is reached at epoch checkpoints rather than instantly [6]. A transaction in the last minutes before cut-off may still be pending or not yet finalized; decide how you treat it and document the rule.
Common breaks and how to handle them
| Break | Why it happens | How to resolve |
|---|---|---|
| Gas fees | Fees reduce the native token balance without a separate transfer line. | Record gas as its own disposal and expense so units tie. |
| Dust | Tiny residual amounts left by rounding or protocol math. | Apply a documented write-off threshold or leave as an open item; do not adjust chain data. |
| Spam tokens | Unsolicited tokens sent to your addresses. | Exclude from holdings under a written policy and keep the list of excluded contracts. |
| Pending or unfinalized transactions | Broadcast before cut-off, confirmed after. | Apply your finality rule consistently and list them as timing items. |
| Bridged assets | A bridge moves value to another chain, often as a wrapped representation [7]. | Match the outbound and inbound legs; until both settle, carry the amount as in transit. |
| Rebasing tokens | Balances change without transfer events. Lido says stETH balances change daily with its oracle report [5]. | Book rebases from balance differences, not from transfer history. |
| Share-rounding residues | Lido notes stETH transfers can arrive 1 to 2 wei short because of integer division [5]. | Treat as dust under your threshold. |
| Exchange and custodian activity | Trades inside an exchange are off-chain. | Reconcile to statements; COSO notes off-chain activity needs its own reconciliation [3]. |
- On-chain ETH balance at block cut-off: 125.4300
- Less: inbound transfer broadcast 23:58, finalized after cut-off: (2.0000)
- Adjusted chain balance: 123.4300
- Subledger open lots: 123.4380
- Difference: 0.0080 ETH
- Explained: gas on three transactions not yet classified, 0.0080 ETH
- Unexplained: 0.0000 ETH
Materiality and documentation
There is no crypto-specific materiality rule. Set thresholds for investigating differences using the same judgment you apply elsewhere, agree them with your auditor, and record them in the reconciliation template. Small unexplained differences that recur month after month usually point to a process gap, such as an unclassified fee type, rather than noise.
Every reconciling item should have an owner, a reason code, an expected clearing date and supporting evidence. Resolutions should be new entries, not edits to source data.
What auditors expect to see
PCAOB staff point out that access to private keys does not by itself prove ownership, and that auditors may need to test controls over how keys are generated and maintained, including segregation of duties [1]. For custodied assets, they look at the custody terms, including whether client assets are commingled in shared addresses [1]. Staff also flag that third-party pricing data must be evaluated for reliability [1].
The AICPA's practice aid on digital assets, last updated in August 2026, has a chapter on existence, rights and obligations [2]. It is non-authoritative, but it is a useful map of the procedures your auditor is likely to plan. COSO adds that people who can authorize on-chain transactions should not also be able to record them in the books [3].
What to do
- Fix one cut-off instant and time zone, and record the block number used for each chain.
- Reconcile units before values, wallet by wallet and asset by asset.
- Keep a standard list of reason codes for breaks, including gas, dust, spam, pending, bridge in transit and rebase.
- Write down your dust threshold, spam policy and finality rule, and apply them every month.
- Keep evidence of control, such as signed messages or key-ceremony records, alongside the balance evidence.
- Have someone without signing authority prepare or review the reconciliation.
Sources
- Spotlight: Inspection Observations Related to Public Company Audits Involving Crypto Assets (PCAOB staff)
- AICPA Provides New Guidance on Stablecoins, Mining Revenue and Current Auditing Standards (AICPA & CIMA)
- Blockchain and Internal Control: The COSO Perspective (COSO)
- Crypto assets guide, 4.1 Fair value (PwC Viewpoint)
- Lido tokens integration guide (Lido documentation)
- Proof-of-stake (PoS) (ethereum.org)
- Introduction to blockchain bridges (ethereum.org)
General information for finance teams, current as of publication. Not legal, tax or accounting advice.