Why did my withdrawal incur a "profit"?


At a certain point, I deposited a certain cryptocurrency from my offline wallet onto an exchange, then withdrew the amount BACK to my offline wallet, only days/weeks later, (and the price was relatively the same,) but now Koinly is showing that I incurred a “profit” of many thousands of dollars?! I haven’t sent this crypto to anyone but myself, and I STILL have it! (I haven’t sold it.)
Therefore, how can I incur a sales profit with a cost basis etc etc?

Can someone help me understand this? I will only pay a tax on “profit” when I sell…

Side note: (I am a citizen of the US but a permanent resident of an EU country where we don’t tax on “unrealized capital gains.”)


I think you need to label this as a transfer not a withdrawal also make sure the exchange wallet and the ‘offline wallet’ is added to your Koinly account.

1 Like

Thanks for your reply Jonathan!
My offline wallet IS linked, but maybe I just need to change that to a “transfer,” as you said.


Koinly treats all Withdrawals as sales which is why you are realizing gains.

This transaction should be shown as a Transfer instead of a Withdrawal.
There are a few possible reasons why a Transfer would not be shown properly - This article explains it well:

Thanks for the reply! Now I have a bigger issue regarding my 2021 year. I created a separate comment for that. …seems the APIs aren’t working from a number of exchanges, and when I change those transactions from “withdrawals” to “transfers,” it doesn’t properly reflect the right balance in my Ledger…so it shows I have a lot more on my ledger than I do…


It sounds to me like there is a problem with your Ledger data.

Koinly will automatically detect and merge Deposits and Withdrawals into Transfers. The most common reason that this doesn’t happen is if one of the wallets is reported in a different timezone.
All APIs will correctly import your data in UTC times. This is not always the case with CSV files since they will sometimes report the timestamps in your local time.
If you imported your Ledger data using CSV files then this is most likely the case. To fix this, you can first delete your Ledger wallet in Koinly and then create a new wallet. You can import the same file but make sure that you tell Koinly which timezone your file is using (there is an option for this when importing a file). If your file is reporting UTC times, which most files do, then you don’t need to select any timezone when importing the file.

Best regards,


How do we know IF and HOW MUCH to adjust the timezone for when the CSV file is in a different Timezone? (I mean BEFORE going through a whole ‘import/not matching/delete/autoreplace timezone/re-import’ process?

You could check while doing a transaction on an exchange at what time you did it. Then calculate what time that is in UTC and then check what time the exchange noted in its report.
There is a third and very ugly possibility but mostly with exchanges you should avoid anyway: The exchange delivers its report (IF they do deliver a report…) in THEIR local time. I had this once, it’s a mess…
My personal solution right now: Before I add any csv to Koinly I check the time and if necessary I change the time manually to UTC, so I can be sure that everything is ok.