Since January 1, 2025, the cost basis of the coins you sell is worked out for one wallet or account at a time. Cost basis is generally what you paid for a coin. It sets the size of your gain when you sell.
If you hold coins on more than one exchange and in self-custody wallets, one pooled calculation no longer fits the rules. Revenue Procedure 2024-28 (Rev. Proc. 2024-28) offered a safe harbor for splitting basis from before 2025 across wallets. A safe harbor is a rule you can rely on. It protects you only if you meet its conditions. As of October 26, 2026, its deadlines have generally passed.
For every sale, you still choose the units you sell. You also keep your transfers between your own wallets in your records.
Key Takeaways
- Wallet by wallet: Since January 1, 2025, the cost basis of the coins you sell is generally worked out per wallet or account.
- Rev. Proc. 2024-28: Its deadlines depended on your first sale since January 1, 2025 and on the due date of your 2025 return.
- Choosing units: In a self-custody wallet, you can name the units you sell by recording them no later than the sale.
- Moving coins: A move between your own wallets is not taxable, except for crypto used to pay for the transfer.
- Complete transfers: With depot separation in CoinTracking, every transfer needs a withdrawal and a matching deposit in the right order.
What Changed on January 1, 2025: One Wallet or Account at a Time
Before 2025, you may have treated all wallets and accounts as one pool when you picked or ordered the units to sell. For sales and other disposals on or after January 1, 2025, each wallet or account stands on its own under the final regulations. Disposals include trading one coin for another or paying for goods with coins.
Here, a wallet is one where you control the private keys. An account is one with a custodial broker, such as a trading platform that holds your coins. A custodial wallet from a provider that is not a broker follows the self-custody rules.
How the Rev. Proc. 2024-28 Safe Harbor Works
Rev. Proc. 2024-28 lets you rely on any reasonable allocation of your unused basis to your wallets and accounts. Each wallet or account receives basis for exactly the number of coin units it holds as of January 1, 2025. “As of January 1, 2025” means immediately after the close of your day on December 31, 2024.
What is unused basis?
Unused basis is the original cost of your coins, with their acquisition dates. Each unit of unused basis is the cost of one coin unit. Basis you already used in a sale or other disposal before 2025 does not count. On January 1, 2025, all of your remaining basis counts as unused for this rule, even if you can trace part of it to specific coins.
The main conditions are these:
- It covers only coins you held on January 1, 2025. Coins you buy or receive later are not covered.
- You must keep records of the coins in each wallet or account, and of each unit of unused basis with its original cost and acquisition date.
- Your coins and the basis you allocate must come from capital assets, for example coins held for personal or investment purposes. The basis must belong to the same type of coin.
- For each coin type, the allocation covers all your unused basis across all your wallets and accounts.
- Basis you already used in a sale or other disposal before 2025 cannot be allocated.
You could allocate basis for each coin type in one of two ways, each with its own deadline.
| Specific unit allocation | Global allocation | |
|---|---|---|
| What you do | Name units of basis for each wallet | Set a rule that assigns basis to wallets, such as highest first |
| Written rule | None needed | Written before January 1, 2025; from then on it decides |
| Done when | Books first record the units of basis assigned to each wallet or account | |
| Deadline | Before the earlier of: first sale, 2025 return due date | Before the later of: first sale, 2025 return due date |
A first sale also covers any disposal or handover to another person (for example a gift) of that coin type on or after January 1, 2025. The 2025 return due date includes extensions.
For a calendar-year individual, the 2025 return was due on April 15, 2026, or on October 15, 2026 with an extension. As of October 26, 2026, that date has passed for everyone without a postponed filing date. A new specific unit allocation therefore generally is no longer possible.
A global allocation depends on the later of the two dates and on a rule you wrote down before January 1, 2025. A postponed filing date can apply, for example, in federal disaster areas. A tax professional can say whether that moves these deadlines.
As of October 26, 2026, we found no IRS notice, revenue procedure or regulation that amends, replaces or withdraws the safe harbor.
If you made an allocation but did not meet one of its requirements, you cannot rely on the safe harbor. Additional tax, penalties and interest may follow. A tax professional can review your position. Our Full-Service team can help with your import and tax preparation.
The safe harbor does not prove the amount of your basis, which you must support with your own records. Our guide to reconstructing missing cost basis shows how to rebuild gaps from partial exchange data.
Keep your wallet-level records in one place
CoinTracking imports your history from 400+ exchanges, wallets, and blockchains and can calculate your cost basis for each exchange and wallet separately.
How to Choose Which Units You Sell From Each Wallet
Coins in a self-custody wallet
You identify the units in your own records. You can name a unit, for example, by its purchase date and time or its purchase price. The identification counts if you record the particular units no later than the date and time of the sale. It only works with adequate records. Those records must show that the units left the wallet.
Without an identification, the oldest units in that wallet are treated as sold first, which is the first-in, first-out (FIFO) order. The date a unit arrived in the wallet does not count for this order.
Coins at an exchange or other broker
You specify the units to the broker no later than the date and time of the sale. You use the identifiers the broker designates.
A standing order also counts. It is a rule you set in advance for future sales, for example highest basis first. If the broker offers only one method, that method is treated as your standing order. Without an identification, the oldest units in your account with that broker are sold first.
Through December 31, 2026, Notice 2026-20 lets you identify broker-held units in your own books instead. You record the units no later than the sale, or you record a standing order before the units are sold. Coins in a self-custody wallet are not covered by this relief, because you can already identify those units in your own records. If you rely on the safe harbor, you may use this relief only after completing its requirements.
A broker generally reports your gross proceeds (what you received for the sale, minus its transaction costs) on Form 1099-DA beginning with 2025 sales. A broker's reported basis for 2026 sales may differ from the units you identified in your own books.
This example uses assumed numbers and ignores fees and holding periods. You hold one unit of the same coin in each of two wallets, and you sell the unit in Wallet B for $100,000.
| Wallet | Acquired | Cost basis |
|---|---|---|
| Wallet A | January 2022 | $20,000 |
| Wallet B | March 2024 | $60,000 |
The next table compares the gain under two order rules. The per-wallet rule applies from 2025 on. The older approach treated all wallets as one pool.
| Order rule | Unit treated as sold | Cost basis | Gain |
|---|---|---|---|
| Per-wallet rule | Wallet B | $60,000 | $40,000 |
| Older approach, oldest first | Wallet A | $20,000 | $80,000 |
| Difference in gain | $40,000 |
Under the per-wallet rule, only the units in the wallet you sell from are in play, so this sale produces the smaller gain.
What Happens When You Move Coins Between Your Own Wallets
A transfer between wallets or accounts you own is not a taxable event. The exception is crypto you use to pay for the transfer itself, such as a network fee. Crypto that is withheld for this purpose counts the same way.
If you move only part of a wallet, you can name the units to move. In a self-custody wallet, you record them in your own books. At a broker, you specify them to the broker. Without an identification, the oldest units leave first.
In the receiving wallet, the arrival date is ignored when the oldest units are ordered, so the units count by their original acquisition date.
Match your transfers before you file
CoinTracking's Missing Transactions report lists deposits and withdrawals that have no matching partner, so missing transfers show up early.
How to Set Up Per-Wallet Cost Basis Tracking in CoinTracking
By default, the CoinTracking tax calculator works out gains across all your exchanges and wallets together. The depot separation setting changes this, so each exchange and wallet becomes its own depot. It is the CoinTracking feature for wallet-by-wallet cost basis tracking under Rev. Proc. 2024-28, as the help center describes it.
- Name every wallet and account separately. With depot separation on, every unique name in the Exchange field counts as its own depot, so use one name per wallet or account.
- Import your full history, including deposits and withdrawals. CoinTracking supports 400+ exchanges, wallets, and blockchains. Depot separation needs every transfer between your exchanges and wallets entered completely and correctly.
- Match each withdrawal with its deposit. With depot separation on, a withdrawal creates the cost basis, and the matching deposit carries it into the other wallet. If the deposit has an earlier timestamp than the withdrawal, the basis does not transfer and you see a warning. The Missing Transactions report lists unmatched transfers.
- Switch on depot separation and pick your accounting method. Both are tax report settings. CoinTracking offers FIFO, LIFO, HIFO and Multi-Use, among others. Ask your tax professional whether your chosen method fits your unit identification.
- Handle your holdings from before 2025. The Reallocation Report lets you set a snapshot date as the starting point. You can also choose how basis is assigned to your wallets and mark low-activity wallets as cold wallets. The reallocation is complex and not guaranteed error-free. Whether a reallocation made after October 26, 2026 meets the Rev. Proc. 2024-28 deadlines is a question for your tax professional.
- Review the warnings and compare the totals with your Form 1099-DA. A warning can mean that a sale has no matching purchase. CoinTracking then assumes a cost basis of zero, which inflates your gain.
Conclusion
Per-wallet tracking comes down to two habits: identify the units you sell no later than the sale, and keep your wallet transfers complete.
Track your cost basis wallet by wallet
CoinTracking has tracked crypto portfolios and calculated taxes for 2.2 million users since 2012, across 400+ exchanges, wallets, and blockchains.
Disclaimer
The information provided in this article is intended for general informational purposes only and should not be construed as financial, tax, or legal advice. IRS guidance on digital asset basis is subject to change. Readers are encouraged to conduct their own research and consult with a qualified tax professional about their specific situation before making decisions based on the information presented here. The author and publisher are not responsible for any losses or damages incurred as a result of using the information in this article.