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.
Steps to Import CSV Files:
- Export CSV from your exchange
- In rotki:
- Navigate to
Import Data
- Select your CSV file
- Navigate to
Date Format Settings:
If time format doesn't match rotki's default:
- Enable
Use custom date format to parse your file
- 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:
- Location: This is the source of the data. It should be one of rotki's supported locations. If it is not supported, use
"external"
. - Base Currency: The currency bought in a
"Buy"
and sold in a"Sell"
. e.g., BTC/ETH where BTC is the base currency. - Quote Currency: The currency sold in a
"Buy"
and bought in a"Sell"
, e.g., BTC/ETH where ETH is the quote currency. - Type: The type of trade made. It can either be a
"Buy"
or a"Sell"
. - Buy Amount: The amount of the currency bought.
- Sell Amount: The amount of the currency sold.
- Fee: The amount charged for the trade. This is optional.
- Fee Currency: The currency in which the fee was charged. This is optional.
- Description: A description of the trade if any. This is optional.
- 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]Location | Base Currency | Quote Currency | Type | Buy Amount | Sell Amount | Fee | Fee Currency | Description | Timestamp |
---|---|---|---|---|---|---|---|---|---|
binance | eip155:1/erc20:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 | ETH | Sell | 1.0000 | 1875.64 | Trade USDC for ETH | 1659085200000 | ||
kraken | BTC | LTC | Buy | 4.3241 | 392.8870 | Trade LTC for BTC | 1659171600000 | ||
kucoin | eip155:1/erc20:0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984 | eip155:1/erc20:0x6B175474E89094C44Da98b954EedeAC495271d0F | Sell | 880.0000 | 20.0000 | 0.1040 | USD | Trade UNI for DAI | 1659344400000 |
luno | BCH | ADA | Buy | 16.3444 | 4576.6400 | 5.1345 | USD | Trade ADA for BCH | 1659344900000 |
bisq | eip155:1/erc20:0x6B175474E89094C44Da98b954EedeAC495271d0F | eip155:1/erc20:0xdAC17F958D2ee523a2206206994597C13D831ec7 | Buy | 0 | 4576.6400 | 5.1345 | USD | Trade USDT for DAI | 1659345600000 |
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:
- Type: The event type. It can be one of
"Deposit"
,"Withdrawal"
,"Income"
,"Loss"
,"Spend"
or"Staking"
. - Location: This is the source of the data. It should be one of rotki's supported locations. If it is not supported, use
"external"
. - Currency: The currency used during the specified event.
- Amount: The amount of the currency used by the event.
- Fee: The amount charged for the event. This is optional.
- Fee Currency: The currency in which the fee was charged. This is optional.
- Description: A description of the event that was carried out, if any. This is optional.
- 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]Type | Location | Currency | Amount | Fee | Fee Currency | Description | Timestamp |
---|---|---|---|---|---|---|---|
Deposit | kucoin | EUR | 1000.00 | Deposit EUR to Kucoin | 1658912400000 | ||
Withdrawal | binance | eip155:1/erc20:0xdAC17F958D2ee523a2206206994597C13D831ec7 | 99.00 | 1.00 | eip155:1/erc20:0xdAC17F958D2ee523a2206206994597C13D831ec7 | 1658998800000 | |
Withdrawal | kraken | eip155:1/erc20:0xB8c77482e45F1F44dE1745F52C74426C631bDD52 | 1.01 | 1659085200000 | |||
Staking | luno | ETH | 0.0513 | ETH Staking reward from QRS | 1659340800000 | ||
Loss | coinbase | BTC | 0.0910 | 1659430800000 | |||
Income | cex | eip155:1/erc20:0x6B175474E89094C44Da98b954EedeAC495271d0F | 1000.00 | 1659513600000 | |||
Invalid | bisq | BCH | 0.3456 | 1659686400000 |
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.