Koinly has 4 transaction types:


A Deposit transaction indicates that funds have been transferred into your account. All of these transactions are examples of a Deposit:

  • You bought coins offline (ex. via paypal) and received them in your wallet.
  • You did some freelance work and received coins as payment.
  • You received an Airdrop or coins from a Hard Fork. 
  • You mined some coins or took part in a mining pool.
  • You had staked coins and are receiving your payout.
  • You lent coins on a DeFi platform like Compound and are receiving interest.

By default all Deposits are assumed to be the first case i.e. coins you have already paid for. If you are receiving coins that you have done some work for then the transaction most likely constitutes Income and you should label it as such.

Deposits can be labelled as Airdrop, Fork, Mining, Staking, Loan Interest, Other Income. All of these labels are treated in the same way and will appear on your Income Report.

A Deposit transaction can not have a fee. Note that if you are receiving coins from another one of your own wallets then that's a Transfer transaction.


A Withdrawal transaction indicates that funds have been transferred out of your wallet. Here are some examples of Withdrawal transactions:

  • Paying for an item on Amazon
  • Buying a Koinly tax plan or a Netflix sub
  • Paying for a massage visit
  • Gifting coins to a friend/relative
  • Donating to a charity
  • Coins someone stole from you i.e. lost coins
  • Costs related to your assets for ex. safekeeping fees, margin interest fees

By default all Withdrawals are treated as sales and a profit/loss will be calculated for them. There are some special transactions that do not result in any gains such as a Gift, Donation or Lost coins. However, this depends largely on the country you are in. Refer to your tax laws for more info. If you are sure that Gifts/Donations are not taxed then you should tag such transactions otherwise leave them untagged.

Withdrawals can not have separate fees - any fees should be included in the withdrawal amount itself.


A Trade can be any of these transactions:

  • Buying crypto for fiat ex. USD -> BTC
  • Exchanging crypto for crypto ex. BTC -> ETH
  • Selling crypto for fiat ex. ETH -> USD

Buying crypto for fiat is the same as a Deposit transaction i.e. there are no gains on it. Exchanging crypto is usually taxed in most countries but you have the option of disabling this in the settings. A sale of crypto is always a taxable event and gains will be realized for it.

A Trade can also have a fee attached to it. The fee can be in any fiat or crypto currency. If the fee is in a cryptocurrency then Koinly will first realize the gains on the fee itself and add the value of the fee is added to the cost-basis of the received coins.


A Transfer is a special transaction that Koinly creates automatically when it detects that a WIthdrawal from one of your wallets matches a Deposit in another wallet. Read more about the rules on transfer matching. Transfers can have a transaction fee attached to them which must be in the currency being transferred ex. a BTC transfer can only have a BTC fee.

Did this answer your question?