Skip to main content

Transfers between my own wallets are showing gains (or losses)

Written by Robin Singh

A transfer is a transaction between two of your wallets.

If you see a set of scenarios like this:

image.png

Then this is not a transfer - this is one deposit and one withdrawal. We often call it a "broken transfer". On a broken transfer, a withdrawal is equivalent to "sold at market price", so gains will be calculated for this disposal, while the deposit will be treated like an acquisition at current market price. Such a broken transfer effectively resets the cost basis of your assets.

A "proper" transfer would show as below - both transactions should be "together" on one line only, with a ">>" icon:

image.png

Common issues

Koinly can't detect transfers

Most of the time, Koinly will detect and automatically merge your transfers between wallets. If it didn't, it means that the transactions didn't pass our transfer-matching engine checks - for details on those, check:

The solution is to identify the cause of the error:

  1. Are both legs of the transfer imported (withdrawal and deposit)?
    Maybe one of the wallets is missing or wasn't synced

  2. Do the details of both transactions match?
    Usual culprits:

Transfer is still showing a small gain/loss

In a scenario as below, where both withdrawal and deposit are already merged into a "proper" transfer, but there's still some gain/loss calculated:

image.png

This happens due to the transfer fees. It's especially clear when checking the "Cost Analysis" tab (available on our paid plans only):

image.png

You may choose to postpone realizing gains on transfer fees by toggling OFF Treat transfer fees as disposals in your Settings - if you do, all the transfer fees will be disposed (sold) only once the whole lot is completely sold, not immediately during every transfer.

However, the disposal of transfer fees can still create gains - see Cost transaction is showing a profit (or loss) for more information.

If you're interested to read more about the tax treatment of different fees, check our blog post How Crypto Fees Can Lower Your Tax Bill

Koinly has created an incorrect transfer pair

Most of the time the transaction matching will work well but sometimes Koinly can make mistakes especially if you are moving the same amount between multiple wallets in succession ("hopping").

For example, if the example above was, in fact, a transfer involving a transfer of 1 ETH between three wallets:

  • Transfer of 1 ETH from Coinbase to MetaMask, and right after that:

  • Transfer of 1 ETH from MetaMask to Binance

image.png

In such cases, Koinly may incorrectly merge wrong transactions into transfers. A withdrawal from Coinbase and a deposit to Binance fulfill the requirements of transfer matching, so Koinly might merge them:

image.png

This leaves the deposit and withdrawal from MetaMask "without a pair" to merge.

We are constantly working on improving our algorithms so this is rare but can happen - especially when Coinbase and Binance are added to Koinly first, and MetaMask later. After all, Koinly didn't know about the MetaMask transactions at that time.

✅ How to fix wrong transfer pairs

Did this answer your question?