A CoinTracker tax report is only as reliable as the history behind it. Connecting an exchange or public wallet is an important start, but it does not prove that every acquisition, transfer, fee and DeFi event was imported or classified correctly. This guide provides a reconciliation workflow for finding missing cost basis, duplicate records, unmatched transfers and complex on-chain activity before using a tax report.

Last reviewed: October 8, 2026. CoinTracker features, supported integrations, tax methods and local tax rules can change. Check the current application and official documentation before editing records or filing. This independent guide is educational, not tax, legal or financial advice.

Quick answer: reconcile sources before reviewing gains. Add every exchange and wallet, identify transfers between accounts you control, resolve missing acquisitions before changing a cost-basis method, then investigate unusual high-value gains, losses and DeFi classifications. Save dated exports of the original data and the completed review.

Why a portfolio balance is not a finished tax record

A current balance shows what is visible now. A tax calculation needs the story of how each asset arrived, moved, changed form and left: purchase price, time, fee, transfer, reward, trade, sale and source wallet. A balance can look plausible even while an old exchange account, a closed wallet, an airdrop or a bridge transaction is missing. That missing history can create an unknown cost basis and make a calculated gain unreliable.

Reconciliation means comparing the application’s record with the activity you actually performed. It is not a search for a preferred tax result. The goal is complete, consistent data that a qualified tax professional can review where necessary.

Build an inventory before connecting anything else

Start with a private source inventory. List every exchange, wallet, hardware wallet, browser wallet, NFT marketplace, staking service, lending app and old account used during the relevant period. Include services with zero current balance: they may contain the acquisition history for coins later transferred elsewhere.

Source How to connect or retain data Common omission
Centralized exchange Official API or original CSV export An old exchange used for the first purchase
Self-custody wallet Public address on every relevant chain Same address used on another EVM network
Hardware wallet All derived accounts and addresses A second account not shown in the first wallet view
DeFi protocol Underlying wallet and transaction history Bridge, LP, staking or reward events
Manual source Receipt, statement or documented adjustment Fees, prior-year data or unsupported activity

Use read-only connections whenever available. A tax tracker should not need permission to trade, withdraw, change addresses or control a wallet. Preserve original CSV files before editing them and do not share an exchange password merely to obtain records.

Use the correct review order

  1. Completeness: confirm every source and tax period is present.
  2. Transfers: connect outgoing and incoming movements between accounts you control.
  3. Duplicates: remove only records proven to be the same event.
  4. Classification: review unusual trades, income, fees and DeFi events.
  5. Cost basis: trace missing lots back to their original acquisition.
  6. Output: inspect large gains, losses and final reports after the history is sound.

Changing cost-basis settings before correcting missing source data can hide the real problem. A method selects which available lot is used; it cannot reconstruct a purchase that was never imported.

Transfers: the most common source of phantom gains

A movement from your own exchange to your own wallet is usually not the same economic event as a sale. If the sending leg is present but the receiving leg is missing, software may interpret it as a disposal because it cannot see where the asset went. If both legs are imported twice, the portfolio may show an impossible balance or duplicate gain.

For each material transfer, compare asset, amount, time, network fee, transaction ID and destination. Small differences can occur because of network fees, but a large difference can signal a real trade, an unsupported token, an incorrect network or a mistaken address. Do not force two events together merely because the symbols look similar.

Transfer review checklist

  • Both sending and receiving accounts are included in the inventory.
  • The asset and network match the blockchain transaction.
  • The timing and amount are reasonably consistent after fees.
  • The transaction ID is retained for later verification.
  • The transfer was not actually a sale, bridge, wrap, LP deposit or payment.

How missing cost basis appears

Cost basis is generally the value of an asset when acquired, adjusted according to the rules and method applicable to the user. It is needed to calculate gain or loss when that asset is sold, traded or otherwise disposed of. A missing basis alert commonly means CoinTracker can see an outgoing asset but cannot locate its earlier acquisition in the connected history.

Trace the asset backwards. Search the transactions page by asset, wallet and date range; then locate the previous transfer, purchase, reward, income event or prior-year import. Check an old exchange, a manually imported CSV and the receiving side of any bridge. Do not invent a purchase price to make a warning disappear. If information is genuinely unavailable, document the source records consulted and seek appropriate tax advice.

Duplicate transactions: fix the source, not just the symptom

Duplicates can arise when an API and CSV cover the same period, a wallet is added twice under different labels, an import is repeated, or a blockchain event is represented by several rows. A duplicate purchase may overstate holdings; a duplicate sale may overstate taxable proceeds. Before marking any record ignored or deleting it, compare the exchange order ID or on-chain transaction ID, timestamp, asset, quantity and fee.

One blockchain transaction can contain several meaningful movements. A DeFi interaction may include a token sent, token received, gas fee and protocol reward. Multiple rows are not automatically duplicates. Treat an event as duplicate only when two records describe the same leg from the same source.

Review the Transactions page like an audit queue

The Transactions page is a working area, not merely a history list. Filter by status such as review suggested, imported, manual or ignored; search by date, asset, exchange or transaction type; and sort high-value gains or losses first. Expand an event to compare sent and received assets, fees, fair-market value, proceeds, cost basis and ending wallet balance.

Prioritize records that can materially change the result: large disposals, missing basis, negative balances, manual edits, unknown tokens, unexplained income and any event where the displayed category differs from what happened. Keep a private note of why an adjustment was made and retain the underlying source evidence.

DeFi needs a different level of review

A simple exchange trade may map neatly to one sale and one acquisition. A DeFi event can include several economic steps in one transaction: gas paid in a native token, a swap through multiple assets, wrapping, bridge minting, liquidity-pool shares, staking receipts or rewards. Automatic classification is useful, but a novel protocol or unusual contract interaction can require human review.

Event Why it can confuse records What to verify
Bridge Two chains show separate events Source, destination, amounts, fees and timing
Wrap or unwrap Token symbol and contract change Whether it is the expected asset conversion
Liquidity pool Several assets become a position Deposited assets, received token and later withdrawal
Staking or rewards Income and balance changes can occur separately Receipt date, amount and applicable local treatment
Multi-hop swap Internal route can show intermediate movements Actual input, output and total network fee

Do not classify an ambiguous event merely because a label sounds convenient. Read the transaction details, check the protocol’s official records and consult a qualified adviser for the local treatment of unfamiliar DeFi activity.

Cost-basis method is a policy choice, not a repair tool

CoinTracker supports methods that vary with country settings. In the United States, CoinTracker explains that the method used should match the exchange or broker’s relevant setting under current rules. FIFO, specific identification, HIFO and LIFO can produce different results because they choose different acquisition lots. The correct method depends on records, jurisdiction and elections—not which number looks lowest at year end.

Choose and document the method before relying on the report. Then rerun the review for implausible changes. If switching a setting produces a dramatic result, investigate the specific lots and source history rather than assuming the new total is automatically right.

Final report checks before exporting

  • Compare portfolio balances with the relevant exchange and wallet balances, allowing for timing differences.
  • Review the largest gains and losses individually.
  • Resolve or document every missing-basis and review-suggested item.
  • Confirm transfers do not appear as unexplained sales.
  • Review manual and ignored transactions one more time.
  • Save dated CSV exports, transaction IDs and a copy of the final report.
  • Ask a qualified tax professional about jurisdiction-specific reporting and uncertain classifications.

API sync, CSV import and manual records: use each for the right purpose

An API connection is useful for current activity because it can retrieve new records without repeatedly exporting files. A CSV can be better for an archive, a closed account or a period an API does not expose. Neither source is automatically superior: compare its date range, fields and completeness. Importing both an API and a full historical CSV without checking overlap is a common cause of duplicate activity.

Manual records should be the exception, not a shortcut for unexplained data. Use them only when there is reliable source evidence: a statement, transaction ID, trade confirmation or documented acquisition. Give the record a clear note stating what was changed, why it was changed and which original source supports it. This makes a later review far easier than relying on memory.

Method Useful for Control to apply
Read-only API Ongoing exchange history Review permissions, last sync and overlapping imports.
CSV export Archive, old account or one-off history Keep an unedited original and confirm date coverage.
Public wallet address On-chain transactions Add every relevant network and verify address ownership.
Manual transaction Supported exception with evidence Document the reason and do not use it to hide an unknown source.

Fees are small records with large reconciliation consequences

Network, trading and withdrawal fees can cause amounts on two sides of a transfer to differ. That difference does not automatically mean one record is wrong. It may be the amount spent to use the network or complete the trade. The treatment of a fee can depend on the asset used, the transaction type and local rules, so do not simply delete it to make balances match.

When a transfer seems unmatched, inspect the fee asset and amount first. A BTC withdrawal may arrive slightly short because BTC paid the network fee; an EVM action may show a separate native-token gas transaction. The CoinTracker record should reflect the real blockchain activity rather than an idealised round number. For material cases, preserve the explorer transaction ID and the exchange withdrawal confirmation.

Create a year-end reconciliation file

A compact private workpaper makes the next tax season much easier. It does not need to contain seed phrases, passwords or API secrets. It should list sources, connection method, date coverage, unresolved items, final export date and the location of original statements. Record changes such as an ignored duplicate or a corrected transfer with enough detail that you can explain the decision months later.

  1. Freeze copies of original CSV files and account statements.
  2. Export the transaction list and reports after every major review round.
  3. Keep a list of missing records requested from exchanges or counterparties.
  4. Document the selected cost-basis method and applicable account or wallet settings.
  5. Retain transaction IDs for material transfers, DeFi interactions and manual corrections.
  6. Store the file securely, separately from wallet recovery phrases and private keys.

Frequently asked questions

Does connecting every wallet guarantee correct taxes?

No. Complete connections are necessary, but imported data still needs review for missing history, duplicate records, classifications, fees and local tax rules.

Should I delete a duplicate immediately?

No. Confirm that it is truly the same event using IDs, time, source and amount. Complex on-chain actions can legitimately create more than one row.

Why does CoinTracker show a large gain on a transfer?

The receiving side or original acquisition may be missing, so the software cannot identify the movement as an internal transfer. Trace both sides before changing the gain manually.

Can CoinTracker decide whether my DeFi event is taxable?

Software can organize and classify data, but legal treatment depends on the event and jurisdiction. Review ambiguous events and obtain professional advice when needed.

Official CoinTracker references

These sources explain the product concepts used in this workflow. Confirm current behaviour in the live CoinTracker application before making changes.

Visit CoinTracker ↗Official website