Skip to main content

Importing Your Crypto Data to TokenTax

Everything you need to know about importing any and all crypto transactions into TokenTax.

Written by Elle Baumgartel-Austin

Important Note Before Reading: Some parts of this article may be out of date. We are constantly improving and updating our software in order to provide the best possible experience for your clients. If you encounter a situation that may be out of date please reach out to our support via online chat or email for the most up to date information.

When calculating your crypto taxes with TokenTax, the most important part of the process is importing every cryptocurrency transaction you’ve made.

Even if you’re only calculating a single year of taxes, you need to upload your entire trading history, for all years, in order to have accurate crypto tax calculations.

In this guide, we outline exactly how to import your full transaction history into TokenTax, to ensure accurate crypto tax calculations, including:

  • Your cryptocurrency exchange trade history

  • Wallets (only needed for DeFi or mining / staking wallets, not storage wallets)

  • Unsupported DeFi data

  • ICO purchases or OTC trades

  • Crypto you spent on goods / services

  • Staking or mining

This guide also explains various aspects of handling data in TokenTax, such as:

For returning clients, if you wish to import new historical data please make sure your previous years are unlocked (in your settings) before importing any new historical data. If locked, no data will import or sync for a locked year or the years prior. You may go to your Settings>Tax Details to check or update this. It is important to understand that unlocking a previous year may change the numbers that you may have already used to file with for that year's, or prior years', dashboard and tax report. This action may not be reversible and you should proceed with caution.

Importing Your Transaction History From Exchanges

TokenTax’s software has the ability to support every exchange. For the most popular exchanges you can sync your data automatically with our API integrations.

For all exchanges, you can upload a transaction history spreadsheet, CSV, collected directly from the exchange to import into TokenTax’s software.

Specific instructions to collect your API key or CSV file from your exchange are available in the TokenTax app > Import page.

How To Import a Wallet

You can import transactions to/from a wallet address into TokenTax. For tax purposes, a wallet connection is only necessary for taxable transactions like spending and mining income.

If you only used a wallet for storage (“cold wallet”), you don’t need to add it to TokenTax.

To import a wallet, go to the Import page and click “Add New” in the upper righthand corner. Use the search bar to look up the chain you need to import data for (Ethereum, Polygon, etc.), click on it, and enter your wallet information to import transactions.

Resyncing, Editing, and Deleting an API or Wallet Integration

You can resync, edit, or delete an API or wallet on your All Imports page. Each API/wallet will have three icons in the right hand side of the row.

To resync an API or wallet, click the first icon that appears in the right hand side of the row for that particular integration:

This will resync your API or wallet to pull any new transactions that occurred since your last sync/resync. Wallets and APIs need to be resynced from time to time - they will not automatically pull your new transaction data after just the initial sync. *Please note that anytime you resync a wallet or API, deleted transactions will reappear, but edited or modified transactions will persist.

To edit an API or wallet, click the second icon that appears in the right hand side of the row for that particular integration:

This will pull up the Integration page where you can perform various edits to the API or wallet - your options will vary depending on the integration. You can resync from this page as well. This page will also have instructions for properly importing data for that particular wallet or exchange, in case you have run into issues with the process. You can also make use of the Show Advanced button to edit the transaction pulling start date or name the API or wallet. This is useful if you have multiple accounts or wallets with the same platform and need to be able to differentiate them.

To delete an API or wallet, click the third icon that appears in the right hand side of the row for that particular integration. Proceed with caution as this function is not undoable. Additionally, any data contained within a locked year will not be removed and must first be unlocked to fully delete. This icon will actually appear in rows for CSVs and manual imports as well - it is available to use to delete any import:

***IMPORTANT NOTE: Deleting synced data will completely remove any transactions from that particular import. This includes any manual edits and reconciliation work you may have made to the transactions while in the software. This should, especially, be kept in mind if you need to are considering deleting and re-adding a DeFi wallet with transactions that required several manual edits or had previously received Advanced Reconciliation work.

What It Means If Your CSV Is “In Review”

If your file upload has a status of “in review” - it will appear with a yellow dot in your import data screen, that means that our system cannot automatically parse the file, yet, for importation; and it will need manual attention from our CSV Team.

In the event that your file is marked as “in review,” our CSV team will format it and automatically add it to your account. This process generally takes up to 72 hours to complete. Please bear in mind that wait times may be longer closer to the deadlines. Under normal circumstances, if it has been more than 72 hours since you imported the file and it is still in review, please reach out to support. If the file is rejected (typically due to insufficient data or incorrect file type) you will typically be notified via email and the import will be removed from your main All Imports page.

How To Import a CSV File

We Handle Your CSVs For You

Our CSV team will format any CSV file, direct from an exchange, manually and upload it to your account. This means that, if your exchange’s CSV file is not automatically supported, you don’t need to worry about filling the data into a separate spreadsheet template.

Please note this CSV formatting service applies to CSVs collected directly from centralized exchanges. If you interacted with any DeFi platforms and are unable to use our API integrations, you will need to import those transactions by filling in our manual CSV spreadsheet template and upload that into TokenTax. If it's just a few transactions, you may enter them into the Manual Entry section. CSVs collected from the blockchains do not provide sufficient data and cannot be used.

If you uploaded the wrong CSV and thus it went into review, feel free to contact our support team so that we can remove the CSV from the review queue.

Be Sure To Check Our CSV Instructions

If you uploaded a CSV from a common exchange like Coinbase or Kraken and it went into review, chances are that you may have uploaded the wrong type of CSV. The correct one will be automatically accepted/synced. Be sure to check your exchange’s CSV upload instructions.

How to Import DeFi Data Without An API Integration

In certain situations, we may not yet have an API integration to connect a specific fringe blockchain. In this case the platform is considered “unsupported”. Additionally, as you read earlier, CSV outputs from the blockchains do not provide sufficient data for us to be able to use. Given that a platform is “unsupported” and does not provide a usable CSV export, you may wonder - how do you import that essential taxable data into TokenTax? Fear not! TokenTax provides a simple solution here. The best way to get this data imported is by inputting your trades and other taxable events into our manual CSV spreadsheet template. If done correctly, the manual CSV should import automatically.

How To Import ICO And OTC Trades

If you purchased coins via an ICO, presale, OTC service, or any other off-exchange transaction, then these are taxable events that you will need to manually import into our platform. Even transactions where coins were purchased with USD should be added, as this is necessary data for properly calculating gains/losses, and will avoid potential missing cost basis issues. We’ve made it easier to import trades with our Manual Entry section, or you can also fill out and upload these types of transactions via our Manual CSV spreadsheet template (this is advisable if you have more than a few transactions to import).

  • For these transactions, you will use the “Trade” type.

  • For the “Buy Amount” and “Buy Currency” fields, enter the crypto that you purchased.

  • For the “Sell Amount” and “Sell Currency” fields, enter what you paid for the asset (such as ETH, BTC, or USD).

  • If you paid in crypto, it is important that you enter in the correct amount of crypto paid so as to reconcile your crypto balances history correctly. The ”Fee” fields can be left blank (unless you paid a fee), and for the “Exchange” column, you can input whatever helps you identify the transaction (many users opt for “ICO” or OTC”).

Here's an example of what the transaction should look like for fictional token EXMPL bought with ETH:

How To Account For ICOs Where You Received The Tokens Later

Your holding period begins once you have possession of an asset. If you participated in an ICO and received the tokens later, you can accurately represent this series of events through creating two manual transactions.

First, put in a “Spend” type transaction of the crypto paid, with just the crypto amount and currency in the “Sell” fields, on the date that you sent the crypto in for the ICO.

Next, add in a “Trade” type transaction with the amount of tokens you later received in the “Buy” fields and the USD equivalent amount in the “Sell” fields, with the date received in the “Date” field.

This will establish when you received the tokens as well as the cost basis for those tokens. You can look at the USD amounts in the “Buy Amount” column of the initial “Spend” transaction in your All Transactions page to find what the USD equivalent paid for the asset was.

Here's an fictional example of said transaction, again using a fictional token “EXMPL” bought with ETH:

In short, you’re telling our system that you A) disposed of the coin used to pay for the ICO at an earlier date, and B) received, at a later date, the tokens while carrying forward the cost basis of that coin spent.

How to Import Mining or Staking

Crypto mining and DeFi staking are considered taxable income in the eyes of the IRS and other tax institutions. Therefore, these types of transactions must be reported and included in your crypto reconciliation. The quickest way to get staking transactions into TokenTax is through an API wallet import. In some cases, your staking/mining transactions may not be supported via API. In situations like these, if you are unable to obtain a CSV with adequate data, you’ll need to use a manual CSV template (this is also covered in a previous section - “How to Import DeFi Data Without An API Integration”.)

Deleting Individual Transactions

An important component of importing data is also removing data. Sometimes you may need to delete individual transactions from your account. It's easy to do so from your All Transactions page. Please proceed with caution when choosing to remove any data.

  1. First, you will need to confirm if the transaction you’re trying to delete is in a locked year. You can check this in your settings and lock or unlock as needed. Please proceed with caution as unlocking a year can cause changes to your dashboard calculations that are not undoable. This is especially important if you’ve already filed your taxes for that year. If a year is locked you cannot add, edit, or remove transactions from that year or any prior years.

  2. Next, from your main TokenTax dashboard, click the Transactions tab at the top to navigate to the All Transactions page.

  3. Once there find the transaction you wish to remove - If need be, use the search bar to filter transactions, such as by a certain exchange.

  4. Once found, you will need to click the checkboxes next to the transaction(s) you'd like to delete. To select/check off all the transactions you can click the upper left box in the window bar.

  5. Click Delete at the upper middle window bar of the table.

How To Identify and Fix Duplicate Data Issues

If you believe you’ve imported all your crypto data, but your numbers look off, or you have some missing cost basis related to your exchange data, you may have duplicate transactions. Duplicates can happen in a number of ways but typically it can happen if you’ve uploaded the same data via CSV multiple times, or if you’ve uploaded both an API and a CSV connection for an exchange. Duplicate data can lead to inflated gains as well as missing cost basis but are not always so easily seen so you’ll want to be proactive when importing new data.

To identify duplicates, go to your All Transactions page, and review your transaction data. You can use the filters to filter by exchanges (for example) and sort them to try and identify duplicate data. If you see doubled up transactions, you may have duplicates. Please note that it is quite possible to have 2 transactions that look exactly alike but not be a duplicate. Additionally, you can review your Imports page to identify any duplicate data sources.

Once you have identified and confirmed the duplicate data you should use the “Credentials” column that shows the import source; then go to your Imports page and find that specific import and remove it. Please triple check your work as you do not want to remove pertinent (or irreplaceable) data. After it’s removed you will need to hit “Recalculate Data” on your main dashboard in order for the changes to take effect.

Did this answer your question?