You bought ETH three times. Now you’re selling some of it. The IRS wants to know which ETH you sold — and depending on your answer, your tax bill could swing by thousands of dollars. That’s the cost basis method question, and most people either don’t know it exists or default into FIFO without realizing it.
Here’s what each method actually means, how the IRS treats them, and which one is usually worth the extra work.
The Three Methods, Plainly
FIFO — First In, First Out
You sell your oldest coins first. Always. FIFO is the IRS default — if you don’t specify anything, this is what applies. It’s the path of least resistance, and in a long-running bull market, it’s also frequently the most expensive choice. Your oldest lots tend to have the lowest cost basis, which means higher gains.
FIFO is fine if you’ve held everything long-term already (over a year), or if your portfolio is simple enough that the distinction doesn’t matter much. But for active traders or anyone who bought heavily in 2020-2021 and sold in 2022-2023, FIFO is often quietly brutal.
HIFO — Highest In, First Out
You sell your highest-cost lots first. This minimizes your realized gain (or maximizes your realized loss) on any given sale, which is generally the outcome you want in a bull market when you need liquidity but don’t love the tax bill.
HIFO is not a formally named method in the IRS code — it’s a valid application of Specific Identification, which the IRS permits for securities and has not explicitly prohibited for crypto. The practical effect: you always sell the lot that hurts the least. Bought 1 ETH at $3,800 and 1 ETH at $1,200, and now you’re selling 1 ETH at $3,000? HIFO says you sold the $3,800 lot — realized loss of $800. FIFO says you sold the $1,200 lot — realized gain of $1,800. Same sale, $2,600 difference in taxable income.
Specific Identification (Spec-ID)
You pick exactly which lot you’re selling, on a per-transaction basis. Maximum flexibility, maximum paperwork. You can optimize each sale individually — take the short-term loss here, preserve the long-term gain there, avoid a wash sale trigger on this one.
Spec-ID requires adequate records: you need to identify the lot before or at the time of sale, not retroactively. The IRS standard for adequate identification has historically meant a contemporaneous written record — a ledger, a note, a system that tracks it. In practice, this means your tracking tool needs to be doing this work automatically, or you need to be doing it manually and documenting it.
A Worked Example
Three ETH purchases. You’re selling 1 ETH today at $3,500.
| Lot | Date Purchased | Cost Basis | Holding Period |
|—–|—————|————|—————-|
| Lot A | Jan 2022 | $3,800 | Long-term |
| Lot B | Aug 2022 | $1,100 | Long-term |
| Lot C | Mar 2024 | $2,900 | Short-term |
Under FIFO: You sell Lot A ($3,800 basis). Result: $300 long-term loss. Not bad — but you used up your highest-cost lot in the process.
Under HIFO: You also sell Lot A ($3,800 basis — it’s the highest cost). Same result here: $300 long-term loss. In this case FIFO and HIFO converge because the oldest lot happens to be the highest-cost lot.
Under Spec-ID: You choose. If you want to realize a loss, you pick Lot A. If you want to preserve Lot A for a potential future loss harvest, you could sell Lot C instead — $3,500 minus $2,900 = $600 short-term gain (less favorable, but keeps your better lots intact for future planning). Or you sell Lot B ($1,100 basis) for a $2,400 long-term gain if, say, you need to show income for a loan application. Every choice is available to you.
Spec-ID is the only method that lets you make that call. FIFO and HIFO are deterministic rules — useful defaults, but they don’t adapt to your situation.
The Per-Wallet Consistency Rule
Here’s where it gets important for anyone with multi-chain activity: the IRS requires consistent application of your chosen method within a wallet or account. You can’t HIFO some sales and FIFO others from the same wallet in the same year. You pick a method per account and stick to it.
This matters more now with the new 2025 broker reporting rules under the Infrastructure Investment and Jobs Act. Starting with tax year 2025, brokers (read: centralized exchanges) are required to track cost basis per wallet, per account, and report it on Form 1099-DA. Your Coinbase account has a cost basis method attached to it. Your Kraken account has one. If you don’t tell the broker which method to use, they’ll use FIFO.
The practical implication: if you move coins between wallets and then sell them somewhere else, the broker sees an unknown cost basis (they don’t know what you paid on a different platform or self-custody wallet). That creates a gap — one that requires you to document the original acquisition cost yourself and make it match your method election.
Self-custody wallets — Ledger, MetaMask, any on-chain activity — are still tracked by you, not the broker. The per-wallet consistency rule applies there too, even without a 1099. The IRS doesn’t know you’re using HIFO on your MetaMask wallet, but if you’re ever audited, your records need to be internally consistent.
Which Method Should You Actually Use?
There’s no universal answer, but there are reasonable defaults:
FIFO is fine if:
- Your portfolio is simple (one exchange, infrequent trades)
- Most of your holdings are already long-term
- You don’t want to deal with per-lot tracking
HIFO is often better if:
- You’re actively trading in a bull market and need to minimize realized gains
- You have a mix of high-cost and low-cost lots and regularly take liquidity
- Your tracking is solid enough to support it (HIFO requires knowing all your lots and their basis)
Spec-ID is worth the work if:
- You’re doing serious tax planning — harvesting losses, managing short-term vs. long-term exposure, timing gains across tax years
- You have a complex multi-chain situation where generic rules produce bad outcomes
- You’re working with a preparer who can manage the documentation
For most active crypto traders with any meaningful portfolio, HIFO or Spec-ID outperform FIFO over time. The question is whether your records can support the claim. A lot of people discover they can’t — either because they didn’t track transfers properly, lost records from a defunct exchange, or used a tax tool that defaulted to FIFO without telling them.
The Catch Nobody Mentions
Switching methods is not simple. You can change your cost basis method going forward, but you can’t retroactively re-optimize past years’ returns if they’ve already been filed. If you filed 2022 and 2023 under FIFO and you want to switch to HIFO for 2024+, you start fresh from your current lot inventory — you don’t get to go back.
This is one reason it’s worth getting the method right early. The longer you trade under FIFO by default, the more locked-in you become to the lot structure that produces.
Cost basis method elections are one of the most consistently underused levers in crypto tax planning. They’re not aggressive — they’re explicitly permitted. They just require knowing they exist and having the records to back them up.
If you’re not sure which method your current return is using, that’s worth checking before you file. If you’re heading into a high-volume year or a significant liquidity event, it’s worth talking through before the sales happen — not after.
This post is general education, not tax advice. Your specific situation — holding periods, income level, state tax, wash sale exposure — affects which approach makes sense. Talk to a qualified tax professional before making method elections.
Need help with your crypto taxes? Mike Ring and the BCTP team handle the messy stuff — multi-chain DeFi, 1099-DAs that don’t add up, prior-year amendments. Free consult at cryptotaxprep.io or call 410-320-7348.
This isn’t tax advice. Talk to a professional about your specific situation.