Skip to main content
“Cost basis” is probably the most important concept in crypto tax that nobody explains properly. It is the reason KoinX asks for your historical data. It is why your gains might look different on KoinX versus your exchange. And it is the foundation of every tax calculation.

What Is Cost Basis?

Cost basis is simply what you paid for your crypto. When you sell, your taxable gain is:
Gain = Sale Price - Cost Basis
Simple in theory. But here is where it gets complicated. Scenario: You bought BTC at different times:
  • January: 0.5 BTC at Rs. 15,00,000 (cost: Rs. 7,50,000)
  • March: 0.3 BTC at Rs. 18,00,000 (cost: Rs. 5,40,000)
  • May: 0.2 BTC at Rs. 20,00,000 (cost: Rs. 4,00,000)
Total: 1 BTC, total cost Rs. 16,90,000 Now you sell 0.4 BTC. Which cost basis applies? The January purchase? March? An average? This is where accounting methods come in.

Accounting Methods Explained

KoinX supports four accounting methods. Each determines which purchase lot gets matched to your sale.

FIFO (First-In, First-Out)

The default in KoinX and most jurisdictions. The oldest coins you bought are considered sold first. Using our example: Selling 0.4 BTC using FIFO:
  • 0.4 BTC from the January lot @ Rs. 15,00,000/BTC
  • Cost basis = Rs. 7,50,000 x (0.4/0.5) = Rs. 6,00,000
When FIFO works in your favour:
  • When older purchases were cheaper (higher basis reduces your gain)
  • Most straightforward and widely accepted globally
When FIFO is less ideal:
  • When recent purchases were more expensive and older lots were cheap, FIFO produces higher taxable gains

LIFO (Last-In, First-Out)

The most recently purchased coins are considered sold first. Using our example: Selling 0.4 BTC using LIFO:
  • 0.2 BTC from May @ Rs. 20,00,000 = Rs. 4,00,000
  • 0.2 BTC from March @ Rs. 18,00,000 = Rs. 3,60,000
  • Total cost basis: Rs. 7,60,000
When LIFO works in your favour:
  • When recent purchases were more expensive
  • Can reduce gains in a falling market
When LIFO is less ideal:
  • When older purchases were expensive, you may miss using those higher cost lots

HIFO (Highest-In, First-Out)

The most expensive purchase lots are sold first, regardless of when they were acquired. Using our example: Selling 0.4 BTC using HIFO:
  • 0.2 BTC from May @ Rs. 20,00,000 = Rs. 4,00,000 (highest cost)
  • 0.2 BTC from March @ Rs. 18,00,000 = Rs. 3,60,000 (next highest)
  • Total cost basis: Rs. 7,60,000
When HIFO works in your favour:
  • Minimises taxable gains in most scenarios
  • Useful when purchase prices vary significantly
When HIFO is less ideal:
  • Not accepted in every jurisdiction
  • Requires accurate, complete transaction records

Average Cost

All purchase costs are averaged together. Every unit of the asset is treated as having the same cost basis. Using our example: Total cost = Rs. 16,90,000 for 1 BTC Average cost per BTC = Rs. 16,90,000 Selling 0.4 BTC: Cost basis = Rs. 16,90,000 x 0.4 = Rs. 6,76,000 When Average Cost works in your favour:
  • Simpler record-keeping
  • Required or preferred in some jurisdictions
When Average Cost is less ideal:
  • Less flexibility for tax optimisation
  • Cannot selectively use higher-cost lots

Comparing Methods: Same Sale, Different Tax

Selling 0.4 BTC for Rs. 9,00,000:
MethodCost BasisGainTax (30% + 4% cess = 31.2%)
FIFORs. 6,00,000Rs. 3,00,000Rs. 93,600
LIFORs. 7,60,000Rs. 1,40,000Rs. 43,680
HIFORs. 7,60,000Rs. 1,40,000Rs. 43,680
Average CostRs. 6,76,000Rs. 2,24,000Rs. 69,888
Same transaction. Tax ranging from Rs. 43,680 to Rs. 93,600. The method matters.
HIFO often minimises tax, but FIFO is the default and most widely accepted. Check what is permitted in your jurisdiction before switching.

Which Method Should You Use?

SituationWorth Considering
Want simplicity and wide acceptanceFIFO
Bought recently at high pricesLIFO or HIFO
Want to minimise taxable gainsHIFO
Jurisdiction requires average costAverage Cost
UnsureFIFO
You can test different methods in KoinX by switching the setting and regenerating reports before committing to one.

Is FIFO Mandatory for India?

There is no explicit rule mandating FIFO for crypto in India. However, FIFO is the most commonly used approach, widely accepted by tax professionals, and the default method in KoinX. Unless advised otherwise by your CA or tax advisor, FIFO is generally considered the safest choice.
Generally, you can choose any accounting method that is accepted in your jurisdiction. However:
  • Some jurisdictions mandate specific methods
  • Maintaining consistency across years is strongly recommended
  • Switching methods frequently complicates record-keeping
Switching accounting methods after filing returns can create discrepancies in cost basis calculations. If you have already filed for a year, do not change the method for that year.

Can I Use Different Methods in Different Years?

Technically possible in some cases, but not recommended. Cost basis carries forward across years. Switching methods can create mismatches between years and makes records harder to reconcile. Best practice: choose one method and stick with it.

How to Change Your Accounting Method in KoinX

1

Go to Tax Settings

Click Tax Settings in the left sidebar.
2

Find Accounting Method

Look for the Accounting Method or Calculation Method option. You will see FIFO, LIFO, HIFO, and Average Cost.
Image1 6
3

Select your method

Choose your preferred method.
4

Save and regenerate reports

Save the new setting, then regenerate your tax reports to apply the updated calculations.

What happens when you change method

  1. All transactions are recalculated
  2. Different purchase lots are matched to sales
  3. Cost basis and gains change
  4. Newly generated reports reflect the updated method
Previously downloaded reports will not change.

Why KoinX Needs Your Historical Data

This is the most common source of confusion: “I am filing for FY 2024-25. Why does KoinX want my 2022 transactions?” The answer: cost basis carry-forward. If you bought crypto in 2022 and still hold it, that 2022 purchase price is your cost basis. When you sell in 2025, KoinX needs the original cost to calculate your gain correctly. Without historical data:
  • KoinX sees a sale but no corresponding purchase
  • Cost basis defaults to zero
  • Your gain is overstated or shows an error
  • You see “Insufficient Quantity” warnings
With complete historical data:
  • Every sale is matched to its purchase
  • Accurate cost basis means accurate gains
  • Clean reports with no warnings
Import data from when you first started trading crypto, not just the year you are currently filing for.

Cost Basis for Different Transaction Types

Transaction TypeCost Basis
Regular purchasePurchase price paid
Airdrops / RewardsFair market value at time of receipt (if treated as income)
Hard forksGenerally zero or fair market value at fork date (grey area in India)
Gifts receivedDonor’s original cost basis if known, otherwise fair market value at receipt

Frequently Asked Questions

Go to Tax Settings, select the preferred method in the Accounting Method dropdown, save the settings, and regenerate reports. The new method will apply to all newly generated reports.
It may be possible depending on your jurisdiction, but switching methods complicates cost basis carry-forward. The previous year’s closing lots become the current year’s opening lots. Consistency is generally the safer approach. Check with your CA before switching.
KoinX recalculates all transactions with the new method. Cost basis, gains, and reports all update accordingly. Previously downloaded reports remain unchanged, but any newly generated reports will reflect the updated method.
Previously downloaded reports remain unchanged. Any newly generated reports will reflect the updated method. If you have already filed a return using one method, avoid changing it for that financial year.
For a year you have already filed: not advisable. The filed return should match your reports. For future years: possible, but consistency is strongly recommended. Discuss with your CA before making any changes.
Yes. If you re-sync exchanges and new historical transactions are pulled in, KoinX recalculates cost basis with the additional data. More complete data means more accurate calculations, but it also means previously generated reports may show different figures compared to freshly generated ones.
This usually means KoinX does not have the original purchase data. To fix it: import older transactions from your exchanges, add manual entries for purchases you cannot import, or check whether the asset was received as an airdrop or reward (cost basis would be fair market value at receipt if treated as income).Step-by-step guide to fixing zero cost basisHow this appears as a warning in your Transactions page
KoinX calculates cost basis at the wallet or integration level, not across all exchanges combined. Purchases and sales are matched within the same wallet or exchange integration. For example, if you bought 1 BTC on Binance and 1 BTC on Bybit and sell the BTC from Bybit, the cost basis used will be from your Bybit purchases.

What’s Next?

Last modified on March 13, 2026