Whether you are using Bybit to trade spot, derivatives, or both, you most likely need to report your gains and losses on your tax return each year. In this complete Bybit tax guide, we will explain everything you need to know about calculating and reporting your Bybit taxes and how to use Coinpanda to get your taxes sorted easily!
These are the topics we will address in this article:
January 17th, 2024
A brand new integration with Bybit has been released today. There are many important changes to be aware of, so we highly recommend reading this article to understand better how to import your entire transaction history accurately.
How to import transactions from Bybit
The first step to doing your Bybit taxes is to import the complete transaction history to Coinpanda. Since there are a few limitations to both the Bybit API and CSV export functionality, we offer three ways of importing your transactions.
- Method 1: API only
- Method 2: CSV files only
- Method 3: Both API and CSV files
The biggest limitation of the Bybit API is spot history can only be imported from the last six months (183 days). This means that if you have spot trade transactions from more than six months ago, you need to choose either the second or third method above for importing your transactions to Coinpanda.
Next, we will explain briefly the pros and cons of each import method and how to choose what is best for you.
The biggest advantage of using API only is that you can import all transactions with a click of a button instead of regularly exporting CSV files from Bybit. Another advantage is that some transactions cannot be exported from the Bybit website but only imported from API, such as derivative trading bonuses and other derivatives-related transactions. Some transactions from 2019-2022 may also only be available from the API.
However, because spot trade history can only be imported from the last six months, using API as the only import method will not be an accurate solution if you have traded spot on Bybit in the past. Even if all your spot trades are from the last six months, these transactions will not be available from the API in the future if you need to reimport transactions in your Bybit wallet.
For this reason, we recommend using API as the only import method only for users that have never traded spot on Bybit.
CSV files only
Bybit has made several changes to their CSV export lately and now offers an easier way of exporting your complete transaction history than before. While you had to create a support ticket in the past, you can now export all the required CSV files directly from your Bybit account.
Let’s go through how to export all the required files:
- Log in to your Bybit account and go to the ‘Export Statement’ page
- Select ‘Account Change Details’
- Select ‘Derivatives/Inverse Derivatives’
- Make sure all checkboxes are selected to ensure all files will get exported
- Select a custom date range up to one year, such as 2023-01-01 -> 2023-12-31
- Click ‘Export’
- If required, repeat the previous steps to export files containing transactions from all years
- Download the files when ready. Note that the requests may take 2-5 days to complete.
Now that we have exported all the required files, we can proceed to upload the required files. Please note that Bybit may include some files that you should NOT upload. For most users, we recommend uploading the following files only:
The first file, Spot Asset Change Details, contains all your spot account transactions, including deposits, withdrawals, and trades.
Alternatively, you can export the Spot Trade History file directly, as explained here. When uploading this file, Coinpanda will automatically aggregate all trades into a single order transaction, resulting in much fewer imported transactions. However, if you choose to import this file, you must manually remove all spot trades from the Spot Asset Change Details file to avoid duplicates since you still need to upload this file to import your deposit and withdrawal transactions.
The second file, Derivatives Closed P&L, contains all your derivative and futures transactions. Uploading these two files will, in most cases, be nearly 100% accurate for most users.
Please be aware that only Send/Receive (Realized P&L) transactions are imported from the Derivatives Closed P&L file since Bybit includes trading fees and funding payments in the closed pnl amount. This is generally not an issue, but it’s still important to be aware of since the taxation of trading fees and funding payments may differ from margin gains and losses in some countries.
However, both trading fees and funding payments will be imported from API as separate transactions, and that’s one of the reasons why our recommended method for most users is to import transactions using both API and CSV files, as we will explain next.
Both API and CSV files
Using both API and CSV files is generally recommended for most users. By doing this, you can import all transactions, excluding spot history, from API, while only the spot history will be imported from CSV files. Here are some of the advantages of using this method:
- Using both API and CSV files will result in a 100% accurate transaction reconciliation for most users
- If you are trading derivatives regularly, you can keep your transaction history up-to-date with the click of a button
- Trading fees and funding payments are imported separately from the realized pnl when imported from API
- Exporting your spot trade history as a CSV file from Bybit is quick and easy
- Spot transactions imported from the Spot Trade History file are aggregated as single orders rather than individual trades, resulting in fewer imported transactions
- All derivative transactions are aggregated as single daily transactions for the same contract, also resulting in much fewer imported transactions
- Easily view both the reported and calculated balance, which helps ensure all transactions are imported accurately
Remember that Coinpanda will not import derivatives-related transactions from the current date since all such transactions (realized pnl, trading fees, funding payments) are aggregated into daily transactions to reduce the number of imported transactions. This means that you might see a balance mismatch if you have either open derivatives positions or if you have executed any trades on the same date you are importing from API.
To import transactions using this method, it’s important first to disable importing your spot trade history from API to avoid duplicate transactions. You can do this by clicking “Advanced Settings” in the API modal and toggle off the setting at the bottom for “Import spot trade history“. Remember to click “Update API Connection” to save the setting.
Next, you will need to export the spot trade history from Bybit:
- Go to the spot trade history page
- Click on ‘Export’ in the top-right corner
- Select a custom date range up to six months, such as 2023-07-01 -> 2023-12-31
- Click ‘Export Now’
- If required, repeat the previous steps to export files containing transactions from all years
- Download the files when ready
Now that we have exported the required CSV files, the last step is to upload all the files to your Coinpanda account.
If you still see a mismatch between the calculated and reported balance unrelated to derivatives trades on the current date, we recommend reviewing the imported transactions and identifying any missing or wrongly imported transactions. When you have identified one or more missing transactions, you can contact our customer support, who will troubleshoot this on our end or escalate the issue internally if the issue can be fixed.
How to connect Bybit with API
Are you new to using Coinpanda or creating API keys from exchange accounts? In this section, we will briefly explain step by step how to connect your Bybit account with API.
First, go to the Add Wallet page and search for Bybit.
Once the modal is open, enter your API keys and click Add API Connection.
You can find instructions for creating API keys in our Bybit integrations article.
After adding your API keys, click the Sync Wallet button to start the import process. This can take anywhere from 2-10 minutes, depending on the number of transactions Coinpanda needs to import. Once completed, you will see a status message displaying the total number of transactions imported.
You can also view the holdings from your Bybit account, including spot, funding, and derivatives. Unified accounts are also supported, of course!
Unified Trading Account (UTA)
Bybit introduced a new account type called “Unified Trading Account” (UTA) in 2023. This account type introduces some changes to how historical transactions are exported from Bybit, but is fully supported by Coinpanda to the extent the Bybit API provides accurate data.
Derivative transactions, before and after upgrading to a UTA account, will be imported from API, so the same methods for importing transactions, as explained earlier, also apply to UTA accounts.
To learn more about the Bybit UTA account, please refer to their help article here.
Not all CSV files that can be exported from Bybit today are supported by Coinpanda. This is simply because not all files can be used to reconcile your transaction history accurately for tax purposes.
Another reason might be that you have exported a CSV file in the past, but Bybit has now changed the header format. To avoid this, we recommend exporting all files again to ensure you have the latest version.
Some of the files that are NOT supported today are:
Because there is no good reason to upload these files, we do not plan on supporting them in the future either. Please refer to the earlier sections in this article for more information about the CSV files we recommend uploading instead.
Unknown transaction types (CSV)
When uploading the
Bybit_AssetChangeDetails_spot file, you may see some transactions that failed to upload with the message “Unknown transaction types,” as seen in the image below.
In this case, you can send us a message in the live chat so that our customer support team can notify our developers to update this. All updates for new transaction types are typically completed in 2-5 days.
Missing transactions (API)
As already mentioned, the Bybit API only provides spot trade history from the last six months, and we have also discussed different solutions to this earlier in this article. We highly recommend following the suggestion for importing transactions with API and CSV files if you have previously traded spot on Bybit.
However, if not all derivatives-related transactions are imported from API, it could be due to an issue on our side that we can investigate. In this case, please get in touch with us in the live chat and provide all the details necessary for our support team to troubleshoot further:
- A list of the missing transactions you have identified
- An exported CSV file containing all your derivative transactions (including the missing transactions)
Ensure accurate Bybit tax reports
In this section, we will briefly explain the most important steps you must take to ensure your Bybit tax reports are as accurate as possible:
Connect all exchanges and wallet addresses
The single most important step is to make sure you have connected all your exchange accounts and wallet addresses to Coinpanda. This is a critical step for several reasons, but the main reason is that Coinpanda needs your transactions from all exchanges and wallets to identify internal transfers and track the cost basis correctly. Without all transactions imported, Coinpanda cannot correctly identify transactions sent between your own accounts and which transactions are taxable disposals.
Verify the account balance
After connecting your Bybit account to Coinpanda, we recommend verifying that the calculated balance matches the reported balance. This can be done directly from the Wallet page, where you will see a yellow icon if the calculated balance differs from the reported balance. If you don’t see any warning icon, the wallet balance matches, and all transactions have most likely been imported correctly.
By default, all Send transactions not identified as internal transfers will be treated as disposals and realize the gains or losses. After connecting all your exchange accounts and wallets, you should ensure that all transactions between your wallets are identified as such. There are several ways to do this, but one way is to filter for Receive or Send to see only the transactions not identified as internal transfers. Next, you can either mark the transaction as an internal transfer, or you need to connect another wallet or exchange account if you forgot this earlier.
Correctly identify tokens
The last crucial step is to verify that all transactions have been imported with the correct currency. Bybit supports many tokens and cryptocurrencies with the same ticker symbol as other cryptos, which may result in the wrong currency identified during import.
Luckily, this is a very quick fix for our customer support team so that you don’t need to edit the transactions manually. Please contact us in the live chat to get help regarding this.
Try Coinpanda for free
Coinpanda is one of very few crypto tax software solutions that can do tax calculations for Bybit accurately today. All you need to do is connect your Bybit account with API to your Coinpanda account and wait for all transactions to be imported automatically before exporting your tax reports and tax forms.
You can sign up for a 100% free account or read more about how the software can help you report your crypto taxes. Coinpanda supports over 65 countries today, including the US, Canada, Australia, the UK, and almost all other European countries.