All Collections
Transactions / Tags
Common scenarios
Futures and perpetuals (PNL transactions)
Futures and perpetuals (PNL transactions)
R
Written by Robin Singh
Updated over a week ago

A futures trade is where you are speculating on the rise or fall of a cryptocurrency price i.e. going short or long. No crypto is bought or sold when carrying out such trades and your profit/loss is based on the difference between closing and opening prices.

Trades on futures exchanges such as Binance Futures, Kraken Futures, Bitmex, Bybit, Deribit are imported to Koinly in a slightly different way. Instead of importing the actual trades and calculating capital gains and losses, Koinly will import only your Pnl from closed trades. This Pnl will appear in Koinly as "Realized P&L" transactions.

In many cases, Koinly will aggregate all Pnl transactions for the same day into a single Pnl transaction. This avoids bloating your transaction count.

How do I add a futures transaction?

Koinly handles the import process so all you have to do is setup the API for your exchange or use CSV files, no additional configuration is needed from your side to import these.

However, if you want to create such a transaction yourself:

  • To add a profit, create a Deposit transaction and set the tag to "Realized P&L".

  • To add a loss, create a Withdrawal transaction and set the tag to "Realized P&L".

  • If you are trying to add these transactions using a CSV file then simply use the "realized gain" tag on all deposit/withdrawal rows that are related to pnl.

How does aggregation work?

For ex. if you have 2 Pnl transactions on the same day:

  • Profit of 200 USDT

  • Profit of 300 USDT

Then Koinly will import this as a single 500 USDT profit transaction instead of 2 separate transactions (aggregation is only implemented for certain exchanges)

Where can I see my futures gains?

Futures gains will appear separately on your Tax Reports page and also on your downloaded tax reports. However, if you prefer to include your futures gains in your capital gains reports then you can do so by enabling "Treat other gains as capital gains" on the Settings page. Koinly will show whether or not your futures gains are included in your capital gains next to the Futures gain figure.

If you are not treating futures as capital gains then you normally have to declare this as Income instead.

Why is there no acquisition date for the futures transactions in my capital gains report?

If you have enabled the "Treat other gains as capital gains" setting in Koinly then you will see your futures gains on your capital gains report. However, Koinly only has information about your Pnl from closed trades and does not know anything about which coins were bought/sold or even when your trade was opened, due to this certain fields will be blank or zeroed out. Nevertheless, your total gains will still be correct.

How are crypto PNL transactions handled?

When your futures/contracts are being settled directly in a cryptocurrency such as BTC, then there are some additional calculations to be made.
When you receive crypto from a PNL transaction, then the value of the realized profit will be equal to the value of the received crypto. You will also have an acquisition of crypto, which may generate a profit or loss when it is later sold.

When you lose crypto from a PNL transaction, then the net value of the loss is not going to be the same as the value of the crypto. Instead, the value of the loss will be the same as the amount that you paid for the crypto (the cost-basis). This is because the crypto that is being lost will also have some unrealized gains, which gets realized when the crypto is lost.
Let's look at one example of this:

- John buys one BTC for $10,000

- The value of BTC goes up to $20,000

- John loses the BTC when trading futures

Even though John has lost $20,000 worth of crypto, his net losses will only be $10,000, since this is the total amount that he has invested. The BTC generated a profit of $10,000 while also generating a loss $20,000
โ€‹

Did this answer your question?