Open the settings page of any crypto tax tool and you will see a dropdown labelled "cost basis method" with at least three options: FIFO (first in, first out), LIFO (last in, first out) and HIFO (highest in, first out). The default is almost always FIFO. The customer rarely changes it, and almost never sees the side-by-side comparison of what each method would have produced on the same set of trades.
The numbers are not small. On a year of moderately active crypto trading, the difference between FIFO and HIFO can comfortably be 20 to 40 percent of the reported gain. This article walks through what each method actually does, what the US tax authority will and will not let you do with the choice, and where the trade-offs sit.
What the three methods mean, in one paragraph each
FIFO (first in, first out) assumes that the first units you bought are the first units you sold. It is the legal default in the United States under Publication 544 in the absence of specific identification. In a rising market, FIFO produces the highest reported gains, because it pairs your current sales against your oldest, cheapest purchases.
LIFO (last in, first out) assumes the most recent purchase is sold first. In a rising market, LIFO produces lower reported short-term gains because it pairs sales against recent, more expensive purchases. The trade-off is that you are constantly disposing of short-term lots, so a higher proportion of the gain is taxed at ordinary income rates rather than long-term capital gains.
HIFO (highest in, first out) picks the lot with the highest cost basis first, regardless of when it was bought. It produces the lowest reported gain in essentially every market condition, because it always pairs the sale against the most expensive lot available. It is also the most aggressive method, and the one most likely to trigger a follow-up question in an audit if the records are not airtight.
What the IRS actually allows
The position the IRS has set out in its digital assets guidance and reaffirmed in Revenue Procedure 2024-28 is that taxpayers must use FIFO unless they specifically identify the units being sold at the time of sale. "Specific identification" requires four pieces of information per disposal: the date and time the unit was originally acquired, its cost basis, the date and time of the sale, and the fair market value at sale.
HIFO and LIFO are not separate "methods" in the IRS’s eyes. They are descriptions of which lot you specifically identified. If your tax software supports HIFO, what it is actually doing is: picking the highest-basis lot for each disposal, recording all four pieces of identifying information, and presenting the result as if it were a single accounting election. The IRS accepts that, provided the records exist.
The change in 2025 was that Revenue Procedure 2024-28 tightened the per-wallet specific-identification rules: you can no longer pool your basis across all wallets and pick the cheapest. Each wallet (or exchange account) is now its own pool, and specific identification has to happen within that pool. A tool that still calculates HIFO across all your accounts as one bucket is using a method the IRS no longer accepts for tax years from 2025 onward.
A worked example on the same set of trades
Imagine you bought 1 BTC at three different points in 2024 and sold 1.5 BTC in 2025:
| Date | Action | Quantity | Price (USD) |
|---|---|---|---|
| March 2024 | Buy | 1.0 BTC | $45,000 |
| July 2024 | Buy | 1.0 BTC | $60,000 |
| December 2024 | Buy | 1.0 BTC | $95,000 |
| April 2025 | Sell | 1.5 BTC | $70,000 each |
The proceeds from the sale are 1.5 × $70,000 = $105,000. The cost basis depends on the method:
| Method | Lots used | Cost basis | Reported gain |
|---|---|---|---|
| FIFO | 1.0 BTC × $45,000 + 0.5 BTC × $60,000 | $75,000 | $30,000 |
| LIFO | 1.0 BTC × $95,000 + 0.5 BTC × $60,000 | $125,000 | -$20,000 |
| HIFO | 1.0 BTC × $95,000 + 0.5 BTC × $60,000 | $125,000 | -$20,000 |
On this set of trades FIFO produces a $30,000 gain you owe tax on; LIFO and HIFO both produce a $20,000 loss you can harvest against other gains in the same year. The same trades, three accounting choices, a $50,000 swing in the taxable result.
Why FIFO is still the right default for most retail investors
HIFO almost always produces the lowest current-year tax bill. That does not mean it is always the right answer:
- Holding period matters. In the United States, gains on assets held longer than 12 months are taxed at long-term rates that are usually lower than the ordinary income rate. HIFO often picks the most recent (short-term) lot, dragging gains into the higher rate bracket. A correctly tuned HIFO implementation accounts for this; a naive one does not.
- Future tax bills inherit the residual. Whichever lots you do not dispose of this year are the lots you will dispose of in future years. Picking the highest-basis lots now leaves the lowest-basis lots in your portfolio. If you eventually sell those at a higher price, the future bill is larger.
- Records have to be airtight. Specific identification requires the four-piece audit trail per disposal cited above. FIFO produces the same disposal regardless of records, so it is robust to imperfect bookkeeping; HIFO is not.
What this means for the dropdown in your tax tool
If you are filing a US return for 2025 onward, the most defensible choice is one of:
- FIFO, applied per wallet, with no further election. Highest reported gain in a rising market, lowest documentation burden, no risk in audit.
- HIFO, applied per wallet, with the four-piece specific identification record kept for each disposal. Lowest reported gain, highest documentation burden, and only valid if your tool calculates per-wallet rather than across the whole portfolio.
If your software is doing HIFO across all of your accounts pooled together, the result is no longer compliant from 2025 onward, and the safe move is to switch to per-wallet HIFO or fall back to FIFO until the tool is updated. Our Crypto Tax Calculator defaults to FIFO per wallet, and the engine keeps the per-disposal lot identification on every line, so a switch to HIFO is a one-click change rather than a re-import.
The right answer for any individual taxpayer depends on the specific cost basis pattern in their own portfolio. The wrong answer for everyone is to pick the default in the dropdown without ever running the comparison.