RoundLedger
Back to insights

FIFO, LIFO, Spec-ID: choosing a cost-basis methodology for crypto

Three methodologies, three different cash-tax and reporting profiles. The choice is operational, not just tax-driven.

Visakh Sethumadhavan April 22, 2026 6 min read

Cost-basis methodology is the most consequential setup decision in any crypto subledger configuration. It decides what disposals cost, what gains and losses look like, what the close output reads as, and what the tax filing has to defend. Switching it mid-year is restatement-inducing. So pick deliberately.

FIFO — first in, first out

The default in most jurisdictions. Earliest acquisitions get consumed first when you dispose. Works well when your acquisition history is clean and roughly chronological. The accounting reads predictably and most auditors expect it.

Where it gets uncomfortable: long-running treasury positions in volatile assets. FIFO eats your oldest, often lowest-basis lots first, which tends to produce larger gains on every disposal in a rising market.

LIFO — last in, first out

Most recent acquisitions get consumed first. Inverse profile to FIFO. In a rising market, LIFO produces smaller gains on each disposal because the high-basis recent lots get consumed first. Useful for active trading treasuries where minimizing realized gains in any given period matters.

Caveats: not permitted in all jurisdictions for tax. Even where allowed, the book-tax difference (if you run books on a different method) creates schedule complexity.

Spec-ID — specific identification

You designate exactly which lot is being disposed at the moment of disposal. Maximum control over realized gains and losses. Requires real discipline at the transaction layer — every disposal has to point to a specific acquisition lot, and your subledger has to support that.

Where Spec-ID earns its complexity: large positions, sophisticated treasury teams, jurisdictions that allow it, and a willingness to actually track lot-by-lot at disposal. Where it fails: ad-hoc treasury operations that cannot consistently designate lots in real time.

The decision framework we use

  • Default to FIFO unless there is a specific reason to deviate. Auditors expect it; jurisdictions permit it; the accounting is clean.
  • Move to LIFO only when the jurisdiction allows it and there is a real reason to compress realized gains in the current period. Confirm with tax counsel before committing.
  • Choose Spec-ID only when the treasury team has the operational discipline to designate lots at disposal — and the subledger can support that workflow.
  • Never change mid-year. Pick at setup, lock it, document the decision in the close manual.

The right answer is almost always FIFO. The wrong answer is choosing one without thinking about the implications and then trying to switch.

Want this kind of operating discipline on your books?

We run crypto subledger implementations, global close, and India compliance day-to-day. If anything here fits a problem you have, let's talk.