How To Track Crypto Transactions for Taxes: Setup Guide

Cover illustration for: How To Track Crypto Transactions for Taxes: Setup Guide
A photo of Chris Herbst, Managing Director at global crypto tax reporting firm, CountDeFi & CH Consulting. CBAP (CIBA), GTP (SAIT).
By Chris Herbst
Managing Director at global crypto tax reporting firm, CountDeFi & CH Consulting
CBAP (CIBA), GTP (SAIT)
Category
Published On
Updated On
Update Due
Professional Support for Crypto Tax
October 1, 2026
October 1, 2026
July 28, 2027
Tracking crypto for taxes works when it is set up once and kept current. Here is what to record, where the data comes from, how transfers and income are handled, and how to tell whether the figures can be trusted.
CountDeFi Precision 7 System video

Watch: two minutes

The Precision 7 System: every exchange, wallet, chain and DeFi position reconciled and verified, then reported.

Book a free exploratory call

Short answer: list every exchange, wallet and chain you used, import each one's full history into one ledger, match transfers between your own wallets, record the US dollar value of every income receipt, and check the ledger's balances against each wallet. The IRS asks for records of your purchase, receipt, sale, exchange or any other disposition.

Most people start tracking crypto in April, when a return is due and the history is already long. The result is a scramble: an exchange export with no cost basis, a wallet nobody remembers, and a tax figure that looks wrong but cannot be checked. Tracking set up properly works the other way round. The ledger is built once, kept current, and at year-end it produces Form 8949 figures that tie back to every wallet you hold.

This guide is for an individual US investor who wants to set up that system: what to record, where the data comes from, how transfers and income are handled, and how to tell whether the numbers can be trusted. I am Chris Herbst, founder of CountDeFi. We are US crypto tax accountants: we reconcile clients' crypto histories and produce the reports their own CPA or preparer files from. We are not a CPA firm. I am a Chartered Business Accountant in Practice (CBAP) with the Chartered Institute for Business Accountants and a General Tax Practitioner (GTP) with the South African Institute of Taxation. Most of the histories we rebuild broke at one of the steps below, so each step says what usually goes wrong.

What the IRS Expects Your Tracking To Capture

The IRS does not prescribe a tracking tool. It prescribes outcomes: you must be able to support every figure on the return. Tracking is the system that produces that support as you go, instead of reconstructing it afterwards.

What does the IRS say you must keep?

The IRS digital assets page says to keep records that document your purchase, receipt, sale, exchange or any other disposition of the digital assets, and the fair market value in US dollars of digital assets received as income. A tracker that captures those two things for every transaction meets the core of the requirement.

Which details does each transaction need?

The IRS virtual currency FAQs list what records must show to identify specific units: the date and time each unit was acquired, your basis and the fair market value of each unit when acquired, the date and time each unit was disposed of, and the value received. In practice, every row in a crypto ledger needs a timestamp, the asset, the quantity, the US dollar value, the fee, and the wallet or account it happened in.

Do fees belong in the ledger?

Yes. The FAQs define basis as the amount you spent to acquire the virtual currency, including fees, commissions and other acquisition costs in U.S. dollars. A tracker that drops fees overstates gains on every sale, and on an active account the difference adds up.

Do I have to track transactions that made no profit?

Yes. The IRS says that if you have digital asset transactions, you must report them whether or not they result in a taxable gain or loss. A loss is also worth recording: it offsets gains, and without a basis record you cannot prove it.

Step One: List Every Source Before You Import Anything

The single most common reason a crypto tax figure is wrong is a missing source. The tracker cannot calculate what it was never given, and nothing in the software warns you about an account it does not know exists.

What counts as a source?

Every centralized exchange account, including closed ones; every self-custody wallet address on every chain it was used on; every DeFi protocol, lending platform or staking service; every payment app that let you buy crypto; and every hardware wallet. One seed phrase can control addresses on several chains, and each chain is a separate history.

How do I find wallets I have forgotten about?

Work backwards from the ones you know. Every withdrawal from an exchange went to an address, and every deposit came from one. Follow those addresses on a block explorer and you find the wallets that sent and received. Bank statements show card purchases from exchanges you may have stopped using. Old emails from exchanges show account openings.

What if an exchange I used has shut down?

The history still matters, because the basis of coins you moved out of it carries into later sales. Our guide to getting records from a dead exchange covers the usual routes: account emails, bankruptcy claim portals, and the on-chain side of every withdrawal.

Should I write the source list down?

Yes. A short inventory, with each source, the date range covered and how its data was obtained, is the document that tells you, your accountant and the IRS that the ledger is complete. It is also the first thing we ask a new client for.

Step Two: Get Each Source's Full History Into One Ledger

Once the list exists, each source has to be brought in from its first transaction. A partial history is the second most common failure, after a missing source.

CSV export or API connection: which is better?

An API connection keeps a tracker current without manual work, but some exchanges' APIs return only recent history or omit certain transaction types. A CSV export usually covers the whole account but is a snapshot that has to be redone. The reliable approach is an API for ongoing data, plus a full CSV export once to confirm the API did not miss the early years.

Why does my exchange export have no cost basis?

Because the exchange only knows what happened inside its walls. Coins that arrived from another wallet arrive with no purchase record on that exchange. Our guide to exporting wallet transactions to CSV with cost basis explains why, and how basis is carried across from the source.

How do self-custody wallets get into the ledger?

From the blockchain itself. Tracking tools read a public address's history directly, so no export is needed, but each address on each chain has to be added. DeFi activity decoded from the chain is where tools most often mislabel transactions, so those rows need review rather than trust.

How often should I export or sync?

At least once a year, and immediately before closing any account. An exchange can restrict access, change its export format or close; a history saved while the account is open costs nothing to keep.

Source typeHow the history is obtainedWhat most often goes missing
Centralized exchangeAPI connection plus a full CSV exportEarly years, fees, deposits from other wallets with no basis
Self-custody walletPublic address read from the chainAddresses on other chains under the same seed phrase
DeFi protocolDecoded from the wallet's on-chain historyPool deposits and withdrawals labelled as sales or income
Staking serviceExchange export or on-chain rewardsUS dollar value at the time each reward was received
Closed exchangeSaved exports, emails, on-chain withdrawalsThe whole account, and the basis it passed to later wallets

Step Three: Match Transfers Between Your Own Wallets

Moving crypto between your own accounts is not a sale. Tracking software only knows that if it can see both ends of the move.

Is moving crypto between my own wallets taxable?

No. The IRS FAQs say that a transfer from a wallet, address or account belonging to you to another that also belongs to you is a non-taxable event. The tracker must record it as a transfer, carrying the original basis and acquisition date to the receiving wallet.

What happens if a transfer is not matched?

Two errors at once. The outgoing side can be treated as a sale or a disposal, and the incoming side arrives with no basis, so when you sell those coins the whole proceeds look like gain. Unmatched transfers are the main source of the inflated gains people find when they first see their tracker's figures.

How do I match transfers the software missed?

Each blockchain transfer has a transaction hash. If the withdrawal and the deposit show the same hash, they are the same move. Where one side has no hash, match on asset, amount less the network fee, and time. Our guide to fixing missing cost basis works through the common cases.

What about transfers to other people?

Those are not internal transfers. A payment for goods or services is a disposal, and a gift has its own rules. Label them for what they are rather than leaving them as unexplained outflows.

Step Four: Set Up Basis Tracking Wallet by Wallet

From 2025, how you assign cost to coins sold changed for US taxpayers, and a tracker set up the old way can produce figures that no longer follow the rules.

What changed on January 1, 2025?

Revenue Procedure 2024-28 gives a safe harbor to allocate unused basis of digital assets to digital assets held within each wallet or account of the taxpayer as of January 1, 2025. From that date, basis is tracked account by account rather than as one universal pool across every wallet. Our guide to tracking cost basis across wallets and custodians covers the allocation in detail.

Which units are treated as sold?

You can choose specific units if your records identify them. The FAQs say that if you do not identify specific units, they are deemed to have been sold, exchanged, or otherwise disposed of in chronological order beginning with the earliest unit, which is first in, first out. Our guide to calculating crypto gains runs one set of trades through each method.

What should I check in my tracker's settings?

Three things: that the cost basis method is the one you intend to use, that it applies wallet by wallet for 2025 onward, and that the method is the same one used on any earlier returns you have filed. A method changed silently between years produces figures that do not tie to what you already reported.

Step Five: Record Income at the Value You Received It

Crypto received as income is tracked twice: once as income when it arrives, and once as a new holding with a basis equal to that income.

How are staking rewards tracked?

Revenue Ruling 2023-14 holds that the fair market value of staking rewards is included in the taxpayer's gross income in the taxable year in which the taxpayer gains dominion and control over the validation rewards. Each reward needs its own row, with the US dollar value at the time it was received. That value becomes the basis of those coins. Our staking taxes guide covers the reporting.

What other crypto income needs tracking?

Mining rewards, airdrops, payment for work, interest from lending and referral bonuses all follow the same pattern: income at fair market value when received, then a holding with that basis. The IRS asks every filer whether they received digital assets as a reward, award or payment for property or services.

Why does the time of receipt matter so much?

Because crypto prices move by the minute. A reward valued at the day's closing price instead of the moment it arrived can be materially wrong on a volatile token. Good trackers price at the transaction timestamp; check that yours does.

Step Six: Check the Ledger Against Real Balances

A tracker that has never been checked against reality is a guess with a spreadsheet's confidence. The check is simple to describe and is the step most often skipped.

How do I know my crypto tracking is complete?

Compare what the ledger says you hold in each wallet, for each asset, with what the wallet or exchange actually holds on the same date. If they agree everywhere, the history is very likely complete. If they disagree, something is missing or mislabelled, and the difference points you to where.

What does a negative balance mean?

It means the ledger shows you selling or sending more of an asset than it ever recorded you receiving. That is impossible in reality, so it always signals a missing purchase, an unmatched incoming transfer or an unimported source. A tracker should never be used for a return while it shows a negative balance.

Where do I find the real balance?

For a self-custody wallet, the address on a block explorer. For an exchange, its account statement or balance page, and many exchange exports carry a running balance column. Check at year-end for every asset, including small ones; a small unexplained difference is often the visible part of a larger error.

How often should I run the balance check?

At every year-end before filing, and after any month with heavy activity: a large DeFi exit, a move between exchanges, or a migration to a new wallet. A difference caught while the activity is fresh takes minutes to explain. The same difference found two years later can take days, because the exports and the memory of what happened are both gone.

What if the difference is very small?

Small differences are often network fees the tracker did not record, or rounding on a dust balance. Record what you checked and why the difference is small, rather than ignoring it. A difference that grows from one check to the next is not rounding.

Step Seven: Year-End, From Tracker to Form 8949

The point of tracking is the return. At year-end, the ledger's disposals become Form 8949 rows and its income becomes the income lines.

Where does the tracker's output go on the return?

The FAQs direct capital gains and losses to Form 8949, Sales and Other Dispositions of Capital Assets, summarized on Schedule D, and ordinary income from crypto to Form 1040 or Schedule 1 as applicable. Our Form 8949 and Schedule D guide walks through the forms.

Which Form 8949 boxes are for crypto?

The current instructions add new boxes G, H, and I for short-term digital asset transactions and boxes J, K and L for long-term ones. Short-term sales with no Form 1099-DA go in box I: the instructions say do not use box C to report digital asset transactions. The long-term holding period is generally more than 1 year.

How does Form 1099-DA fit with my own tracking?

Brokers report on Form 1099-DA, and the instructions describe mandatory reporting of gross proceeds for all digital assets, with basis reported for covered securities only. Coins transferred in from elsewhere often reach the form with no basis. Your ledger supplies the basis the form lacks, and the two must agree on proceeds. Our Form 1099-DA guide explains what the form means for your return.

Do I report crypto if I received no tax form?

Yes. The FAQs say you must report income, gain, or loss from all taxable transactions involving virtual currency on your return, whether or not you receive an information return.

Choosing the Tool That Holds the Ledger

Every step above can run in a spreadsheet, a dedicated crypto tax tracker, or a mix of both. The tool matters less than whether it can do the steps, so judge it against them rather than against its feature list.

What should a crypto tracking tool be able to do?

Import every source you listed, by API or file; read self-custody addresses on every chain you used; match transfers by transaction hash; track basis wallet by wallet for 2025 onward; price income at the transaction timestamp; and show holdings per wallet so you can run the balance check. A tool that cannot do one of these leaves that step to you.

Does the tool need to support every chain I used?

Yes, or you need another way to bring that chain's history in. A chain the tool cannot read does not show as an error; its activity is absent, and the first sign is usually a negative balance or a transfer with no other side. Check the tool's supported chains against your source inventory before you commit to it.

Can I switch tools without losing my history?

Usually, if you keep the raw exports. Moving between tools by re-importing the original source files is cleaner than moving one tool's processed output into another, which carries over that tool's labels and errors. Whatever you switch to, run the balance check again afterwards.

Can my CPA work directly from the tracker's report?

Your CPA can work from a Form 8949 export and an income summary, provided the ledger behind them is complete and checked. What a preparer cannot do from a report alone is tell whether a source is missing or a transfer is mislabelled. That is why the source inventory and the balance check belong with the report you hand over.

Will the tool label DeFi transactions correctly?

Not always. Liquidity pool deposits, lending, restaking and bridges are decoded from contract calls, and tools differ in how they read them. A pool withdrawal labelled as income, or a deposit labelled as a sale, changes the tax result. Review every DeFi row the tool labelled automatically; our guide to how DeFi is taxed in the US sets out how each activity should be treated.

Keeping the Tracking Records: How Long and in What Form

A tracker's database is not a record on its own. The exports, statements and on-chain data behind it are, and they need keeping for longer than most people expect.

How long should crypto tracking records be kept?

The IRS says to keep records relating to property until the period of limitations expires for the year in which you dispose of the property. For crypto bought years ago and still held, that means keeping the purchase records until years after you finally sell. The general period for a return is 3 years, and longer periods apply in some cases, such as unreported income.

What should the year-end archive hold?

The raw exports from every source, the source inventory, the tracker's full transaction report, the year-end balance check, and the filed forms. Saved together, they let anyone, including you three years later, rebuild the figures without logging in to anything.

Is a tracker subscription enough as a record?

No. If the subscription lapses or the software changes how it calculates, the figures behind your filed return can change or disappear. Export the reports you filed from and keep them with the raw data.

When Tracking Breaks and Needs a Rebuild

Some histories cannot be fixed by adjusting a few rows. Knowing the signs saves months of patching.

What are the signs a crypto ledger needs rebuilding?

Negative balances that keep reappearing after fixes, gains that make no sense against what the market did, large numbers of unmatched transfers, DeFi positions that show as open after you withdrew, and balances that disagree with the wallets by more than small fees. Any one of these after a year of patching usually means the foundation, the source list or the import, is wrong.

Can I rebuild it myself?

Often, yes, by starting again from the source inventory and importing each source cleanly. Our comparison of tracking software and hiring a crypto accountant sets out where software alone is enough and where it is not.

When is professional reconciliation worth it?

When the history spans many wallets and chains, involves DeFi or staking at scale, or has years of gaps, and when an IRS letter or a 1099-DA mismatch means the figures need to stand up. That is the work CountDeFi does: we reconcile the full history, check every balance and produce the reports your CPA files from. See our crypto tax accounting service.

Frequently Asked Questions

Can I track crypto transactions for taxes in a spreadsheet?

Yes, for a small history. A spreadsheet needs the same columns as any tracker: date and time, asset, quantity, US dollar value, fee and wallet. It becomes impractical once there are many wallets, DeFi activity or frequent trades, because transfer matching and per-wallet basis are slow to do by hand.

Do I need to track transfers between my own wallets?

Yes. They are not taxable, but the tracker must record them as transfers so the basis and acquisition date move with the coins. An unrecorded transfer turns into a phantom sale on one side and a zero-basis receipt on the other.

What if an exchange I used has closed?

Use any exports you saved, account emails and the on-chain record of withdrawals to rebuild what you can. The basis of coins withdrawn from the closed exchange still matters for later sales.

How often should I update my crypto tracking?

At least once a year before filing, before closing any account, and after any large DeFi or staking activity. Keeping it current is far cheaper than reconstructing years later.

Does Form 1099-DA replace my own records?

No. It reports gross proceeds and, for covered securities only, basis. Transfers in from other wallets often show no basis, and income events are not on it. Your own ledger supplies what the form leaves out.

How long should I keep crypto tax records?

Keep records for property until the period of limitations ends for the year you dispose of it. For crypto held over many years, that means keeping purchase records long after the purchase.

‍
Chris Herbst is the founder of CountDeFi, a crypto tax specialist whose qualifications span investment management, financial analysis, mathematical statistics and computer science. He holds the Chartered Business Accountant in Practice (CBAP) designation with the Chartered Institute for Business Accountants (CIBA) and the General Tax Practitioner (GTP) designation with the South African Institute of Taxation (SAIT). His combined background in investments, accounting and tax, mathematical statistics and computer science underpins his work in complex crypto tax reporting. This article is for educational purposes only and does not constitute tax, legal or investment advice. Consult a qualified tax professional for guidance specific to your situation. View our Editorial Policy.

Let's get your crypto taxes done.

Book a free, no-obligation exploratory call with us.