In July 2024, the IRS issued Revenue Procedure 2024-28 (Rev. Proc. 2024-28). This procedure makes it mandatory for US crypto investors to use a per-wallet cost-basis tracking method when calculating gains and losses for tax purposes starting January 1, 2025. The universal cost basis tracking method will no longer be allowed beginning in tax year 2025.
Note, these required changes will not impact 2024 tax reports, which are due April 15, 2025. These new reporting rules will impact tax year 2025, due April 2026.
What is required of me to comply with this change as defined by the IRS guidance?
There are two things you should do to make sure you can comply with this required change:
Declare your cost basis reallocation method (save email from CoinLedger)
Make sure your CoinLedger account is up to date on Dec 31
Universal vs. Per-Wallet Cost Basis Tracking (Explained)
Historically, most crypto investors have used a universal cost basis tracking method when accounting for their gains or losses each year. This is the method that CoinLedger has used for US-based investors.
Under the Universal tracking method, all transactions for a particular coin across various wallets are combined into a single queue for accounting purposes. This means the cost basis used when accounting for the sale of a coin may originate from any wallet, irrespective of where the sale occurs.
Universal tracking method
To help illustrate, let’s say you have the following transaction history:
Jul 1 - Buy 1 BTC @ $10,000 in Exchange A
Aug 1 - Buy 1 BTC @ $20,000 in Exchange B
Sep 1 - Buy 1 BTC @ $30,000 in Exchange C
Oct 1 - Sell 1 BTC @ $40,000 in Exchange C
Under universal tracking, this transaction history gets combined into one queue for accounting purposes—as if all of this history occurred within 1 exchange or 1 wallet.
When crypto tax software like CoinLedger is accounting for the sale of 1 BTC from Exchange C, it can pull the ‘tax lot’ from Exchange A.
In fact, this is exactly what CoinLedger would do when using First-in First-out (FIFO). It would look for the first BTC purchase and account for that unit being sold first (hence first-in, first-out). Therefore, using the universal tracking method, your taxable gain for the Sep 1 sale would be $30,000 ($40,000 - $10,000).
Per-wallet cost basis tracking
Under the per-wallet cost basis tracking method, CoinLedger can’t pull ‘tax lots’ from wallets or exchanges outside of the one where the sale is actually occurring. The cost basis for the Sep 1 sale from Exchange C has to come from Exchange C, hence ‘per-wallet’ tracking.
So using the per-wallet tracking method, CoinLedger would calculate this user’s gain to be $10,000 ($40,000 - $30,000).
How will CoinLedger help users migrate to per-wallet cost basis tracking?
If you have used CoinLedger in the past, and you have cryptocurrencies that you are still holding, then CoinLedger needs to allocate the outstanding cost basis of your holdings to the specific accounts (wallets/exchanges) you hold crypto in. This will enable CoinLedger to calculate your gains/losses on a per-wallet basis in the future.
To facilitate users with this migration, CoinLedger will automatically allocate any outstanding basis to your wallets based on a Lowest-Cost, Highest-Wallet method. CoinLedger will also provide support for Highest-Cost, Highest-Wallet reallocation, and this can be configured on your tax settings.
Example of Lowest-Cost, Highest-Wallet reallocation
In the image above, we can see that we have 4 outstanding tax lots of Ethereum. Each lot was purchased at a different spot price of ETH (per unit price), and each tax lot thus has different cost basis.
Under the universal method, CoinLedger is accounting for this outstanding basis in the same queue (or in one universal wallet). To migrate to per-wallet tracking, we need to allocate the outstanding cost basis to the three different wallets we hold ETH in.
By using the lowest-cost highest-wallet method, we will allocate the lowest per-unit cost basis lot, lot 1, to the wallet with the highest balance of ETH, Wallet A. Lot 1 has 1.35 units of ETH (at $1,290 per ETH), so we completely expend this lot when allocating to Wallet A.
We then go to the next lowest cost tax lot, lot 2. With only 0.578 units of ETH in this tax lot, we also completely expend this lot allocating to Wallet A. So now, Wallet A has been allocated 1.928 ETH (1.35 + 0.578).
We repeat this process again and go to the next lowest cost tax lot, lot 3. This lot consists of 2.57 total ETH (at $2,876 per ETH), so we first allocate 1.072 of this ETH to Wallet A (which completely exhausts wallet A as it has now been allocated 3 units of ETH). We then allocate the remaining 1.498 ETH to Wallet B, which is the next highest balance wallet of ETH across our three wallets.
We repeat this same process until all of our outstanding tax lots, and the associated cost basis, have been allocated.
Now in the future, when we make a sale from Wallet A, Wallet B, or Wallet C, we can pull from the cost basis that were allocated to each individual wallet.
How do I declare the allocation method I’m using?
In Rev. Proc 2024-28, the IRS states that you must declare the method that you are using to allocate outstanding cost basis prior to Jan 1, 2025. If you do not make this declaration, you may not qualify for Safe Harbor protection.
On Dec 20 through Dec 22, 2024, CoinLedger sent email communications to all US users defining this reallocation method. You should save a copy of this email for your records as your declaration.
Note - to make your declaration, you do not need to physically send anything to the IRS. You simply need to have records of the declaration that clearly document the process by which you are allocating your outstanding cost basis.
Additionally, prior to the end of the year and on Dec 31, 2024, you should be sure that your CoinLedger account is up to date. This means you should fully import all of your 2024 and prior transactions, add all wallets and or exchanges, and make sure the tracked balances in your Portfolio are accurate.
This will enable the automatic reallocation process happening at the end of the year to properly allocate your outstanding cost basis to each of your accounts/wallets.
Do you offer other cost-basis reallocation methods?
Yes. In addition to lowest-cost, highest-wallet, CoinLedger also supports highest-cost, highest-wallet.
If you hold most of your crypto in a cold storage wallet, using the lowest-cost, highest-wallet method (default) will allocate your lowest cost basis coins to that cold wallet. This can be helpful for qualifying for long-term capital gains and minimizing your tax burden.
There may be circumstances where you want to allocate your highest cost coins to your highest balance wallets. This method is also supported, but it is not the default method.
You should select which method you want CoinLedger to use on your account before Jan 1, 2025. You can do this by making this selection within the Tax Settings of your CoinLedger account. By default, USA users will be selected to use the lowest-cost, highest-wallet method.
Consult your tax professional if you have questions about which reallocation method is best for your specific circumstances.
Frequently asked questions
What do I need to do before Dec. 31, 2024 to prepare for this change?
You should do two things prior to the end of the year to prepare for this change:
Declare the reallocation method you are using (by saving the email from CoinLedger)
Make sure your CoinLedger account is up to date on Dec 31
Should I transfer all of my crypto/consolidate it into one wallet or account before Jan 1st?
This is not necessary. However, it can make future cost basis tracking easier, as it essentially replicates the universal wallet tracking method that CoinLedger has used historically.
Can I use the email CoinLedger sent as a declaration letter?
Yes, you should save the email CoinLedger sent you as the declaration for the reallocation method you are using. CoinLedger will also save the reallocation method used on your account for future reference.
Will CoinLedger send me a 1099-DA? If so, will I need to fill anything in the 1099 DA and send it to the IRS?
CoinLedger is not a broker nor a cryptocurrency exchange, and thus is not the entity required to file 1099’s to you nor the IRS. You will only receive 1099-DA’s from the brokers you used starting in Jan. 2026. You can use future 1099-DA’s in tandem with CoinLedger to effectively track and report your crypto tax activity.
Will you be using FIFO for your digital asset allocation plan?
No. CoinLedger will be defaulting all US users to use the lowest-cost, highest-balance allocation method.
How will you assign cost basis? Will you assign it to hosted accounts first, and then unhosted accounts?
Cost basis will be assigned based on wallet holdings. Lowest cost tax lots will be allocated to highest wallet balances first.
What if I store my crypto in self custody/cold storage wallets?
This is normal, and you do not need to move any of your crypto to comply with these requirements. You should however have your self-custody wallet and the associated transactions (deposits, withdrawals, and transfers) imported to CoinLedger.