I'm a developer, not a tax professional. This guide is researched from IRS notices, final regulations, and verified 2026 sources (linked throughout) but hasn't been reviewed by a CPA. Cost basis decisions have real compliance implications β verify before filing.
Capital gain (or loss) = Disposal proceeds β Cost basis
If you bought 1 BTC for $30,000 (including fees) and later sold for $50,000, your capital gain is $20,000. But if you've bought the same asset multiple times at different prices β which most investors have β you need a method to determine which units you're treating as sold, and at what cost.
| Method | IRS status | Documentation required |
|---|---|---|
| FIFO (First-In, First-Out) | Permitted β IRS default | None beyond normal records |
| Specific Identification | Permitted β requires documentation | Contemporaneous lot-level records required |
| HIFO (Highest-In, First-Out) | Not a standalone method β a Specific ID strategy | Same as Specific Identification |
| LIFO (Last-In, First-Out) | Not a standalone method β a Specific ID strategy | Same as Specific Identification |
| Average Cost Basis | Not permitted for US crypto | Cannot be used |
Most crypto tax software presents FIFO, LIFO, and HIFO as three separate, equally valid options in a dropdown menu. This is technically inaccurate. The IRS recognises two methods for crypto cost basis: FIFO and Specific Identification. HIFO and LIFO are lot-selection strategies executed within a valid Specific Identification framework. Choosing HIFO in your tax software without maintaining the underlying lot-level documentation that Specific ID requires does not give you a defensible position β if audited, the IRS can recompute your gains using FIFO and the difference could be substantial.
If you've held older units long enough to qualify for long-term treatment (more than 366 days), FIFO sells those units first β locking in the lower long-term CGT rate. In a flat or moderately rising market where your older units have a reasonable cost basis, FIFO can produce good tax outcomes without the documentation burden of Specific Identification.
In a rising market where you've accumulated positions over several years, FIFO sells your oldest, cheapest units first β typically your largest gains. If those units are still long-term (held 366+ days), the rate is lower, but the gain is larger. Investors who bought large amounts of BTC in 2019-2021 at low prices and have added to their position more recently will often find HIFO (within Specific ID) produces a significantly better outcome than FIFO.
Before 2025, some investors applied Specific ID retrospectively at year-end β reviewing all transactions and choosing the most tax-efficient lot assignment after the fact. This is no longer permitted under Rev. Proc. 2024-28. Lot identification must now be established contemporaneously β at or before the time of disposal β and reflected in your records before you file. Selecting HIFO in tax software after the fact is not sufficient if you can't produce contemporaneous records proving you designated those specific lots at the time of sale.
HIFO minimises the immediate taxable gain by selling your highest-cost basis units first. But those units may have been acquired recently and are therefore short-term β taxed at ordinary income rates of up to 37%. A long-term lot with a lower cost basis might produce a larger gain but taxed at only 15%. Choosing between HIFO and FIFO isn't simply "which produces the smaller gain" β it's "which produces the lowest after-tax cost, accounting for both the gain amount and the applicable rate." Run the numbers for your specific bracket before defaulting to HIFO.
The IRS has not authorised average cost basis for digital assets. If you calculate your crypto gains using an average purchase price across all your holdings of a particular token, your tax reporting is incorrect and potentially underreports your gains in some years and overreports in others. Many crypto investors β particularly those who've come from stock investing β make this mistake without realising it. If you've been using average cost basis in a spreadsheet or via a method not supported by IRS guidance, speak with a tax professional about how to correct your historical reporting.
| Scenario | Per-wallet rule application |
|---|---|
| 1 BTC on Coinbase + 1 BTC on Kraken | Two separate lots in two separate pools β cannot be combined for cost basis calculation |
| Sell 1 BTC on Kraken | Use only lots held within Kraken to calculate the cost basis β cannot pull Coinbase lots |
| Transfer BTC from Coinbase to Kraken | The lot moves with the asset β cost basis and holding period of the specific units transferred must be tracked to their new wallet location |
| Multiple MetaMask addresses, same seed phrase | Treated as one wallet β all addresses from the same seed phrase are one pool |
| Sub-accounts on the same exchange | IRS guidance is unclear β most professionals treat them as part of the same account |
When you move crypto between wallets you own, it's not a taxable event β but the cost basis of the specific units transferred must follow those units to their new location. Failing to track this means your records at the receiving wallet will have no basis data, creating a gap that could trigger an IRS mismatch notice when that exchange reports a sale on Form 1099-DA without a matching cost basis record.
Through December 31, 2026, you can use FIFO, HIFO, LIFO, or any other valid Specific Identification approach β and your own records control, even if they differ from what your exchange reports on Form 1099-DA. You do not need to notify your broker of your lot selection at the time of sale. However β your identification must still be recorded in your own books and records before the disposal. This relief removes the broker-notification requirement, not the contemporaneous-documentation requirement. If you claim HIFO but your records were assembled after the fact, the relief does not protect you.
Notice 2026-20's broker-notification relief applies only to transactions conducted through centralised brokers. For self-custody wallets (MetaMask, Ledger, Trezor, etc.), the standard Specific Identification documentation requirements apply in full β you must have contemporaneous records proving which lots you sold, with no broker notification relief available.
HIFO produced a $327 lower tax bill ($198 vs $525) β but the gain was taxed at the short-term rate because Lot C was recently acquired. At a higher income bracket (32% or 37%), the short-term rate on the smaller HIFO gain might actually exceed the long-term rate on the larger FIFO gain. For a taxpayer in the 37% bracket: FIFO would be $525 at 15% = $525. HIFO would be $900 at 37% = $333. HIFO still wins β but the margin narrows as the short-term rate rises. Always model both methods for your specific income level before deciding.