Beginning in 2025, US taxpayers must track cost basis by wallet and exchange (account). This means that when you sell a token, you can only use the cost basis from lots that were either purchased or transferred there. As a result, you may see more missing cost basis errors when you open your account that will need to be resolved by creating Movements, a new transaction type.
Accounts
Accounts are the locations where you hold assets - for example a centralized exchange or a wallet address. You can view the Accounts in your TokenTax profile at Recon>Cost Basis>Accounts. If you don’t see any, double check that your Cost basis tracking is set to By wallet and exchange (accounts), and click Generate accounts.
Movements
When accounts are generated, TokenTax will scan your transactions for matching Deposits and Withdrawals where you transferred tokens between exchanges, addresses, or chains. It will link these Deposits and Withdrawals with a new transaction type called a Movement that moves cost basis from one account to another using your selected accounting algorithm (FIFO, LIFO, or Minimization). You can create and review Movements at Recon>Cost Basis>Movements
Balances and Running balance
These are two new tools to help you reconcile your transactions by account. Balances shows your current holdings by currency or account, and Running balance shows the daily change and ending balance of each account for a selected currency.
FAQ
Why are there more missing cost basis errors now?
You will see missing cost basis errors whenever there’s a sale in an account for more than its current balance. Previously it didn’t matter where your tokens were held. TokenTax will try to automatically create Movements based on matching Deposits and Withdrawals, but if any of these are missing they will need to be manually added.
I have both CSV and API connections for one exchange, how can I treat them as a single account?
You can change the Account associated with an import on the Import page. In this example, we would recommend setting the account of the CSV to the associated API Account.
I bridged and swapped in the same transaction, how do I reconcile this?
You can still create a Movement with different currencies as long as the accounts are different and the timestamps are similar. We will calculate the gain/loss on the trade and move the balance between the two accounts.
What does the adjustment (income or spend) mean in a Movement?
When a balance changes in a transfer due to things like slippage or fees, we need to account for the gained (income) or lost (spent) currency.
