Crypto reconciliation is the process of explaining how opening quantities become closing quantities. When assets move between wallets and exchanges, no single activity screen necessarily contains the whole explanation. One service records a withdrawal, a blockchain records its delivery, and a second wallet reports a receipt. Those records may describe one movement from different perspectives.

A crypto ledger spanning several accounts needs a consistent way to connect that evidence. The goal is a reproducible explanation: another review of the same source records should lead to the same quantities, matches, and unresolved questions.

Define the scope before comparing totals

List every wallet, exchange account, and other location included in the review. Give each a stable name and retain its public address or service account reference. An account that falls outside the list must not silently appear halfway through a combined balance calculation.

Choose the reporting period and cutoff. Specify the time zone and how pending movements are handled. An exchange can show a completed withdrawal request before a destination service credits its customer account. Comparing snapshots from different stages can create an apparent shortage even when the transfer evidence is intact.

Establish opening quantities using supported records. If the review begins after an account was created, a recent transaction export alone may omit the activity that produced its starting balance. Carry forward a verified opening figure and retain the evidence behind it.

Collect complementary records

Gather service ledger exports, completed trade records, deposit and withdrawal histories, and relevant blockchain activity. They answer different questions. A trade execution report can explain what was exchanged, while a ledger report can show the actual credits, debits, and fees affecting balances.

Kraken's explanation of ledger and trades history illustrates this distinction directly: ledger history focuses on balance changes, while trades history focuses on execution details. That is a useful reason to inspect the meaning of an export before assuming it covers an entire account.

Keep the original files unchanged and record their date range, filters, account, and download time. Work from separate normalized copies. If a discrepancy later reveals a missing transaction type or partial export, the original source remains available for comparison.

Normalize fields without losing their original meaning

Use one convention for quantities and signs. For example, positive quantities can mean incoming units and negative quantities outgoing units. Preserve fees separately when the source does so. Do not subtract a fee again if the exported amount already includes that deduction.

Keep original timestamps alongside a normalized time. A timestamp without a time-zone label needs clarification from the source's documentation or settings; guessing can put activity in the wrong reporting period. Also preserve full numerical precision rather than copying rounded dashboard values.

Asset identity should include the network and, for tokens, the contract or mint address when available. A symbol is a display label, not a dependable universal key. Treat wrapped or bridged representations as distinct records until you have documented the specific relationship you intend to track.

Retain a stable source row identifier. Onchain records may need a transaction reference plus an event or output index. One transaction can create several legitimate ledger rows, so removing every repeated transaction hash would discard useful activity.

Match internal transfers using several pieces of evidence

A transfer between accounts within your scope changes location. Link the outgoing entry to the corresponding incoming entry, while retaining both account-level movements. This lets you explain each account and still avoid treating the combined view as new assets arriving from outside.

Use the network, asset identity, transaction reference, addresses, quantities, and timing together. A matching amount by itself is weak evidence, especially when the same quantity moves repeatedly. Exchange withdrawal identifiers may require a separate mapping to the network transaction that delivered the funds.

Allow for documented fee treatment and processing delays. Some withdrawals deduct a charge from the requested amount; others add a separate charge. A batched transaction can also contain several customers' withdrawals. Match your specific movement instead of assigning the entire transaction to your account.

A worked example across three locations

Assume an exchange begins with 800 units of a hypothetical token called SAMPLE. Wallet A holds 200 units, and Wallet B holds none. Your combined opening quantity is 1,000 units.

You withdraw 300 units from the exchange. Under this example's explicit assumptions, the exchange deducts 300, delivers 298 to Wallet A, and retains a two-unit fee. Wallet A then sends 120 units to Wallet B. Finally, Wallet B pays 45 units to someone outside your tracking scope.

Reconciling the illustrative SAMPLE movements
LocationOpening unitsRecorded movementsClosing units
Exchange800300 units deducted500
Wallet A200298 received; 120 sent378
Wallet B0120 received; 45 paid externally75
Combined1,000Two-unit fee; 45-unit external payment953

The internal movements cancel when the three locations are combined. The reduction of 47 units comes from the fee and external payment. If a wallet also paid a network fee in ETH, that charge belongs in the ETH quantity reconciliation. It does not reduce the SAMPLE total merely because it enabled a SAMPLE transfer.

Attach the exchange withdrawal reference, delivery transaction, Wallet A transfer, and external payment evidence to their respective entries. These invented amounts are a teaching example, not a description of any provider's withdrawal terms.

Represent trades and complex actions as linked components

A swap or exchange trade usually needs at least an outgoing asset and an incoming asset, with any charges identified separately. Link those components to the same underlying action. Do not merge unlike assets into one quantity simply because a dashboard expresses both in a common currency.

For contract activity, the transaction's headline amount may omit token movements. Review the relevant execution evidence and balance changes. The Ethereum transaction and gas guide explains why a zero ETH value can coexist with a completed token transfer and an ETH fee.

A movement into a protocol can also change the form of a holding. If evidence shows a position or receipt token, record that relationship explicitly. Avoid treating every deposit as an unexplained disappearance or every receipt token as an unrelated addition.

Reconcile quantities before currency valuations

For each asset and location, start with the opening quantity, add recorded incoming movements, subtract outgoing movements and applicable fees, and compare the result with the closing quantity. Use one consistent treatment of fee-inclusive amounts so the arithmetic remains reproducible.

Then compare the combined total across locations. This second check tests whether internal transfers cancel as expected. A record can balance at one location while still misclassifying a transfer in the combined view, so both perspectives matter.

Price changes are separate from unit movements. A dashboard's displayed value can rise while token quantities remain constant. Complete the quantity explanation first, then document the source and time of any currency conversion needed for a particular report.

Resolve exceptions without forcing a match

Keep an exception list that names the affected account, asset, difference, supporting references, and next question. Common causes include duplicate imports, missing account history, an incorrect decimal setting, unrecorded charges, or activity outside the selected date range.

Do not insert an unexplained balancing entry simply to remove the difference. If an adjustment is supported, document what it represents and link the evidence. A clearly identified unresolved difference is more useful than a tidy total whose reasoning cannot be reconstructed.

A matching balance is also not proof of a complete history. Two missing movements can offset each other. Review source coverage and transaction matches as well as the final number. The ledger basics guide explains why snapshots and histories provide different forms of evidence.

For recurring reviews, note the last successfully imported date and the identifiers already processed. A small overlap between exports can help check continuity, provided repeated source rows are recognized and linked consistently instead of counted again.

Conclusion: preserve the explanation with the total

A completed reconciliation includes its scope, original evidence, normalized entries, matched transfers, quantity checks, and remaining exceptions. Preserve the review cutoff and the reasoning behind changes so the next period can begin from a supported position. Use the crypto recordkeeping overview as the organizing framework when new wallets or services enter the picture.