Skip to content

Import CSV

Go to Import Data menu in the sidebar.

Import exchange data (CSV)

For exchanges that don't support integration through API keys (or haven't integrated to rotki), you can still import your trades or transactions.

Import CSV Data

Steps to Import CSV Files:

  1. Export CSV from your exchange
  2. In rotki:
    • Navigate to Import Data
    • Select your CSV file

Date Format Settings:

If time format doesn't match rotki's default:

  1. Enable Use custom date format to parse your file
  2. Specify your CSV's time format

Import Process:

  • Select data source
  • Click "Import Data" in left sidebar
  • Follow provided instructions

Cointracking.info

rotki can import any trade CSV data exported from cointracking.info. But in general, it's not recommended to utilize cointracking as their exported data are missing a lot of information.

Binance.com

rotki can import a CSV data file exported from binance.com. But due to Binance's CSV format, some data may not be importable. You will see warnings if this happens.

By importing a CSV file, you can import more than with the API. Particularly: Trades, Deposits and Withdrawals, Small assets exchange BNB, ETH 2.0 Staking and ETH 2.0 Staking Rewards, Launchpool Interests, POS savings interest, POS savings purchase, POS savings redemption.

BitMEX.com

rotki can import a CSV data file exported from BitMex. You may see warnings if data can't be imported. If this happens, please reach out to us on Discord or open an issue on GitHub.

Bitstamp.net

rotki can import a CSV data file exported from Bitstamp. You may see warnings if data can't be imported. If this happens, please reach out to us on Discord or open an issue on GitHub.

Bittrex

Bittrex is a now bankrupt exchange and as such you probably can use this only if you had exported the files while it was running.

rotki can import trades, deposit/withdrawals from the different bittrex CSVs.

Bisq

You can import data from Bisq into rotki. All trades from Bisq can be picked up by the given CSV.

Block.fi

BlockFi is a now bankrupt exchange and as such you probably can use this only if you had exported the files while it was running.

rotki can import two different CSV files from BlockFi. One for the trades and one for all other transactions.

Blockpit

rotki can import trades and other activity data from Blockpit's CSV files.

Bitcoin.tax

You can import trades, income and spending CSV files from Bitcoin.tax.

Crypto.com mobile

You can import data from crypto.com mobile app into rotki. Note that this concerns only the Crypto.com mobile application. If you want to connect your Crypto.com Exchange account, please wait until we support it and then connect to it as an exchange.

Kucoin

rotki can import the trades CSV file from Kucoin.

Nexo

rotki can import the transactions CSV file from Nexo.

ShapeShift.com

You can import trade CSV data file exported from ShapeShift. Transactions will come from adding your Blockchain Accounts used with ShapeShift to rotki.

Import data in the same section as the image above in the prior heading. When exporting trades from ShapeShift, the selected wallet may show DEX trades in the user interface. If it is not the Native wallet, DEX trades may not show up in the user interface, but they still export to CSV. This importer ignores DEX trades, as they are covered by premium support for Uniswap and SushiSwap.

Uphold.com

You can import transaction history CSV data exported from the Uphold activity page. Transactions will be created when the row's origin currency and destination currency are the same. Trades will be created if the currencies differ and a rate will be determined automatically.

rotki Generic Import

You can import data (trades & events) from exchanges not supported by rotki by clicking "Import Data" on the left sidebar, selecting Custom Import and following the prompt. This involves the user converting the source (a not directly supported exchange, protocol, etc.) data to match the import format of rotki.

Note: Keep in mind that all assets that you enter are identified by their asset identifier and not the symbol, as symbols are not unique. The identifier differs per asset and at the moment for ERC20 tokens follows the CAIP-19 format, and for others, it's just the asset symbol or a random string for manually input tokens.

For the CAIP-19 format, it's essentially calculated by knowing the chain ID and the address of your token. So for mainnet (chain ID 1) and USDT (0xdAC17F958D2ee523a2206206994597C13D831ec7), it's eip155:1/erc20:0xdAC17F958D2ee523a2206206994597C13D831ec7.

You can easily find the identifier of each asset by going to Manage Assets > Assets section and copying the identifier of the asset in question.

The import is split into two types:

rotki Generic Trades Import

This is solely for importing generic trades. The expected file format is CSV with the following headers and descriptions as a guide:

  1. Location: This is the source of the data. It should be one of rotki's supported locations. If it is not supported, use "external".
  2. Base Currency: The currency bought in a "Buy" and sold in a "Sell". e.g., BTC/ETH where BTC is the base currency.
  3. Quote Currency: The currency sold in a "Buy" and bought in a "Sell", e.g., BTC/ETH where ETH is the quote currency.
  4. Type: The type of trade made. It can either be a "Buy" or a "Sell".
  5. Buy Amount: The amount of the currency bought.
  6. Sell Amount: The amount of the currency sold.
  7. Fee: The amount charged for the trade. This is optional.
  8. Fee Currency: The currency in which the fee was charged. This is optional.
  9. Description: A description of the trade if any. This is optional.
  10. Timestamp: The UTC Unix timestamp at which the trade took place. This is a milliseconds timestamp.

A sample generic trades template can be found below:

rotki Generic Trades Template

[Download CSV Example]
LocationBase CurrencyQuote CurrencyTypeBuy AmountSell AmountFeeFee CurrencyDescriptionTimestamp
binanceeip155:1/erc20:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48ETHSell1.00001875.64Trade USDC for ETH1659085200000
krakenBTCLTCBuy4.3241392.8870Trade LTC for BTC1659171600000
kucoineip155:1/erc20:0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984eip155:1/erc20:0x6B175474E89094C44Da98b954EedeAC495271d0FSell880.000020.00000.1040USDTrade UNI for DAI1659344400000
lunoBCHADABuy16.34444576.64005.1345USDTrade ADA for BCH1659344900000
bisqeip155:1/erc20:0x6B175474E89094C44Da98b954EedeAC495271d0Feip155:1/erc20:0xdAC17F958D2ee523a2206206994597C13D831ec7Buy04576.64005.1345USDTrade USDT for DAI1659345600000

rotki Generic Events Import

This is for importing generic events. Supported events are "Deposit", "Withdrawal", "Income", "Loss", "Spend" and "Staking". The expected file format is CSV with the following headers and descriptions as a guide:

  1. Type: The event type. It can be one of "Deposit", "Withdrawal", "Income", "Loss", "Spend" or "Staking".
  2. Location: This is the source of the data. It should be one of rotki's supported locations. If it is not supported, use "external".
  3. Currency: The currency used during the specified event.
  4. Amount: The amount of the currency used by the event.
  5. Fee: The amount charged for the event. This is optional.
  6. Fee Currency: The currency in which the fee was charged. This is optional.
  7. Description: A description of the event that was carried out, if any. This is optional.
  8. Timestamp: The UTC Unix timestamp at which the event took place. This is a milliseconds timestamp.

A sample generic events template can be found below:

rotki Generic Events Template

[Download CSV Example]
TypeLocationCurrencyAmountFeeFee CurrencyDescriptionTimestamp
DepositkucoinEUR1000.00Deposit EUR to Kucoin1658912400000
Withdrawalbinanceeip155:1/erc20:0xdAC17F958D2ee523a2206206994597C13D831ec799.001.00eip155:1/erc20:0xdAC17F958D2ee523a2206206994597C13D831ec71658998800000
Withdrawalkrakeneip155:1/erc20:0xB8c77482e45F1F44dE1745F52C74426C631bDD521.011659085200000
StakinglunoETH0.0513ETH Staking reward from QRS1659340800000
LosscoinbaseBTC0.09101659430800000
Incomecexeip155:1/erc20:0x6B175474E89094C44Da98b954EedeAC495271d0F1000.001659513600000
InvalidbisqBCH0.34561659686400000

Supported Locations

A list of supported locations in rotki are "external", "kraken", "poloniex", "bittrex", "binance", "bitmex", "coinbase", "banks", "blockchain", "gemini", "equities", "realestate", "commodities", "cryptocom", "uniswap", "bitstamp", "binanceus", "bitfinex", "bitcoinde", "iconomi", "kucoin", "balancer", "loopring", "ftx", "nexo", "blockfi", "independentreserve", "gitcoin", "sushiswap", "shapeshift", "uphold", "bitpanda", "bisq", "ftxus" and "okx".

Note: In the columns where an asset is expected, you will need to use the identifier that such asset has in rotki; otherwise, the row won't be read.

Note: If at any point, you're confused about the CSV format, feel free to send us a message on Discord.