Coinpanda logo
Crypto Taxes

Mandatory Switch from Universal to Per-Wallet Tracking Method Explained

Reading time: 8 mins

Updated:

Are you a US taxpayer who has used the Universal cost-tracking method for prior years? If yes, you must switch to the Per-Wallet cost-tracking method from January 1st, 2025, due to new tax regulations from the IRS.

In this guide, we will explain everything you need to know about this mandatory change and how you can stay compliant with Coinpanda.

NB! This mandatory change by the IRS affects all US taxpayers starting from the 2025 tax year, with filing due April 2026. We strongly encourage you to read this article and seek professional tax advice if necessary.

Key takeaways

  • The IRS mandates transitioning from Universal to Per-Wallet cost-tracking for digital assets starting in the 2025 tax year.
  • Universal cost-tracking aggregates holdings across wallets, while Per-Wallet cost-tracking calculates tax basis separately for each wallet.
  • Transitioning to Per-Wallet tracking requires taxpayers to allocate unused tax basis from pre-2025 holdings using specific or global allocation methods.
  • Coinpanda can simplify compliance by automating the migration process and allocating unused tax basis to your current holdings on January 1st, 2025.

Rev. Proc. 2024-28

The IRS issued Revenue Procedure 2024-28 (Rev. Proc. 2024-28) in July 2024, which outlines the mandatory change from Universal to Per-Wallet cost-tracking for digital assets and the allowed allocation methods that can be used during this transition.

This marks a departure from the more flexible method previously allowed, the global pooling approach (Universal cost-tracking), where taxpayers could aggregate their holdings across multiple wallets or exchanges. The background for this change is that the IRS aims to enhance accuracy and consistency in digital asset tax reporting and to align your records with exchanges that will soon have to issue Form 1099-DAs similar to stock brokers. As we will discover in the next section, this is only possible using the Per-Wallet cost-tracking method.

However, the most important part of Rev. Proc. 2024-28 for most taxpayers is the requirements for transitioning from the Univeral to Per-Wallet cost-tracking method. The IRS has outlined steps and requirements that you must follow to ensure compliance and avoid potential issues in the case of an audit.

If this feels somewhat confusing – don’t worry! In the following two sections, we will guide you through the Per-Wallet cost tracking method and how to perform the transition using any of the allowed allocation methods in a compliant matter.

Cost tracking methods

If you have a solid grasp of how the Universal method differs from the Per-Wallet cost-tracking method, you can skip to the next section (Allocation methods).

But if not, we will recap the difference between these methods in this section and how they may affect your capital gains calculations.

Universal cost tracking

Under the Universal tracking method, all transactions for a particular coin across various wallets are combined into a single queue. This means the cost basis used when selling a coin may originate from any connected wallet, irrespective of where the sale occurs.

Universal cost tracking, also known as global pooling, aggregates the cost basis of cryptocurrency holdings across all wallets and exchanges. Under this method, the acquisition price of all crypto assets of the same type (e.g., Bitcoin, Ethereum) is combined into a single pool and queue. When selling or otherwise disposing of crypto, the taxpayer calculates gains or losses by considering the original cost basis from all pooled assets of the same type, using any of the allowed accounting methods (FIFO, LIFO, HIFO).

This approach simplifies record-keeping by treating all holdings as one unified inventory. However, this can obscure the cost basis of individual transactions since the cost basis used when selling a coin may originate from another exchange or wallet. As a result, Universal cost tracking may not reflect the actual gain/loss outcome of trades for investors who hold the same cryptocurrency in multiple wallets or exchanges.

Per-Wallet cost tracking

Per-Wallet cost tracking, by contrast, calculates the cost basis for each wallet independently. Each wallet maintains its own records of acquisition costs, adjusted for fees and other variables. When a cryptocurrency is sold from a specific wallet, the gain or loss is calculated based solely on that wallet’s cost basis and queue instead of the total holdings across all wallets.

This method requires more detailed record-keeping, as transactions cannot be aggregated across wallets. However, it provides a more accurate and transparent reflection of an investor’s portfolio performance and tax obligations.

As previously mentioned, the Per-Wallet cost tracking method is the only allowed method by the IRS for the 2025 tax year, with filing due in April 2026.

Allocation methods

Now, we are getting to the most essential part of Rev. Proc. 2024-28 for most US taxpayers, but perhaps also the most challenging part to understand.

When switching from Universal to Per-Wallet cost-tracking, the unused tax basis (cost) from pre-2025 holdings must be allocated to your crypto assets in specific wallets. IRS has outlined two methods we will discuss in this article: Specific and Global Allocation.

Let’s start by showing a high-level overview of the differences:

Global AllocationSpecific Allocation
Allocation principleA single, consistent method assigns a tax basis across all assets.Use any method to assign unused tax basis to an asset in any wallet.
AdvantagesIt is simple to implement due to its consistent methodology across all assets.It gives taxpayers complete flexibility in allocating the tax basis among their current holdings.
DisadvantagesTaxpayers must use the same methodology for all assets without the option to adjust allocations for specific coins.It is challenging to implement accurately for taxpayers with many transactions and/or wallets.
Coinpanda supportCheck greenCross red

Coinpanda supports global allocation since only this methodology can be applied consistently across all assets.

To better understand the global and specific allocation methods, let’s dive into an example involving five Solana (SOL) transactions made by the taxpayer before switching to Per-Wallet cost-tracking.

TypeDateQuantityPriceCost BasisWallet
Buy2021-02-0510 SOL$7$70Coinbase
Buy2022-06-3020 SOL$34$680Kraken
Buy2023-08-2020 SOL$22$440Binance
Sell2024-10-104 SOL$140Coinbase
Sell2024-12-2810 SOL$190Binance

As we see in the table above, the holdings in Coinbase are 6 SOL (bought 10, sold 4), and in Binance, we have 10 SOL (bought 20, sold 10). The holdings in Kraken are still the original 20 SOL bought since we haven’t sold or transferred any SOL.

Assuming the HIFO (Highest in, First out) accounting method is used, the following cost basis lots have been spent:

  • 4 SOL sold: cost basis of $34 per unit, acquired on 2022-06-30 (Kraken)
  • 10 SOL sold: cost basis of $34 per unit, acquired on 2022-06-30 (Kraken)

Based on these assumptions, the remaining actual holdings (Quantity) are now different than the remaining unused tax basis units (Tax Basis Units) on January 1st, 2025:

WalletQuantityTax Basis UnitsOriginal Cost / UnitOriginal Acq. Date
Coinbase610$72021-02-05
Kraken206$342022-06-30
Binance1020$222023-08-20
Totals3636
Exchange holdings and unused tax basis units on January 1st, 2025

Before selling or transferring any units in 2025, taxpayers must allocate their unused tax basis to the remaining holdings in each wallet to transition from Universal to the Per-Wallet cost-tracking method.

Specific allocation

The specific allocation method allows the taxpayer to allocate any remaining tax basis units to any holdings of the same asset. This means you cannot allocate BTC basis to SOL or vice versa, but BTC basis can only be assigned to BTC, and so on.

The allocation does not need to follow any specific order or consistent method as long as you allocate the same unused tax basis only once and to the same asset type.

By following these constraints, let’s assume the taxpayer decides to allocate the unused tax basis units this way:

Allocate 6 SOL (unused) tax basis units to the actual SOL holdings in Coinbase:

  • 2 units from the unused tax basis at $7 per unit (acquired 2021-02-05)
  • 2 units from the unused tax basis at $34 per unit (acquired 2022-06-30)
  • 2 units from the unused tax basis at $22 per unit (acquired 2023-08-20)

Allocate 20 SOL (unused) tax basis units to the actual SOL holdings in Kraken:

  • 4 units from the unused tax basis at $34 per unit (acquired 2022-06-30)
  • 16 units from the unused tax basis at $22 per unit (acquired 2023-08-20)

Allocate 10 SOL (unused) tax basis units to the actual SOL holdings in Binance:

  • 8 units from the unused tax basis at $7 per unit (acquired 2021-02-05)
  • 2 units from the unused tax basis at $22 per unit (acquired 2023-08-20)

After this allocation, we can now summarize the taxpayer’s updated holdings and allocated tax basis as of January 1st, 2025:

QuantityOriginal Cost / UnitOriginal Acq. DateUnitsCost / UnitAcq. Date
6$72021-02-052$72021-02-05
2$342022-06-30
2$222023-08-20
Coinbase – Specific allocation
QuantityOriginal Cost / UnitOriginal Acq. DateUnitsCost / UnitAcq. Date
20$342022-06-304$342022-06-30
16$222023-08-20
Kraken – Specific allocation
QuantityOriginal Cost / UnitOriginal Acq. DateUnitsCost / UnitAcq. Date
10$222023-08-208$72021-02-05
2$222023-08-20
Binance – Specific allocation

Global allocation

Using the global allocation method, a single, consistent method assigns the unused tax basis across all assets in all wallets. Coinpanda supports the global allocation method with two tax lot ordering methods:

  1. Highest cost –> First received
  2. Highest cost –> Last received

In this example, we will use the Highest cost –> First received ordering method to allocate the unused tax basis.

Simply put, the taxpayer will assign the highest cost tax units to the earliest acquired coins.

Allocate 6 SOL (unused) tax basis units to the actual SOL holdings in Coinbase:

  • 6 units from the unused tax basis at $34 per unit (acquired 2022-06-30)

Allocate 20 SOL (unused) tax basis units to the actual SOL holdings in Kraken:

  • 20 units from the unused tax basis at $22 per unit (acquired 2023-08-20)

Allocate 10 SOL (unused) tax basis units to the actual SOL holdings in Binance:

  • 10 units from the unused tax basis at $7 per unit (acquired 2021-02-05)

We can now summarize the taxpayer’s updated holdings and allocated tax basis as of January 1st, 2025:

WalletQuantityOriginal Cost / UnitOriginal Acq. DateUnitsCost / UnitAcq. Date
Coinbase6$72021-02-056$342022-06-30
Kraken20$342022-06-3020$222023-08-20
Binance10$222023-08-2010$72021-02-05
Global allocation with Highest cost –> First received ordering method

As we can see from this table, all holdings in all wallets have been assigned an unused tax basis by following the global allocation method and Highest cost –> First received ordering method.

Now, if the taxpayer decides to sell any SOL holdings later in 2025, we can calculate the acquisition cost for each disposal and ensure compliance with Rev. Proc. 2024-28.

Step-by-step instructions

By now, you should hopefully have a solid understanding of the mandatory switch from Universal to Per-Wallet cost-tracking method and how it may impact your tax calculations, but how do you implement this before the tax deadline in April 2026?

If you have used Coinpanda in prior years to calculate and report your taxes, you can complete the migration in a few easy steps we will explain next. This applies also if you are switching from another tax tool to Coinpanda for the 2025 tax year.

Step 1: Reconcile your account

Ensuring that your Coinpanda account is fully reconciled for all years is not mandatory but highly recommended to avoid issues related to zero-cost tax basis that can potentially result in higher capital gains. First and foremost, you should resolve any ‘Negative Balance’ warnings, which usually means gaps in the data imported into your Coinpanda account.

Please refer to our Help Center for more information on reconciling your account. As a starting point, we recommend reading the following articles:

“Negative balance” warnings
“Missing market price” warnings
Exchange API limitations
The portfolio balance on Coinpanda does not match what I have

Once you have resolved all warnings (if any), your unused tax basis from crypto holdings acquired before January 1, 2025, should be fully updated according to the selected cost basis method.

PS! Minor negative balance warnings can be caused by rounding errors in the data provided by different exchanges and can, in most cases, be safely ignored since they will have a negligible effect on the resulting capital gains.

In the image below, minor negative balance warnings from Bybit will not impact the calculations or cause issues when switching from Universal to Per-Wallet cost-tracking.

Step 2: Create migration

Coinpanda provides a fully automated migration solution that takes care of the entire process with just a few clicks to make switching to the Per-Wallet cost-tracking method easy.

NB! The migration feature is scheduled for release in Q1 2025.

Start by going to Settings and selecting ‘Migrations’ in the left-hand navigation.

Click ‘Add Migration’, select ‘Migration Type’, and ‘Tax Lot Allocation Method’.

As already mentioned, Coinpanda supports two allocation ordering methods:

  • Highest cost –> First received: This method assigns your highest cost basis to the oldest purchased lots of the same asset. Using the First-in-First-Out (FIFO) method, the default accounting method under the new regulations, you will sell your most expensive units first, typically resulting in lower capital gains.
  • Highest cost –> Last received: This method assigns your highest cost basis to the newest purchased lots of the same asset. Under the FIFO method, you will sell your least expensive units first, which generally results in higher capital gains.

Using both ordering methods, the same-asset rule applies (i.e., your BTC tax basis can only be applied to BTC holdings).

Click ‘Save’ after selecting which allocation method you want to use.

You will now see the saved migration details on the Migrations settings page.

Coinpanda will also allow you to export a migration report detailing how the unused tax basis units have been allocated across all assets in all wallets.

If you want to change to another allocation ordering method, you can delete the migration and create a new one. This will not affect your imported transactions or tax calculations from years before 2025.

FAQs

Am I allowed to modify transactions from 2024 or earlier after the migration?

Yes, the migration will automatically re-run whenever you add a transaction to earlier years. Transactions from before 2025 will still follow the Universal cost-tracking method.

Do I need to enable Per-Wallet cost-tracking after adding the migration?

No, the cost-tracking setting will be automatically updated to Per-Wallet after the migration is added.

I have used another crypto tax tool for prior years but want to use Coinpanda from 2025. How can I do this?

When switching from another tax platform, we always recommend importing all historical transactions to your Coinpanda account. You don't need to take any actions if you have used Per-Wallet tracking for prior years. However, if you have used Universal cost-tracking for 2024 and earlier, you must add the migration by following the steps explained in this article.

After adding the migration, can I see how the unused tax basis has been allocated?

Yes, you can export a migration report that shows a complete overview of how the unused tax basis has been allocated to all assets in all wallets.

The content provided on this website is intended solely for general informational purposes and should not be interpreted as professional advice. We recommend consulting with independent professionals for legal, financial, tax, or other advice to correlate our website's information with your situation. Coinpanda cannot be held responsible for any losses incurred resulting from the utilization or dependency on the information directly or indirectly accessed via this website.

Free Report Preview

Import transactions and preview your tax report for free.

Start for free