Skip to main content

Importing Data

A guide to help you with uploading your clients data

David Melbourne avatar
Written by David Melbourne
Updated today

Depending on how you are managing your clients account either you will be importing the clients data for them, or you will be getting the client to import the data.
It is much easier to get the client to import the data as they have access to the accounts and wallets.


Step 1: Importing Your Client's Crypto Data

The foundation of accurate crypto tax reporting in CTC begins with a complete and correct data import. This crucial first step prevents many common issues later in the process.

Crypto data typically comes from two main sources:

  • Centralized Exchanges (CEXs): Think platforms like Coinbase, Binance, Kraken, etc.

  • On-Chain Transactions / Wallets (DeFi): This includes direct interactions on blockchains (e.g., Ethereum, Solana) and associated wallets (e.g., MetaMask, Phantom).

To begin importing, simply navigate to the "Accounts" page within CTC and click "Add Account." From there, you can search for the specific exchange or wallet/chain your client uses.

Let's break down the import methods for both CEXs and On-Chain data, including their nuances.

Importing Data from Centralized Exchanges (CEXs)

CTC boasts support for over 3,520 integrations, including 162+ centralized exchanges, with new ones frequently added! This extensive coverage ensures you can connect to most of your client's platforms.

Generally, there are three primary ways to import CEX data into CTC:

  1. Sync via API (Application Programming Interface)

  2. Upload File (CSV/Excel)

  3. Connect Your Exchange Account (Open Authorization or Oauth)

The most important factor in choosing the right method is understanding your client's transaction history on that specific exchange. Both API and file uploads can have data limitations. It's extremely important to review the "Notes" section for each import option within CTC to make an informed decision based on your client's activity. You can even combine API and CSV methods, but be diligent in checking for duplicates, as slight data differences can make auto-detection challenging.


1. Sync via API: The Recommended Approach

API sync is often the preferred method for importing centralized exchange data because it establishes a direct, live link between the exchange and CTC. This usually provides more reliable and comprehensive data compared to manual CSV uploads.

Why we recommend API:

  • Reliability: Often provides more complete data.

  • Ease of Updates: Simply click the "sync" button to fetch new transactions since the last import.

Important Tip: Always read the "Notes" section for any API integration within CTC. There might be specific limitations that could affect the completeness of your client's historical data.


2. Upload File: When API isn't enough

While API is generally preferred, file upload (CSV) can be a necessary alternative, especially if an API has limitations on historical data or specific transaction types.

Considerations for File Uploads:

  • Manual Updates: Requires your client to download and provide a new file each time data needs updating.

  • Read the Notes: Just like with API, carefully review the "Notes" for CSV uploads as they detail specific data limitations for that exchange's files.

Crucial Warning: Do not modify the downloaded CSV file before uploading. Your computer's software can sometimes alter the file format, causing import errors. Upload the file exactly as it was downloaded from the exchange.

Pro-Tip: Some exchanges offer multiple file types for transactions. CTC is designed to extract specific information from specific file types. Always follow CTC's instructions carefully when downloading files from an exchange to ensure you get the right one.


3. Open Authorization (OAuth): Simplest Connection

This method is essentially a simplified and highly secure way to create an API connection. Instead of generating API keys manually, your client simply logs into their exchange account through CTC's secure portal. CTC then handles the API creation and data import automatically.

Why OAuth is often the best:

  • Simplicity: User-friendly secure login process.

  • Automated Setup: CTC manages the API key generation for you.

Important Note: Your client will need to be present or provide their login credentials for this method, as it requires them to directly log into their exchange account to authorize the connection.


Importing On-Chain Data (Wallets or Blockchain)

Importing on-chain data is generally straightforward and only requires your client's public key (receiving address).

Simply copy and paste the public key/receiving address into the relevant chain or wallet section within CTC, and we'll import all associated transactions.


Blockchain vs. Wallet: What's the Difference?

  • Blockchain: This refers to the underlying blockchain where transactions occur (e.g., Ethereum, Solana, Base).

  • Wallet: This is the software or hardware that interacts with the blockchain (e.g., MetaMask for Ethereum, Phantom for Solana).

Do I need to import both a Chain and its associated Wallet?

No, you do not! We offer both options in the integrations list to make it easier for users to find what they're familiar with. For example, if you import data for "Ethereum" (the chain), there's no need to also import via "MetaMask" (a wallet on Ethereum) as they will pull the exact same transactions. Choose whichever is more intuitive for you.


What if an Integration Isn't Supported?

If your client's specific wallet, exchange, protocol, or blockchain isn't yet supported, you can still import their information using CTC's manual CSV templated method.

Simply search for the unsupported exchange or wallet/chain name, then click on "Import CTC templated CSV for '[exchange name]'". Follow the on-screen instructions to create and upload the manual file. This template ensures your data is formatted correctly for CTC.

Did this answer your question?