
Many crypto investors assume tax reporting is simple:
Upload your exchange data.
Push a button.
Download the tax report.
Unfortunately, crypto taxes rarely work that way.
Over the past several years, I’ve worked with many investors who relied heavily on crypto tax software such as CoinTracking, CoinTracker, and Koinly. These tools are extremely helpful, but they all have one important limitation:
They are only as accurate as the assumptions and logic built into them.
A recent client case illustrates just how much those assumptions can matter — and how a subtle software change created a $117,000 discrepancy in reported losses and nearly a $100,000 difference in taxes owed.
The Investor: Early Bitcoin Buyer With Complex Activity
The client in this case had been investing in Bitcoin since it was trading around $16,000 per coin.
Over several years they:
- Bought and sold Bitcoin multiple times
- Moved assets between wallets and exchanges
- Experimented with trading bots
- Held positions across multiple platforms
This type of activity is common among experienced crypto investors, but it creates a major tax challenge:
Every coin has its own cost basis and holding period.
That information must stay attached to the asset as it moves between wallets, exchanges, and trades.
Why Cost Basis Tracking in Crypto Is So Difficult
When investors hold crypto on multiple platforms, the tax reporting depends heavily on how the software tracks cost basis across wallets.
Historically, many crypto tax tools used what I call the “universal bucket” approach.
In this model:
- All coins are grouped together
- Cost basis can be applied across exchanges
- The software may assume the cost basis of coins sold on one exchange came from purchases made elsewhere
For example:
- Bitcoin bought on Coinbase
- Bitcoin bought on Kraken
- Bitcoin sold on Kraken
Some systems would assign the Coinbase purchase price to the Kraken sale.
This worked technically in many software systems, but it creates problems because the IRS expects taxpayers to track specific assets as they move between wallets.
In other words:
Your cost basis should travel with your coins.
The Role of FIFO and Specific Identification
In the United States, crypto investors generally report gains using either:
FIFO (First In, First Out)
The earliest coins purchased are treated as the first sold.
or
Specific Identification
You identify exactly which coins were sold.
Specific identification often appears in crypto software as methods like:
- LIFO (Last In, First Out)
- HIFO (Highest In, First Out)
These methods can be used if the taxpayer can demonstrate which specific coins were sold.
Many investors don’t realize that the software logic behind these methods can vary.
The Problem: LIFO Applied Only to Sales (Not Transfers
In this case, the client had used LIFO in some tax years and FIFO in others, which is possible when using specific identification properly.
However, during a multi-year review I noticed something unusual.
When I ran the reports earlier in the process, the numbers showed:
- $120,000 in losses
- $375,000 in gains
- $679,000 projected gains for the next year
Later, after finishing reconciliation work, the new report showed:
- $3,679 in losses
- $360,000 in gains
- $638,000 projected gains
Those numbers should not have changed that dramatically.
After several weeks of investigation, I discovered why.
At the time the original reports were created, the software was applying LIFO only to sales transactions, not to wallet transfers.
Later, the software corrected that behavior.
Once transfers were included in the LIFO logic, the entire historical calculation changed.
That created a $117,000 discrepancy in previously reported losses.
Why This Matters in an Audit
This type of discrepancy creates a serious risk.
If the IRS were to review the records and see:
- one report showing $120,000 of losses
- another showing only $3,700
they might reasonably ask:
Which one is correct?
Even if the difference came from a software logic change, the taxpayer is still responsible for filing accurate returns.
That’s why reviewing multi-year reports is so important.
Rebuilding the Cost Basis History
To resolve the issue, I took an approach similar to the global cost basis reallocation process that many crypto tax systems implemented when wallet-tracking rules changed.
The key idea was simple:
Preserve the cost basis reported in prior years.
To do that, I:
- Ran the final report for the prior year (2024).
- Identified the remaining coins and their cost basis.
- Reassigned those values to the current wallet balances.
- Adjusted the dataset so future calculations would start from that correct foundation.
This ensured that:
- previously reported tax numbers stayed consistent
- the remaining assets retained their correct cost basis going forward
A Second Complication: Bot Trading Noise
This client had also run automated trading bots on certain exchanges in prior years.
These bots generated hundreds of thousands of transactions, many of which had already been fully resolved from a tax standpoint.
Those historical trades were no longer needed for the current cost basis calculation, so removing them simplified the dataset significantly.
The important thing was verifying that the remaining asset balances and cost basis totals still matched the previously reported numbers.
They did.
The Most Expensive Mistake: Losing Long-Term Status
After repairing the cost basis problem, another issue appeared.
The transactions created to move cost basis forward caused the software to treat many positions as newly acquired assets.
That meant the system classified them as short-term gains instead of long-term gains.
This difference is extremely important.
Short-term gains are taxed at ordinary income rates (up to 37% federally).
Long-term gains are taxed at 0%, 15%, or 20% depending on income level.
The Tax Impact
When the gains were incorrectly treated as short-term, the tax projection looked like this:
Short-term gains: $593,000
Long-term gains: $14,000
Estimated federal tax: ~$214,000
After manually restoring the correct holding periods, the numbers became:
Short-term gains: $23,000
Long-term gains: $555,000
The final federal tax estimate dropped to:
$119,000
That’s a $95,000 difference simply from correctly identifying the holding periods of the assets.
The Strategic Lesson: Crypto Taxes Aren’t Just Reporting
This case study highlights something many investors overlook:
Crypto taxes are not just about reporting transactions.
They are also about:
- verifying software assumptions
- tracking cost basis across wallets
- preserving long-term holding periods
- reviewing multi-year reports for consistency
- making strategic decisions about which assets to sell
In some portfolios, selling a coin with a lower cost basis but long-term status may produce a lower tax bill than selling a higher basis short-term coin.
Those are strategic decisions that software alone rarely surfaces.
The IRS Is Paying Closer Attention
Starting with recent tax years, exchanges are beginning to report crypto sales to the IRS using the new Form 1099‑DA.
This means the IRS will increasingly receive:
- transaction proceeds
- asset sales data
- exchange reporting information
However, exchanges still do not track full cost basis across wallets, which means the responsibility still falls on the taxpayer to maintain accurate records.
The Bottom Line
Crypto tax software is an essential tool.
But it is still just a tool.
When you’re dealing with:
- multiple exchanges
- large portfolios
- trading bots
- transfers between wallets
- changing software rules
the numbers require human verification and strategic interpretation.
In this case, careful review turned a confusing set of reports into a consistent tax history and avoided a potential $95,000 overpayment.
For investors with complex crypto activity, that level of review can make a very real difference.
Book a strategy session: Let’s sit down and look at your specific situation to ensure your information organization is bulletproof.
- Have a specific question? Drop it in the comments below. We love geeking out over the details!
- Get in touch: For a deep dive into your past reports or to prep for 2026, contact us or email us directly.
Let’s make sure your next tax bill is as small as legally possible.




Leave a Reply