All prices →

Tax & Policy

How to calculate crypto cost basis in India (FIFO)

Bought the same coin at different prices, on different exchanges, then moved it to a wallet? How to work out your cost of acquisition in India, using FIFO.

"Profit = sell price − buy price" is simple until you've bought Bitcoin five times at different prices, on two exchanges, moved some to a hardware wallet, and then sold part of it. Here's how to work out the cost.

Why the method matters

If you sell 0.5 BTC out of a 1 BTC holding bought in several lots, which lots did you sell? The answer changes your cost, and so your taxable gain. Because India taxes every profitable transfer at 30% and ignores losses, getting this right matters.

FIFO: first in, first out

Under FIFO, the coins you bought first are treated as the coins you sell first. It's the most widely used method by Indian tax software and professionals, and it's easy to explain if you're ever asked.

Example

DateActionBTCPrice per BTC
Jan 2025Buy0.2₹70,00,000
Jun 2025Buy0.3₹80,00,000
Mar 2026Sell0.4₹90,00,000

Under FIFO, the 0.4 BTC sold is the 0.2 from January plus 0.2 from June:

  • Cost: (0.2 × ₹70,00,000) + (0.2 × ₹80,00,000) = ₹14,00,000 + ₹16,00,000 = ₹30,00,000
  • Sale value: 0.4 × ₹90,00,000 = ₹36,00,000
  • Gain: ₹6,00,000, taxed at 30% plus cess

The remaining 0.1 BTC keeps its June cost of ₹80,00,000 per BTC.

You can report this as two rows in Schedule VDA, one per lot, each with its own acquisition date. See how to fill Schedule VDA.

Other methods

  • Specific identification: you match a sale to specific lots. It's possible, but you need records that clearly tie the coins sold to those lots.
  • Average cost: some tools use a weighted average. It's simpler, but less precise for acquisition dates.

Pick one method, document it, and don't switch from year to year to reduce tax.

Coins moved between exchanges and wallets

Moving your own coins from an exchange to a wallet, or between exchanges, isn't a sale, so it doesn't create tax or change the cost. The problem is records: the receiving platform doesn't know what you paid.

  • Keep your original purchase records for every lot, with dates and rupee costs.
  • Note every transfer between your own accounts with transaction hashes.
  • Use crypto tax software that tracks lots across platforms, and mark internal transfers as transfers, not sales or new purchases.
  • Without records, a sale could be treated as having zero cost, making the whole sale value a gain.

Coins with no purchase price

For airdrops, mining or staking rewards, and gifts, the cost depends on how they were taxed when received. Record their rupee value on the day they arrived.

Frequently asked questions

Does the tax department require FIFO?

No method is prescribed. FIFO is common and defensible; the key is consistency.

Can I include fees in my cost?

Generally no. Only the cost of acquisition is allowed. Some professionals include the fee paid to acquire the coin as part of cost; take advice if the amounts are material.

My exchange's tax report uses a different method. Is that a problem?

Check what it uses. If you hold the same coin on several platforms, a per-exchange report may not match a portfolio-wide FIFO calculation. Pick one approach for your return. Try the numbers in the crypto tax calculator.

Sources

  • cost basis
  • FIFO
  • crypto tax
  • records

Was this guide helpful?

Free

Get the Crypto ITR checklist.

Everything to gather and check before you file crypto in your ITR, in one page.

Open the checklist →