First, make sure that your Bitcoin.Tax Closing Report balances for each crypto match exactly what you have across all your wallets. For example, if the Closing Report shows you have 1 BTC, then make sure you actually have 1 BTC if you added up all your holdings across your wallets.
If they don't match, you should work to find any discrepancies, or go back and make suitable adjustments. For example, you could add "Spend" entries in the Spending tab if you did not previously include network fees to reduce your overall balance.
Note that we may use the terms wallet and account interchangeably and they refer to the same thing, where you crypto is held.
Click the Create button to create your safe harbor. This initially is just a copy of your Closing report but where you can begin to make adjustments.
It will show your overall balance per crypto and for each wallet. For example,
You can click the Show By button to view by account or by crypto.
You can click the Symbol or Account buttons to filter for specific crypto or in certain wallets.
You might find to easier to filter by symbol and go through them one at a time.
The safe harbor tool will allow you to assign your overall balance across your wallets. You can do this by assign each lot or by a wallet.
You can move a specific lot (an amount of crypto and its cost basis) to a different wallet.
In the table, you can hover over a single lot and click the Move button.
This will let you assign this lot to a new wallet, or select "Other..." and enter a new name. You can also move only a partial amount, for example, entering "1" instead of "1.236543". This will split the lot into two parts and move just 1 to the other wallet.
Alternately, you can also click the dropdown button next to the account name and simply change the wallet.
You can choose to move all, or some, lots from one account to another. Just hove over the account line and click the Move button.
Here you can choose the new destination account to move all of the current lots from this account. You can also choose "Other" and type in a new name.
You can choose a lower amount to only move some of the balance. For example, say we actually had only 1 BTC in the Coinbase account and need to move the remainder to Ledger. We can change the value to be just 0.361543. This will cause any lots to be split and only move that amount to the Ledger wallet.
Lastly, you can choose the allocation method, for instance, FIFO and LIFO. If you are moving a partial amount then you can choose which ones are reassigned first. If you chose FIFO, then the system will take the oldest lots and move those first. Whereas, if you choose LIFO, it would take the newest lots first.
If you are moving the original amount, then this really has no effect as everything is moved anyway.
You can also choose Global Allocation, which will redistribute your lots across all of your wallets based on your actual balances.
Hover over the "Total" line and click the Global Allocation button.
This will initially show you the current balances per wallet for this crypto.
Now you can enter the balances you actually have in your wallets, clicking the Add button if you have more wallet names, until they add up to your total amount. You can also choose how the lots are assigned using the method choice. The system will do that in the order the wallets are listed.
In the above or example, if FIFO is selected, then all the lots will be assigned in oldest to Coinbase up to its balance, and then to Ledger.
If we had chosen LIFO then the newest purchased crypto would be assigned to Coinbase and the older crypto to Ledger.
You can reorder you wallet by hovering over the line and clicking the up or down arrows.
Let's say I have 3.393943 BTC and I need to assign them as per my actual wallet balances.
I have 1 BTC in Coinbase, 2 BTC in Ledger and the remaining 0.393943 in a Trezor wallet.
The start is shown
and I simply change the numbers for Coinbase and Ledger
Now I click Add and enter Trezor and its balance.
Let's also say I want to put my oldest coins in Ledger and my newest in Coinbase. I hover over each line and click the arrows to reorder them. I will leave FIFO as the choice (note, I could have used LIFO and put Coinbase at the top).
Now that I am done I can click the OK button to save these changes and can see the new balances and how the lots have been reassigned the in table below.
I just use the Symbol filter for each of my crypto until I am complete.
Finally, click the Download button to download by safe harbor report CSV.
This is a similar to a "closing" report but using the newly assigned lots and wallets. You should keep this for your own records as it details all the lots of crypto you own and where they are held.
This new closing is also copy into the bitcoin.tax Opening tab for 2025, so you are ready to use these values for trading.
For 2025, all transfers must also be included in your activity, so we can correctly move basis between wallets and calculate gains and losses correctly. See Transferring Crypto Between Wallets in 2025.