VDALedger

Crypto tax, worked out in full

Moved crypto between exchanges? Your tax report may be badly wrong

This is the single most expensive mistake in Indian crypto tax, it is silent, and the number it produces looks perfectly plausible.

Suppose you bought 1 BTC on one exchange for ₹50,00,000. Later you moved it to a second exchange — same coins, still yours, nothing sold. Months after that you sold it there for ₹52,00,000.

You made ₹2,00,000. Tax at 30% plus 4% cess is ₹62,400.

Now here is what a careless calculation does with the same history:

What goes wrong

It sees a withdrawal from exchange A and treats the coins as gone. Then it sees a deposit at exchange B and treats those coins as though they appeared from nowhere — with a cost of zero. When you sell, there is nothing to subtract, so the entire ₹52,00,000 becomes your "gain".

 CorrectWhat a broken report shows
Sale value₹52,00,000₹52,00,000
What you paid₹50,00,000₹0
Taxable gain₹2,00,000₹52,00,000
Tax + cess₹62,400₹16,22,400

Twenty-six times the real liability, on one ordinary transfer.

Why this happens so often

An exchange export is a record of what happened on that exchange. It cannot know where your coins came from or where they went. Binance does not know you sent that bitcoin to CoinDCX; CoinDCX does not know you bought it on Binance eighteen months earlier for a quarter of today's price.

So if you hand a tool one exchange's file, it is working with a fragment. And the way it handles the gaps in that fragment decides whether your number is right or absurd. Three behaviours are common, and only one of them is safe:

  1. Assume a cost of zero and carry on. Produces the ₹16 lakh figure above. No error, no warning, just a confident wrong number.
  2. Treat the withdrawal itself as a sale. Invents a disposal that never happened — often at a price of ₹0, which books a vast fake loss and then, because Indian rules do not allow loss set-off, that loss does nothing for you at all.
  3. Match the transfer, keep the original cost, and say so. The only correct answer — and when it genuinely cannot match a transfer, say which coins are affected instead of guessing.

How to check your own report in two minutes

You do not need a tool to do this. Take any crypto tax report you have and ask three questions:

What the law actually says

Moving your own coins between your own accounts is not a transfer for consideration. You have not disposed of anything and nobody has paid you, so there is no taxable event and nothing about your cost of acquisition changes. Tax arises under Section 115BBH — Section 194 of the Income-tax Act 2025 for transfers from 1 April 2026 — when you dispose of a virtual digital asset, and the only deduction allowed is what you paid for it. A transfer between your own wallets is neither.

Which means a report that taxes you on a transfer is not applying a debatable interpretation. It has simply lost your data.

One caveat worth knowing

A withdrawal is only a non-event if the coins really did come back to you. If you sent crypto to someone else — spent it, gifted it, paid for something — that is a disposal and it is taxable. A wallet record on its own cannot tell the difference between "moved to my own hardware wallet" and "paid a supplier", so if some of your withdrawals were really payments, they need to be entered as sales.

Check it against a calculation that shows its working

VDALedger matches transfers between your own accounts and keeps the original cost basis through the move. Where it cannot find a purchase for coins you sold, it tells you which coins, which trade, and what to do about it — rather than quietly assuming zero. And every figure opens up into the full working: which purchase each sale consumed, bought on what date, from which file, at what price.

It runs in your browser. Nothing is uploaded and there is no account.

Work out your own position

Drop your exchange exports into the calculator and open up every number it produces. It runs entirely in your browser — no account, no upload, and your files never leave your device.

Open the crypto tax calculator