Crypto cost basis methods explained: FIFO, LIFO, and average cost
16 mins read

Crypto cost basis methods explained: FIFO, LIFO, and average cost

Last updated: September 10, 2026

Key Takeaways

  • Under FIFO, the earliest coin out is the $1,000 lot, so your gain is $1,500 before any fees.
  • Under LIFO, the newest coin out is the $2,000 lot, so your gain is $500 before fees.
  • Use the exact units, such as 0.125 BTC or 2,500 USDC, and keep one line per transaction.
  • A qualified tax adviser or crypto accountant can save time here, especially if you have more than 100 transactions in a year. Handy. Not cheap, though.

Crypto cost basis methods explained: FIFO, LIFO, and average cost help you match outgoing crypto to the right acquisition lots so you can calculate gain or loss correctly. This guide keeps the focus on crypto cost basis methods explained: FIFO, LIFO, and average cost, with practical examples. Tax rules differ by country and change often, so check local guidance or speak with a qualified tax adviser before filing.

Who this applies to, and what it assumes you already know

Crypto cost basis methods explained: FIFO, LIFO, and average cost

Anyone with more than one crypto purchase and a later disposal falls into this bucket. Buy 0.5 BTC in January, add 0.25 BTC in March, then sell 0.3 BTC in July, and you need a rule for deciding which purchase lots those 0.3 BTC came from. That decision is cost basis tracking. A “lot” is one discrete acquisition at one date and one price.

I’m assuming you already know the basic tax idea: proceeds minus cost basis equals a gain or loss, before any country-specific adjustments, holding-period rules, or local exemptions. I’m also assuming you keep at least some records: dates, quantities, fiat values, fees, and wallet or exchange transaction IDs. No records? Then the method matters less than rebuilding the data cleanly.

This topic is for people with taxable crypto activity, not casual holders who only bought once and never moved the asset. It matters less if your jurisdiction treats crypto in a special pooled way from the start, because then the method may be fixed by law rather than chosen by preference; check the local authority or a qualified professional. In the United States, for example, the IRS has specific recordkeeping expectations for digital assets; in the UK, HMRC has its own pooling rules that are not the same as FIFO or LIFO. I’m naming those bodies because the local authority, not a generic article, controls the result.

Stop treating this as a simple “buy then sell” problem if your activity includes staking rewards, airdrops, mining, wrapped tokens, hard forks, or business inventory treatment. Those events can create separate tax questions, and the cost basis method alone will not solve them.

What is crypto cost basis, exactly?

Crypto cost basis is the amount you treat as your starting value when you calculate gain or loss on a disposal. For a plain purchase, that usually means what you paid in fiat plus certain transaction costs that your tax rules allow you to include; consult a qualified tax adviser because treatment varies by jurisdiction. For many tax systems, gas fees, exchange fees, and similar acquisition costs may affect basis, but the exact treatment depends on jurisdiction.

The messy part is how often crypto gets bought in pieces. If you buy the same token on five different dates, you do not have one single basis number anymore; you have five lots, each with its own quantity, cost, and date. When you dispose of part of the holdings, you must match the outgoing units to one or more of those lots. Like trying to sort mixed receipts after a long weekend. Not fun.

That is where crypto cost basis methods explained: FIFO, LIFO, and average cost come in. They are matching methods. They do not change what you paid. They change which purchase you are deemed to have sold first. In a spreadsheet, that may sound like bookkeeping. On a return, it changes the numbers.

Suppose you bought 1 ETH at $1,000, then 1 ETH at $2,000, and later sold 1 ETH for $2,500. Under FIFO, the earliest coin out is the $1,000 lot, so your gain is $1,500 before any fees. Under LIFO, the newest coin out is the $2,000 lot, so your gain is $500 before fees. Under average cost, both lots are blended, so the basis for each unit would be $1,500, and the gain would be $1,000 before fees, assuming your local rules allow that method.

That difference is not a trick. It is the tax consequence of a matching rule.

How FIFO, LIFO, and average cost work step by step

Crypto cost basis methods explained: FIFO, LIFO, and average cost

Match each disposal to the acquisition lots in the order your method requires, then calculate gain or loss lot by lot. I’d do this in a spreadsheet or tax software that shows the lot math line by line, because one hidden error can skew every later sale.

  1. List every acquisition as a separate lot. Record the date, asset, quantity, fiat value, and fees for each buy, receive, or other basis-creating event. Use the exact units, such as 0.125 BTC or 2,500 USDC, and keep one line per transaction. Check that each lot has a source record from an exchange statement, wallet export, or blockchain transaction log. Things go sideways fast if you round quantities too early or mash buys from different days into one number.
  2. Choose the method your tax rules allow. FIFO means first in, first out; LIFO means last in, first out; average cost means each unit shares one pooled basis. See whether your country permits all three or only one of them for crypto. A problem shows up if you assume a U.S. stock rule applies to crypto in your country, or if your tax software defaults to a method you cannot legally use.
  3. List each disposal separately. Record every sale, swap, or spend as its own event with date, quantity removed, and proceeds in fiat terms. Swapped 0.4 ETH for another token? That still counts as a disposal in many tax systems. Verify that the quantity disposed is less than or equal to the quantity you held at that moment. Transfers to another wallet are the usual trap here.
  4. Apply FIFO lot matching from oldest to newest. Under FIFO, the earliest acquired units are matched first until the disposal quantity is filled. If you sold 0.3 BTC and your earliest lot was 0.2 BTC bought on 2 January, that lot is fully consumed and the remaining 0.1 BTC comes from the next oldest lot. Make sure lot quantities do not go negative. Skip a partially used lot, and the ledger starts lying.
  5. Apply LIFO from newest to oldest if your jurisdiction allows it. Under LIFO, the latest acquired units are matched first. If your newest lot is 0.15 BTC, that lot is used before any older lot. Make sure your records clearly show the acquisition date order, because one missing timestamp can flip the result. An exchange export that sorts deposits out of order can really throw sand in the gears if you trust it blindly.
  6. Apply average cost only as a pooled method, not as a retroactive guess. Add the pooled cost of all eligible units and divide by the total pooled quantity to get one average basis per unit. Use that single basis for each unit disposed until the pool changes again. Confirm that your jurisdiction treats the asset and account type as eligible for average cost; many do not allow it for every crypto asset, so consult local guidance or a tax professional. Mix pooled and specific-lot methods without a rule that permits the mix, and the math turns muddy.
  7. Calculate gain or loss for each matched portion. Subtract the matched cost basis from the proceeds assigned to that portion. Keep the math at the lot level if fees, spreads, or partial fills differ. Make sure proceeds and basis use the same currency and same measurement date. Comparing token proceeds in one currency with cost in another without conversion on the correct date is asking for trouble.
  8. Carry forward the remaining lots or pool balance. After each disposal, reduce the remaining quantity and cost basis accordingly. Keep a running ledger so the next event starts from the correct balance. Check that the ending quantity equals what is actually in your wallet and exchange accounts, excluding lost keys or unrecoverable transfers if your rules treat those differently; if in doubt, consult local guidance or a qualified adviser. If your ledger says you own 2.4 ETH but your wallets show 2.1 ETH, something is off.

The real difference between the methods is mostly the matching order. FIFO usually uses your oldest, and often cheapest, units first. LIFO uses your newest, and often most expensive, units first. Average cost smooths the basis across the pool, which can make reporting simpler but can also blur the tax effect of individual purchases.

I wouldn’t treat any method as a tax-planning shortcut. It is a reporting method first. The actual outcome depends on acquisition prices, disposal prices, holding periods, and local tax rules.

Which method does what to your numbers?

FIFO, LIFO, and average cost can produce very different gains from the same wallet history because they pull different lots into the calculation. The method matters most when prices move a lot between your purchases.

FIFO is the most intuitive because it follows the actual chronology of your buys. If your earliest units were cheap, FIFO often reports a larger gain on a later sale. If your earliest units were expensive, FIFO can do the opposite. So FIFO is not automatically “bad” or “good”; it simply tracks age order.

LIFO flips that order. In an inflationary or rising-price market, LIFO often assigns newer, higher-cost lots to the sale first, which can reduce a taxable gain in the short term under some systems. But that does not make it a universal winner. If prices fell after your latest buy, LIFO can increase the gain or reduce the loss. It is also not widely allowed for crypto in many places, so the method can be unusable even if it looks attractive on paper.

Average cost turns the whole pool into one blended unit price. That can be easier when you have many small buys, but it can obscure the fact that you bought at very different prices across the year. It also depends heavily on whether your jurisdiction permits pooling and whether it requires separate pools by asset, wallet, or account type. In the UK, for example, “share pooling” under HMRC rules is not the same thing as a free choice among FIFO, LIFO, and average cost.

Think of it this way: if you bought 3 units at $10, $20, and $40, your average basis is $23.33 per unit. FIFO would treat the first unit sold as the $10 unit; LIFO would treat it as the $40 unit. The same 1-unit sale can therefore produce three different gains, even before fees.

That is why a generic “which one saves more tax?” article is usually the wrong frame. The real question is not which method is best in the abstract. It is which method your tax rules permit, and which one fits your records without producing hidden errors.

What do crypto taxes allow where I am?

Crypto tax rules do not use one global standard, so the method you can use depends on your country and sometimes on the type of account or asset. In some places, specific identification of lots is allowed if you can prove which units were sold. In others, pooling rules or statutory formulas override your preference. In still others, the reporting software used by exchanges may not align with the tax authority’s method.

That’s why I would never pick a method before checking the local authority guidance. The IRS, HMRC, and the ATO all publish guidance pages that are worth reading directly because the details matter more than the label on the method. If you are in Canada, Australia, the UK, the U.S., or any country with active digital-asset guidance, the local tax office is the source of truth, not a blog post. See the IRS digital assets guidance, HMRC cryptoassets manual, and ATO cryptocurrency tax guidance for the authoritative baseline.

Here are the edge cases that change the answer:

  • If you transfer crypto between your own wallets, that is usually not a disposal, but your records must preserve the lot history.
  • If you use a platform that auto-converts assets during a trade, the taxable event may occur at the trade step, not the later withdrawal.
  • If you have tokens from staking, mining, or airdrops, the initial basis can be different from a normal purchase.
  • If your jurisdiction uses a pool, average cost may be the only acceptable approximation, and FIFO or LIFO may be unavailable.
  • If you hold through a business entity, inventory accounting or other commercial rules may override personal-investor logic.

One more practical issue: exchanges sometimes export transaction histories with missing fee data, delayed timestamps, or mislabeled transfers. A method that is allowed on paper can still produce a wrong return if the input data are messy. This is where a qualified tax adviser or crypto accountant can save time, especially if you have more than 100 transactions in a year.

The mistakes people actually make, and what they cost

The most common mistake is treating every outgoing transaction as if it came from the same “average” pile when the law does not allow that. The consequence is an incorrect gain or loss figure, which can mean an amended return, penalties, or an audit trail you cannot defend. The correct alternative is to follow the exact method your jurisdiction allows and document each lot.

Another error is ignoring fees. If an exchange charged a fee on acquisition or disposal, that fee may affect basis or proceeds depending on local rules. Leaving it out can overstate gains. The fix is to capture fees per transaction, not as a year-end guess.

A third mistake is mixing up transfers and disposals. Moving BTC from one wallet to another is usually not a sale. Misclassifying it can create phantom gains. The correct alternative is to keep transfer records separate and preserve the original lot tags.

A fourth mistake is rounding too aggressively. Rounding 0.00012345 BTC to 0.0001 BTC on every line can create quantity drift after dozens of transactions. The consequence is a ledger that no longer matches the wallet. Keep full decimal precision in the working file and round only on the final tax form if the form requires it.

A fifth mistake is assuming average cost is universally simpler. It can be simpler for a single pooled account with stable activity, but it can be a nightmare if your records are fragmented across exchanges and wallets. Use crypto cost basis methods explained: FIFO, LIFO, and average cost only if your local rules and account structure actually support it.

Leave a Reply

Your email address will not be published. Required fields are marked *