Cost basis methods: FIFO and average cost
Last updated: 2026-08-26
Cost basis is what you paid for the coins you later sold, including fees. Realized profit or loss on a sale is proceeds minus cost basis. The question every method answers differently is: which of your coins did you sell?
Holdbound offers two methods. You switch between them on the dashboard and everything is recalculated instantly.
FIFO (first in, first out)
Each sale uses your oldest remaining units of that coin first.
Example, one account:
| Date | Action | Amount | Price | Fee |
|---|---|---|---|---|
| Jan 10 | Buy | 1 BTC | 30,000 | 30 |
| Mar 5 | Buy | 1 BTC | 50,000 | 50 |
| Jun 1 | Sell | 1 BTC | 60,000 | 60 |
FIFO sells the January coin. Cost basis = 30,000 + 30 = 30,030. Proceeds = 60,000 − 60 = 59,940. Realized gain = 29,910. The March coin, basis 50,050, is still held.
Average cost
Every unit of a coin carries the same running average price. A sale uses that average.
Same example: after the two buys, average cost = (30,030 + 50,050) / 2 = 40,040 per BTC. Selling 1 BTC: proceeds 59,940 − 40,040 = 19,900 realized gain. The remaining coin carries a basis of 40,040.
Both methods give the same total once everything is sold; they differ in when the gain shows up.
Per account or pooled
Settings → Lot pooling decides whether each exchange or wallet keeps its own lots (per account) or whether one pool per coin spans all your accounts (global). With per-account lots, a paired transfer moves the specific lots (and their purchase dates and cost) from one account to the other. Which scope is right depends on where you pay tax; the setting does not know your country.
What counts as a disposal
Sells, the coin you give up in a crypto-to-crypto trade, unpaired withdrawals, fees paid in a tracked coin, and the network fee on a transfer. What counts as an acquisition: buys, the coin you receive in a crypto-to-crypto trade, unpaired deposits, rewards, and paired transfers (which carry their original lots).
Fees: on a buy they are added to cost; on a sell they reduce proceeds; a fee paid in a third coin (BNB, for instance) is a small disposal of that coin.
When the app cannot find enough coins
If a sale is larger than the coins the app knows about in that account, the missing part keeps an unknown cost basis: the app does not invent a purchase date for it, leaves it out of the holding-period figures rather than counting it as a same-day trade, and marks the row unknown in the Basis status column of the realized-gains export (with unknown as the acquisition date and an empty holding period). The cost of that part still counts as zero in the arithmetic, so the gain on that sale reads higher than it really was — the dashboard lists it under "things worth a look" for exactly that reason. It almost always means a deposit or transfer is missing. See Transfers and matching and Troubleshooting.
Holding period on the dashboard
The holding-period card splits your closed trades by how long you held: under 7 days, 7 to 90 days, over 90 days. The 7-day and 90-day views are performance windows, not tax categories.
Which method should I use?
That depends on where you pay tax, and the app does not know. What the tax authorities say, as verified against their own publications on 2026-08-21:
- United States. For US taxpayers the IRS recognizes specific identification (with contemporaneous records) or, by default, FIFO, applied wallet-by-wallet since 2025. Average cost is a mutual-fund rule and is not a recognized method for crypto in the US. A gain is long-term only if you held the coins more than one year, counting from the day after purchase.
- United Kingdom. The UK does not use FIFO for crypto held by individuals; after the same-day and 30-day matching rules, remaining tokens are costed at the pooled (weighted-average) cost of the Section 104 pool. Each type of token has its own pool for you as an individual; the pool is not split by exchange or wallet. The app's average-cost method with global pooling is close to the pool but does not apply the same-day and 30-day rules.
- Canada. In Canada, gains on crypto held as capital property are calculated using a weighted-average adjusted cost base per coin across everything you own; you cannot choose FIFO or specific lots. The average is per taxpayer per coin, not per wallet or exchange.
Holdbound does not apply any country's rules and does not produce tax forms. It gives you the numbers under the method and pooling you choose, plus a full export; take those to the rules that apply to you, or to someone who knows them.
This article is for general information only — not financial or tax advice.