FIFO vs. Weighted Average for Bitcoin: Which Cost Basis Method is Right?
When you sell, swap, or dispose of Bitcoin (or any digital asset), you need to calculate your gain or loss. That calculation depends entirely on which cost basis method you use — and the choice isn't trivial.
For a foundation that acquired BTC at $20K, $40K, and $90K across different tranches, the method you choose determines whether that $50K sale shows a massive gain, a modest gain, or potentially a loss.
The Three Methods
FIFO (First In, First Out)
FIFO assumes you sell your oldest holdings first.
Example: You hold 30 BTC across three lots:
- Lot 1: 10 BTC at $20,000 (Jan 2024)
- Lot 2: 10 BTC at $40,000 (Jun 2024)
- Lot 3: 10 BTC at $90,000 (Jan 2026)
You sell 5 BTC at $95,000. Under FIFO, you sell from Lot 1:
- Proceeds: $475,000
- Cost basis: $100,000
- Realized gain: $375,000 (long-term)
Weighted Average Cost
Total cost: $1,500,000 / 30 BTC = $50,000 per BTC
Same sale: Gain = $475,000 - $250,000 = $225,000
LIFO (Last In, First Out)
Selling from Lot 3: Gain = $475,000 - $450,000 = $25,000 (short-term)
Same transaction. Three methods. Gains of $375K, $225K, or $25K.
What the Standards Say
US GAAP (ASC 350-60): Doesn't mandate a specific method but requires consistent application. FIFO is most common and most accepted by auditors.
IFRS: Under IAS 2 (inventories), FIFO or weighted average only. LIFO is explicitly prohibited under IFRS.
Singapore (IRAS): FIFO or weighted average both acceptable. Specific identification permitted with proper documentation.
UAE: Generally accepts methods consistent with IFRS.
When to Use Each
FIFO — best for most situations. Widely accepted by auditors, required under IFRS for inventory, straightforward to implement and audit.
Weighted Average — best for high-volume trading. Simpler with hundreds of small acquisitions, smooths out cost basis volatility.
Specific Identification — best for tax optimization. Maximum flexibility but requires meticulous lot-level documentation.
The DeFi Complexity
Cost basis gets exponentially harder with DeFi. Every swap is a disposal and acquisition. LP deposits are effectively disposals of tokens and acquisitions of LP tokens. Staking rewards have a cost basis equal to fair value at receipt. Wrapping (ETH to WETH) is typically treated as a non-taxable basis transfer.
This is why lot-level FIFO tracking is essential for DeFi-active entities. You need to trace every token through every protocol interaction.
Our Recommendation
For most crypto companies, FIFO is the right choice. It's accepted everywhere, auditors expect it, and it produces the most conservative reported position in a rising market.
The key is implementing it correctly — with full lot-level detail, transaction hash references, and decimal-precise calculations. No rounding. No floating point. No approximations.
Heshi's cost basis engine handles FIFO lot tracking across all supported chains and protocols, with wrapped asset basis transfer and DeFi-aware disposal matching.
Need help sorting out your token cost basis? Book a demo and we'll run a free cost basis assessment.