Skip to main content

Crypto Tax Calculator

User-focused Calculate Your Crypto Taxes Using Your Pionex Transaction History

If you need to report taxes on your cryptocurrency transactions, you can use the following third-party platforms to import and classify your transaction data.

CoinTracking

CoinTracking is a third-party transaction record aggregation platform that allows you to import your Pionex transaction history CSV file and calculate your tax information for filing purposes.

Requirements

Before you begin, please ensure you have the following:

  1. A CoinTracking account: If you do not have one, you can create an account using the following link: https://cointracking.info/?ref=PIONEX

  2. A "for-cointracking.csv" file. You can easily obtain this file from the Pionex Web or App by following the instructions in the articles below:

After you have completed the requirements above, you can follow the steps below to import your data and calculate your taxes using CoinTracking.

How to Import Transactions and Generate Tax Reports

Step 1: Click [Imports] - [Other] - [CSV Import], then select [CoinTracking CSV Import] and click the [Choose File] button.

Note: Please do not use Exchange → Pionex. Instead, make sure to follow the above steps.

Step 2: Select the "for-cointracking.csv" file from your device and click [Continue to Import] to proceed.

Step 3: After verifying your transaction summary, click the [Start Import] button. Wait until all transactions are imported and you receive a completion notification. After that, click the [TAX Reports] button to proceed.

Step 4: Select the tax year and click the [Generate Report] button to obtain your tax report.

FAQ

Q: Which file should I import into CoinTracking?
A: Import only the file named for-cointracking.csv, as a single file, using CoinTracking's Imports → Other → CSV Import option. Do not import the other exported files (such as the raw trading or deposit/withdrawal files) together with it — they contain overlapping records, and importing them alongside for-cointracking.csv will create duplicated transactions and inaccurate results. The other files are provided for your own reference only. Also, please do not use CoinTracking's "Exchange → Pionex" option — it uses a different importer that cannot read the Pionex CSV correctly.

Q: The transactions in for-cointracking.csv don't match my real trades one-to-one. Is data missing?
A: No — this is by design. Formatted files like for-cointracking.csv compress multiple transactions executed on the same day into fewer combined transactions to reduce the file size and the import cost on tax software (many tools limit how many transactions you can import). The totals and tax results remain accurate, but you will not find each individual trade as a separate row. If you want to review every raw trade in detail, refer to the unformatted files in the same export — they contain the complete, unprocessed transaction records. Trading bots are summarized further: each bot appears as a starting purchase and a closing sell, rather than as its individual grid trades.

Q: Does the CSV file provide P&L for each trading bot I have traded?
A: There is no separate per-bot P&L summary or report. In for-cointracking.csv, a trading bot appears as two transactions: a position purchase when the bot starts, and a position sell when it closes — and the bot's profit or loss is included in the close amount. For example, if you start a bot with 100 USDT and it closes with a 20 USDT profit, the closing transaction shows a sell of 120 USDT. Your tax software derives the gain from that buy/sell pair. If you need the per-trade detail of everything the bot executed while running, refer to the raw (unformatted) CSV files in the same export.

Q: My bot was opened in one year but closed in a later year. Which year's export will show it?
A: Futures/bot closing results are recorded based on the closing date of the position. If a bot was opened in 2024 but closed in 2025, its final profit or loss appears in the 2025 export, not 2024. Trading activity the bot generated during 2024 is included in the 2024 export in compressed daily form (see the compression question above).

Q: After importing the CSV into CoinTracking, my balances look wrong (negative balances, or a stablecoin balance far higher than reality). Why?
A: This is almost always one of three causes, in order of likelihood:

  1. Missing cost basis on crypto deposits.

    • CoinTracking sees crypto arriving with no purchase behind it, which unbalances the ledger.

  2. You imported via API instead of the CSV.

    • An API connection typically pulls only a limited/recent window of history, so older trades are missing and balances go negative. Delete the API-imported data and re-import using the full for-cointracking.csv file instead.

  3. You imported multiple files together, creating duplicates.

    • Re-import using only for-cointracking.csv as a single file.

    • A negative coin balance combined with an inflated stablecoin balance is the typical signature of missing or unpaired buy transactions — fix the cause above and re-check before assuming exported data is missing.

Q: After importing, there's a missing transaction or the report doesn't seem correct. Why?
A: This is commonly experienced by users who made crypto deposits into Pionex. A crypto deposit record only contains the timestamp, currency, and amount — it has no cost basis, because the fiat-to-crypto conversion happened on an external platform (another exchange, a P2P trade, or a fiat on-ramp service). Tax software needs that original fiat→crypto conversion to calculate gains correctly. To resolve it: trace each crypto deposit back to where you originally acquired the crypto, and add that fiat→crypto purchase as a manual transaction in CoinTracking (or your tax software). Once the cost basis is supplied, the report reconciles.

Q: I bought crypto via Alchemy Pay, Express Buy, or another third-party service — why is there no purchase record in the CSV?
A: Purchases made through third-party service providers are recorded in the CSV as crypto deposits, not as purchases. The flow is: you paid the third-party provider in fiat, and the provider released crypto to your Pionex account — Pionex only records that release. The fiat side of the transaction (your EUR/USD payment) happens on the provider's side and is not in Pionex's records. To get the cost basis into your tax report, add the fiat→crypto purchase as a manual transaction using the amount you actually paid the provider (from the provider's receipt or your card statement).

Q: My exported CSV contains the wrong timestamp. Is that correct?
A: Yes, this is expected behavior. Exported CSVs use the UTC timezone by default, which is the standard format for tax reporting software. If you need local time for your own review, you can convert the UTC timestamps using a spreadsheet formula — but do not modify timestamps in the file you import, as tax software expects UTC.

Q: CoinTracking stops importing partway through / says I've hit a transaction limit. Why?
A: CoinTracking's free tier caps the number of transactions you can import (around 200). If your history exceeds the free tier's limit, you'll need one of CoinTracking's paid plans regardless of how you import. Check CoinTracking's own pricing page for current plan limits — Pionex doesn't control these.

Q: I still believe specific transactions are missing from my export. What should I do?
A: First rule out the causes above (daily compression, closing-date logic, missing deposit cost basis, API/duplicate imports). If you can still identify a specific trade or bot result that is absent from both for-cointracking.csv and the raw files, contact support at service@pionex.com with your UID, the bot ID(s) or transaction details, and the date range — we can verify against internal records.

Note: Pionex provides your transaction data for tax purposes, but does not provide tax advice. For questions about how to report in your jurisdiction, please consult a tax professional.

Did this answer your question?