Skip to main content
By CryptoBankStatement editorial team

How CryptoBankStatement Reconciles a Crypto Wallet Statement to the Blockchain

A statement should agree with the blockchain at both ends of the period, not only list the rows in between.

Written by: CryptoBankStatement editorial team

Last reviewed:

Product documentation review only. No legal, tax, financial, immigration or banking advice.

A transaction list shows activity. A reconciled wallet statement also establishes the opening balance, classifies money in, money out, fees and adjustments, and checks that those amounts produce the closing balance.

Opening Balance + Money In − Money Out − Fees ± Adjustments = Closing Balance. CryptoBankStatement applies that model to supported self-custody wallets, with chain-specific treatment for Bitcoin, ETH and Ethereum-mainnet USDC or USDT.

Why a transaction list is not a statement

Block explorers and wallet apps are good at showing that a transfer happened. A reviewer asking for a financial record usually needs a bounded period, a starting balance, a classification of what the rows mean, and an ending balance that those rows explain.

If the opening balance is simply assumed to be zero, or if the closing balance is only the sum of the rows on the page, the document cannot be checked against the chain. CryptoBankStatement establishes balances at the statement boundaries and then tests the activity against them.

The reconciliation identity

Opening Balance + Money In − Money Out − Fees ± Adjustments = Closing Balance

Opening balance is the position immediately before the statement period. Money in and money out are the classified movements during the period. Fees are network costs where the asset model includes them. Adjustments cover established accounting effects that are not ordinary transfers, such as certain Ethereum contract effects. Closing balance is the position at the end of the period.

The statement is reconciled when that identity agrees with the independently established opening and closing blockchain balances. A row is not dropped because it is awkward to classify, and a balancing entry is not inserted to force the totals to match.

Chain-specific accounting

  • Bitcoin: Opening Balance + Money In - Money Out - Fees = Closing Balance. Amounts are accounted for in satoshis for the exact address entered.
  • ETH: Opening Balance + Money In - Money Out - Fees +/- Adjustments = Closing Balance. Amounts are accounted for in wei. Gas is separate from the value transferred.
  • USDC and USDT on Ethereum mainnet: Opening Balance + Money In - Money Out = Closing Balance. Amounts are exact token base units of the configured contract. ETH gas is not subtracted from the token balance.

Why reconciliation matters for review

CryptoBankStatement reconstructs supported public blockchain wallet activity, establishes statement-period opening and closing balances, classifies money in, money out, fees and adjustments, applies historical fiat valuation, and reconciles the resulting statement back to blockchain data.

Historical fiat values sit beside those native amounts. They use daily closing prices for the applicable UTC date. They do not decide whether the blockchain balance reconciles, because the market price of the asset changes over the period.

CryptoBankStatement is not a bank and does not issue regulated bank statements. A reconciled statement is supporting evidence for financial review. The receiving institution decides what it accepts.

How CryptoBankStatement can help

The methodology page documents native-unit accounting, historical fiat valuation and the checks that have to succeed before a statement is shown as reconciled.

Important limitations

CryptoBankStatement is not a bank, accountant, solicitor, tax adviser, immigration adviser or financial adviser. This content is not legal, tax, financial, immigration or banking advice. The receiving institution decides what documents it accepts.

Related pages

Continue reading

Frequently asked questions

Why is a transaction export not enough?
A list of transfers does not show whether the period started from the right balance or whether the rows explain the balance at the end. Missing fees, missing incoming transfers or a wrong opening figure can all leave a list that looks complete and still does not reconcile.
Does the same formula apply to every asset?
The general model is opening balance, money in, money out, fees and adjustments. ETH includes fees and adjustments. Bitcoin includes fees and uses satoshi accounting. USDC and USDT on Ethereum mainnet reconcile in token base units, and network fees stay on the ETH balance rather than inside the token total.
Are displayed amounts the amounts used for reconciliation?
No. Reconciliation uses exact underlying units: satoshis for BTC, wei for ETH, and contract base units for supported ERC-20 tokens. Display values can be rounded for reading. Rounding is not allowed to change the reconciled result.