Skip to main content

Futures and perpetuals PNL (other gains)

Written by Jack

Derivative contracts like Futures, Perpetual Futures, Options, etc. are, in essence, speculations on the price change without having to actually buy the underlying asset. With derivative contracts, you can speculate on the direction of the price movements and profit if you're right.

Your profit/loss is calculated as the difference in the asset's price (amplified by leverage) and the direction of your trade. If you anticipated the price to go up you longed the asset. If you anticipated the price to go down - you shorted it.

Futures trades on exchanges such as Binance Futures, Kraken Futures, Bitmex, Bybit, Deribit or Hyperliquid are imported to Koinly differently than normal token exchanges (spot trades).

Koinly will not import executions of such contracts - opening and closing of the trade. Instead, you will only see your closing PnL - gain/loss on the day the position was closed (and any fees associated with opening, closing or holding the position).

For example, if you had a trade like this - a long position with 0.282 BTC size:

You will not see any buy/sale of 0.282 BTC in Koinly related to it. Koinly will only import the +21.73 USDC gain (deposit with "Realized P&L" tag) you had when closing this position, along with the fees:

What are other gains

Derivative contracts where only PNL is imported to Koinly will be called other gains (external gains). These will be all the transactions with a futures-related tag:

  • Realized P&L

  • Futures Fee

  • Funding Fee

The worth (market value) of all those transactions will be added (for deposits, treated as gains) or subtracted (for withdrawals, treated as losses) from your "Other gains" total.

Where can I see my futures gains?

You can see the summed total of your futures (and other derivative contracts) on the Tax Reports page, under Other gains:

You can also view those transactions on the "Transactions" page (filter by futures-related tags like "Realized P&L") and you can download an itemized list of all those transactions by generating an "Other gains report".

If you want to treat other gains the same way as capital gains, you can do so by enabling "Treat other gains as capital gains" in your Settings. For details, see:

Futures settled in crypto

When your derivative contracts are settled in a cryptocurrency such as BTC instead of fiat like USD, then these transactions are more complex in nature.

PnL gains in crypto

If you close your position denominated in crypto with a profit:

  • Worth (market value) of the asset received is added to "Other gains"

  • The same worth is used to establish the cost basis (acquisition cost) of the received asset

From the calculations perspective, the transaction above means:

"I won $450 on futures and immediately used it to buy 0.25 ETH"

PnL losses in crypto

If you close your position denominated in crypto with a loss:

  • Worth (market value) of the asset withdrawn is deducted from "Other gains"

  • The asset withdrawn is treated as disposed, calculating a capital gain/loss depending on its acquisition cost and current market value

From the calculations perspective, the transaction above means:

"I lost $303 on futures and had to sell 0.10 ETH to cover this loss"

Note that, apart from the $303 external loss, there's actually also $123 gain on this transaction - it comes from the disposal of ETH, as it appreciated in value since purchasing it. You could call it the "spot part" of a futures loss and, depending on the acquisition price of the asset disposed, it may significantly change the overall gain/loss from this position.
​

πŸ”΅ Example of PnL losses: John loses 1 BTC trading futures

  • John bought 1 BTC for $30,000.00 in 2023

  • In 2024, John decides to trade BTC-denominated futures, using his 1 BTC as collateral

  • His trade goes bad and his position gets liquidated on a day BTC's price was $60,000.00

Even though John lost $60,000 worth of crypto, his net losses will only be $30,000. External loss is lowered by the capital gain from the disposal of BTC (as bitcoin appreciated in value since 2023 when John bought it).

This is usually clearer when you look at the "Cost Analysis" tab:

Futures aggregation

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

For example, if you have two PnL transactions on the same day:

  • Profit of $200

  • Profit of $300

Then Koinly will import this as a single $500 profit transaction instead:

Gains and losses will be aggregated separately.

Note that futures aggregation is not implemented for all exchanges/integrations.
​

How to add a futures transaction

For all supported integrations, Koinly will import your futures transactions and automatically tag them accordingly, so there's no need to add them manuallu.

However, for unsupported exchanges (or due to a known limitation) you can:

  • Add a profit by creating a Deposit transaction and set the tag to "Realized P&L"

  • Add a loss by creating Withdrawal transaction and set the tag to "Realized P&L"

  • If using a CSV file: add the realized gain tag to all deposit/withdrawal rows that show your gain/loss after closing the position. See How to create a custom CSV file with your data

Did this answer your question?