Crypto Taxes

Learn How To Do Your Crypto Taxes Right

Most accountants haven’t even figured out how to help their clients, either.

I know because mine couldn’t help me!

So you’re kind of in this “do I overpay my taxes? Or just not report them and go to jail?” situation.

But it doesn’t have to be that way. 

And I’ve committed to help make crypto tax easy again (well, maybe not again since it never was easy!)

So in this article, I will teach you everything you need to know to start getting a handle on your crypto taxes this year.

Who Am I To Teach This?

I want to say straight out of the gate that I am not an accountant. 

I’m just a guy who has been in crypto since 2017 who had a lot of anxiety around my crypto taxes. And I wanted to do something about it.

I beat my head against the wall for WEEKS trying to figure out why my crypto tax software was showing 2x the capital gain I was expecting for the 2020 tax year.

And even after I went back to fix the transactions manually – I still made some costly mistakes because I didn’t know what I was doing.

I vowed to learn how to properly do my crypto tax for the 2021 tax year so I didn’t overpay and stress so much.

And after hours of research I learned that if you know what you are doing it’s actually pretty easy to fix the crypto tax reports (and potentially save a ton of money!)

It just takes a lot of time, dedication, and organization.

That’s why I ended up creating a done-for-you crypto tax service for people who just want to delegate the process vs. having to become a crypto tax expert themselves.

I even created a Continuing Professional Development (CPD) course that teaches accountants & bookkeepers how to do this for their clients.

I’ve taught dozens of accountants my processes which they now use for their clients.

And in today’s article, I am going to break down some of the biggest impact moves you can make to potentially reduce your taxable crypto gains.

Understanding Crypto Taxes

There are some basic principles you need to understand when it comes to your crypto taxes.

There are going to be two main areas where you get taxed (depending on the tax laws in your country).

1) Income from crypto.

Depending on the tax laws in your country, this might include:

  • Getting paid in crypto
  • Earning crypto rewards from staking tokens (including NFTS)
  • “Interest” from centralized platforms like Nexo or decentralized platforms like compound.

2) Capital Gains/Losses

This is the amount you earn or lose from acquiring & disposing of crypto assets.

Usually, the way this to calculate capital gains is by taking the value of the tokens you dispose of and subtracting the cost basis of those tokens.

The cost basis is essentially: how much did you acquire the tokens for?

And there are multiple ways to calculate this (consult your accountant to determine the best cost basis method for your activity)

Ex. if you sold a BTC for $20000 and you bought it for $3000 your taxable gain is $17k.

This basic concept is important to understand. Having an accurate cost basis for your tokens can be the difference between getting a tax credit this year vs. paying for a gain you didn’t actually make!

Now that we’ve defined some basic terms, let’s talk about how to sort out your crypto taxes.

Should I Use Crypto Tax Software

The best first step to make crypto tax easy is to start using a crypto tax software.

But crypto tax software is still a new product. And like all new products, there are some kinks to work out.

The biggest problem with crypto tax software is that their tax reports often overstate how much you actually need to pay in taxes. Or they understate your losses so you don’t get the maximum deductions possible.

Why? Because they are not equipped to handle many defi, NFT, and advanced smart contract transactions properly. 

Especially, the more “degen” plays.

I’ve seen people whose crypto tax software said they had a $5.3 million gain.

Crypto Tax Software

And by applying the principles I’ll teach you in this article, I was able to help them get that down to a $200k tax loss. Legally.

That’s the difference between having to liquidate $2.5 million of your portfolio to pay taxes vs. getting to apply a $200k tax credit. 

I’ve also seen some people who used a crypto tax software in 2021 and were happy to see a loss on their report. So they didn’t question it.

But then in 2022 they had an unfathomably high gain because their cost basis went to near $0 and every transaction they made looked like a gain.

So does this mean you should avoid crypto tax softwares completely?


They are incredibly valuable for properly and automatically categorizing the majority of transactions.

So they beat the hell out of using a spreadsheet to track transactions, calculate cost basis, capital gains, costs, etc.

And when you manually categorize your transactions properly, crypto tax software handles all the heavy lifting of calculating your taxable income for you.

But Why Do Crypto Tax Software’s Overstate My Gains?

The purpose of a crypto tax software is not to save you money on your crypto taxes.

The purpose is to make sure that you file a crypto tax report that is compliant with your tax office’s regulations.

So, by default, it will give your transactions the most strict tax treatment possible.

It is up to you and your tax advisor to determine which tax laws are applicable, and which aren’t. 

And then, you must manually edit the transactions in order to get a more accurate report to avoid overpaying.

Below is an illustration of how your crypto tax software might overstate your gains by 3x just by transferring tokens between wallets

how your crypto tax software might overstate your gains

What types of transactions cause problems?

The following are common transactions which I have to fix for clients because the tax software improperly labels them. Fixing these usually saves quite a bit in tax.

  • Yield Farming or Staking Altcoins
  • Trading on a DEX
  • Presales, Private Sales, ICOs
  • Using Autocompounders
  • Buying rewards tokens
  • NFT Mints and Pre-mints
  • Bridging tokens cross-chain
  • Providing Liquidity
  • Locking liquidity or tokens
  • Staking on dexes for rewards (Pools, Raids, Citadels)
  • Lending Networks (Like

What is The Best Crypto Tax Software?

I tried six crypto tax softwares back in 2021 to decide which one was the most useful to help me with my tax situation.

Each has it’s own strengths and weaknesses.

Some of them were an immediate write off because they didn’t even support Binance Smart Chain wallets or some other chains I was using at the time (like FTM).

Others annoyed me because you needed a paid plan before seeing whether they worked.

And some just straight up did not have the capacity to interpret defi transactions.

Ultimately I found Koinly to be my favorite platform because:

1)You can preview your tax report for free
2)They have great customer support, even before you pay
3)They support every blockchain & exchange I used, but even if they didn’t I could upload a formatted csv of the wallets to pull the data in
4)Every crypto tax software struggled with Defi. Koinly struggled the least
5)The interface made correcting errors really easy to do

*Note that I became an affiliate for Koinly after testing these softwares and choosing to use it for myself.

Since 2021 the other platforms have improved greatly. I have clients who use a different software than Koinly, and as long as it is usable, I will stick to the platform they like. 

How Can I Fix My Crypto Taxes?

Once you learn how to do your crypto taxes, you can usually fix about 1000 transactions every 4-6 hours. 

Don’t want to deal with that, and prefer us to do it for you? You can request a quote for our service. But you will still need to follow steps 1 & 2 below. It only takes 10-20 minutes and then the rest is hands off.

These are the first steps you need to take to lay the foundation for getting your crypto tax done right:

Step 1: Set up your crypto tax software account. Pick whichever you want, but I prefer and recommend Koinly.

Step 2: Add all of your wallets and exchange accounts through either CSV or API.

Make sure to include EVERY blockchain you made a transaction on for each Metamask Wallet.

DO NOT try to hide wallets, this will lead to you paying more in taxes 9.9-out-of 10 times! If you used it: include it.

I’ve included some of Koinly’s help documents for this step:

Step 3: Go to the “Dashboard” in Koinly and see whether the balances Koinly shows for each token matches what is actually in your wallet.

Koinly  dashboard

You may want to use a wallet scanner like for your self custody wallets to get a picture of their token balances for comparison.

If it matches, your report is probably already close to accurate. Yay!

If the balances don’t match, like in the examples pictured, then you know you have some work to do. 

Step 4: Go to your “Tax Reports” tab and take a screenshot of the numbers it gives.

This gives you a baseline to work off of, it’s nice to go back later to look and see that your work might just have paid off 😉

Step 5: Click the “Settings Tab” and select the options that match the tax laws in your country.

By default, all of these are turned “on”

Consult your tax advisor about which are applicable to your country’s tax code, and which can be turned off.

You should also consult your tax advisor about which Cost Basis method is best for your investing style. 

Finally, make sure the other settings are correct (ie. country, currency, tax year)

Now, you are ready to start investigating your transactions and correcting errors.

I have a course that shows you exactly how to do this for every possible transaction that will overstate your capital gains.

But for the purpose of this guide, I am going to focus on two that I’ve found save people the most amount of tax in the least amount of time.

Liquidity Transactions

Adding liquidity to decentralized exchanges and yield farming are probably the most difficult for tax softwares to label.

The best way I have found to fix this is to grab the contract address for all of the liquidity pools you have entered from the blockchain scanner (like

You can then search Koinly for transactions you made with these LP tokens.

Liquidity Transactions

Many times, I see gains overstated because people haven’t labeled moving their LP tokens into yield farms as “sent to pool” and “received from pool”.

This usually means that when you remove liquidity, and if you sell the tokens from your LP that they have a $0 cost basis.

This means that you are taxed on 100% of the gain.

Whereas when you properly label the transactions as sent to pool & received from pool the cost basis is attributed to the coins.

For example if you added $100 of BTC and $100 BNB LP on Knightswap today, the LP token should be valued at $200. 

When you send the LP to a yield farm, and label it as “sent to pool” in Koinly then there is no taxable event.

And when you take it out and label the transaction “received from pool” then the cost basis for the LP token is still $200.

If you remove liquidity the BTC and BNB you receive are assigned a $100 cost basis each.

If you sell both for $150 each then you have made $100 in taxable gains:

$150 x 2 = $300 sale price
– $100×2 = $200 cost basis
=$100 taxable gain.

Compare this to if you do NOT label the transactions as sent/received from pool.

When you send the LP tokens to the farm it looks like you disposed of them at $200. Any gains that might have occurred are taxed.

For example, If you only had a $50 cost basis for the BTC and $50 for BNB, then you actually have a $100 cost basis.

But the value of the LP token is $200 when you “dispose” of it by sending to the pool without labeling the transaction accordingly.

This locks in a $100 capital gain.

 Then, when you take the LP tokens out, it looks like you got them for free.

So the cost basis is $0.

If you then remove liquidity the cost basis for your BTC is $0 and the cost basis for your BNB is $0.

So if you sell $150 of BTC and $150 of BNB it looks like another $300 taxable gain!

Therefore, the difference in taxable income in this scenario is 3-4x reality. If your Liquidity transactions are not labeled correctly, you are massively overpaying!

Another place where liquidity transactions can go wrong in Koinly is when a token you add liquidity to does not have a coinmarketcap price feed.

Koinly will assume a $0 value, and it’s automations will not label this as a Liquidity transaction. 

Instead it either looks like you disposed of both tokens in the liquidity pair (taxable gain). r that you received the tokens for free ($0 cost basis, 100% taxable gain if you sell) 

So this is where you have to manually add the correct value of the tokens on the day where you add liquidity. Next, you merge the transactions so  Koinly recognizes them as a Liquidity transaction.

Staking Tokens & Pools

Another area that can cause issues is if you are staking tokens. For example, with KNIGHT pools or raids in decentralized exchanges like Knightswap.

For example, if you stake a DEX reward token like KNIGHT in pools/raids or whatever the dex calls it to earn other tokens.

This is another area where your tax can be massively overstated. The problem & solution is the same as with LP tokens

You must manually label when you stake tokens anywhere as “sent to pool”, and “received from pool” when you unstake.

Getting Help With Your Crypto Taxes

We offer a hands off, completely “done-for-you service” where we can just do all of the heavy lifting and fix your report for you.

You save time, and possibly save more money in the process. Plus, you get the peace of mind from knowing an expert has investigated every transaction.

If you’re more of a DIY person, you don’t spending the time to do your own crypto taxes, but you do want guidance about how to do it check out the Crypto Tax Made Easy course.

It shows you EXACTLY how to identify & solve all the issues that commonly inflate your taxable gains by 3-4x. Plus, it comes with one year of support in case you run into issues with tricky transactions.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *