There's no escaping it. You gotta pay taxes on your cryptocurrency activity no matter how much you wish you didn't. But fear not, sorting out your crypto tax is far easier than you think. That's because a super accurate crypto tax calculator like Koinly has it all figured out, with seamless integrations to all your crypto wallets and exchanges.
Just how easy? Watch and see! In this video we'll show you step by step instructions on how to do your cryptocurrency taxes with Koinly.
We'll start by setting up your currency and tax base, and connecting the Koinly tax calculator to the most popular crypto wallets; Coinbase, Coinbase Pro, Binance and Ledger. We will also go over how to review transactions and fix some common issues.
Let's begin. The first thing you will see on Koinly after signing up is the Setup page.
Here you'll select your base currency, which is the currency you will be paying your taxes in. In our demo video, we went with USD.
Next, you'll select your home country so Koinly can set up your account with the required tax settings for it. We set ours to the United States.
Just so you know, Koinly supports a number of countries like the US, Canada, Australia, UK, Germany and more, and the instructions are the same for all of them (only the tax settings are slightly different). The goal with crypto tax software is to end up with a useable tax report. Using Koinly, you'll be able to download your Schedule D & Form 8949 (USA), Capital gains summary (HMRC), Schedule 3 (Canada) and any other tax declaration forms required by your country.
This is where you'll import your crypto transaction data. The good news is that Koinly supports hundreds of different crypto exchanges and wallets.
In our crypto tax demo video we went with Coinbase and Binance. We also show you how to import data from a Ledger wallet.
To connect Coinbase to Koinly, click on the Coinbase option and select Auto-sync. This will redirect you to the Coinbase website where you'll have to give permission so Koinly can read your transaction history and balances.
This is all read-only data which means Koinly will only be able to read your history, and not actually trade or transfer funds. Using Koinly to compute your crypto tax is a safe way to import data.
Once you've hit 'Authorize' Koinly will now import all transactions from your Coinbase account. This takes a couple of minutes.
Next we will add a Coinbase Pro exchange account. Keep in mind that Coinbase and Coinbase Pro require 2 separate wallets. Koinly won't get access to your Pro trades just by connecting to your main Coinbase account.
The setup process is a little different here as Coinbase Pro uses API keys. For those who don't know, an API key allows computer software and applications, such as Koinly, to access your account and read the data that you give it permission to read.
Think of an API key as the username.
And an API secret as the password.
Koinly needs both of these.
To complete the setup, head over to the Coinbase Pro website:
Click on your profile icon.
And then New API Key.
Give the key a nickname, like Koinly.
Here we select what data Koinly has access to. Koinly only needs 'read' access so just enable the View permission.
Copy the passphrase you see and paste it in the API pass field on Koinly.
Leave the IP whitelist blank.
Enter your 2fa code if you get the prompt.
Copy the API secret and paste it in Koinly.
Copy the API key and paste that in Koinly too.
And finally, hit the Import button.
Next, we add the crypto exchange, Binance. To connect Binance to Koinly, click on the Binance option and select Auto-sync
The connection steps are the same as Coinbase Pro, so you'll just need to find your API keys. The Binance API also has some restrictions like if you bought or sold using fiat. If so, then that data will not be imported and needs to be added using csv files.
Head over to the Binance website.
Click on your profile icon and then on API Management.
Label the API key Koinly and hit Create.
Enter the email verification and 2fa codes here.
Now, copy your newly generated API key and secret key and paste these into Koinly. Hit Import and you're done.
If you have more exchanges or wallets to add you can continue to select from the available options on the Koinly Wallets page and synch away.
Need to add data from your Ledger wallet? Click on Wallets, select Ledger and auto sync.
Wallets like Ledger do not have any API keys but we can still auto sync the data using public keys.
A public key basically allows Koinly to import data directly from the blockchain. You will have to enter the public key for each of the coins in your wallet separately.
In our video, we add Ethereum and Bitcoin. Let's start with ETH:
Click on Ethereum.
Enter your public address.
And hit import.
Next, we add Bitcoin.
Let's give it a memorable name, like Ledger BTC
Keep in mind that for Bitcoin you actually need to find your extended public key which starts with xpub, ypub or zpub. You can't just enter your Bitcoin address here since Bitcoin wallets create a new address for every transaction. Once you have found the xpub key simply enter it and hit import.
And that's it. We've now imported our transaction history to Koinly. The next step is to quickly review the data to make sure things are looking good.
A quick way to check that everything was imported correctly is to compare the balances that you see on Koinly with what you actually have on your exchange account. Some exchanges like Binance do not provide your complete transaction history via the API which means the balances on Koinly may be different.
If you used API to import all your data then Koinly will actually do this balance comparison for you and show a yellow icon next to any wallets where some balances did not match.
You can click on the wallets to see your balances. There are a few things you want to look out for:
Deposits or withdrawals between your own wallets that Koinly does not recognise: This can happen if you forgot to add a wallet. You can filter by Deposits and No Label then look for any large deposits that you might recognise. For example, in the video we can see that the user received ETH from another wallet, that was not yet added. Once the missing wallet is added, this transaction will turn into a Transfer.
A transfer is easy to spot on Koinly - you can clearly see which wallet it is being sent from and where it's being received.
Next we'll check that the Binance futures transactions have been imported, which can be seen by filtering for Realised P&L transactions. (this is how Binance futures are imported).
Basically Koinly imports the actual profit and loss from your futures trades, it also aggregates the P&L transactions so you will only see a few transactions for each day instead of hundreds that you might see on Binance.
Let's look at some liquidity transactions, and yes Koinly has imported those too. Koinly supports Uniswap, Balancer, Sushiswap, Cream, Value and almost every other Defi protocol out there.
Next let's head over to the Tax Reports page to see some estimates.
Download tax reports
On the Tax Reports page you can download the tax reports you need. The great thing about using a cryptocurrency tax app like Koinly is that it supports lots of different forms, as per the requirements of your country's tax office.
Good to know - Your Koinly crypto tax report is available for download in English & German.
For US: IRS Schedule D, Form 8949. You can also export to Turbotax (both online and desktop versions)