Every crypto gain, including crypto-to-crypto swaps in India, is a taxable event under Section 115BBH of the Income Tax Act, regardless of whether the proceeds ever reach a bank account. Converting USDT to Bitcoin, swapping ETH for HBAR, or exchanging one stablecoin for another are a disposal of a virtual digital asset (VDA), and each profitable disposal creates a tax liability at the moment it occurs.
Picture the most responsible thing a retail crypto investor thinks they can do with their gains: leave them in the market. Do not cash out. Do not trigger a withdrawal. Keep the money working, stay in the ecosystem, and worry about tax when the rupees actually land in the savings account.
This is the approach millions of Indian traders follow, implying how unreported crypto tax liability accumulates faster than almost any other way.
The bank account is not the tax trigger. And the cost of not knowing this is not hypothetical. It is sitting, untracked, in the portfolios of traders across India who have been doing the responsible thing for years, while the tax clock has been running on every single swap.
Three Traders, One Wrong Assumption
The first user was new to crypto and careful about it. They had put in roughly ₹18,000 across Binance and Mudrex, converting between USDT, TRUMP, XRP, and Bitcoin, never touching INR on the way out. Their question, asked with genuine uncertainty, was whether they even needed to file an ITR since no money had ever reached a bank account.
The second case was more consequential. Signal_Persimmon8314 had been trading on Binance for three years through a specific strategy: buy USDT via P2P, then trade crypto-to-crypto across ETH, HBAR, USDT, and other tokens, never converting back to rupees. By the time they asked the question, the portfolio had grown to approximately $15,000, which at current rates is roughly ₹12.5 lakh.
In their own words: “maybe only 1 or 2 small transactions were done under ₹50,000 involving INR, and even those were minimal.” Their question was whether any tax liability had arisen over the three years of this.
The third was the most direct framing of the belief itself: does crypto need to be declared only when it hits the bank, with the specific example of selling airdropped tokens within a wallet without routing anything through a bank account at all.
All of them share a common mental model that the bank account is where taxes begin.
Where the Belief Came From and Why it Persists
The belief is not irrational, and blaming traders for holding it misses the point. Traditional investments in India work exactly this way. You sell shares, money arrives in your bank account, and you pay capital gains tax on the proceeds. The sequence is: asset sold, fiat received, tax owed. Every financial interaction most Indian retail investors had before crypto reinforced this model.
Crypto trading platforms have, in some cases, made it worse. At least one user in these discussions reported receiving messages from their platform suggesting that tax applies only when funds are withdrawn to a bank account, which directly contradicts Section 115BBH of the Income Tax Act. When the exchange you trust with your money tells you tax triggers at cash-out, it takes a specific reason to doubt that, and most retail traders have no such reason.
The reason exists regardless: Section 115BBH defines the taxable event as the transfer of a virtual digital asset, and transfer includes any exchange of one crypto asset for another.
- USDT to Bitcoin is a transfer.
- ETH to HBAR is a transfer.
- One stablecoin to another is a transfer if the conversion produces any gain over the acquisition cost.
The statute does not require rupees to be involved; it requires a VDA to change hands, and that is all.
What Three Years of Crypto-to-Crypto Trading Mean in Tax Terms
Take the second trader’s situation and map what happened across those three years under Section 115BBH.
Every time they sold ETH for USDT, that was a disposal of ETH at its INR-equivalent fair market value on the date of the trade. The gain was the difference between that value and what they originally paid for the ETH, in INR, at the time of acquisition. Every time they converted USDT to HBAR, that was a disposal of USDT, potentially at a small gain if USDT had fluctuated, and an acquisition of HBAR at the USDT’s INR value on the date of conversion. Every subsequent HBAR disposal created another taxable event.
Across three years of active P2P and crypto-to-crypto trading, the total number of taxable events could easily run into the hundreds. None of them required an INR withdrawal. None of them were invisible to the tax system once the ITD began receiving Section 194S TDS data from Indian exchanges. And none of them can be retroactively offset if some trades lost money, because Section 115BBH does not permit loss set-off.
Here is what that structure looks like for a simplified version of three trades: three swaps. Two profitable, one not. The profitable ones produce a tax liability. The losing one disappears into the framework with no benefit to the trader. The total INR withdrawals across all three: zero.
Trade | Asset disposed | INR acquisition cost | INR value at disposal | Gain or loss |
Swap 1 | 0.1 ETH | ₹18,000 | ₹24,000 | ₹6,000 gain |
Swap 2 | 500 USDT | ₹41,000 | ₹41,750 | ₹750 gain |
Swap 3 | 10,000 HBAR | ₹15,000 | ₹12,500 | ₹2,500 loss |
Tax on gains | ₹6,750 gain taxable at 30% = ₹2,205 | |||
Loss offset | Not permitted. ₹2,500 loss provides zero relief. |
The Accumulation Problem Nobody Talks About
The reason the $15,000 portfolio case is more serious than the ₹18,000 case is not just the difference in scale, but in what manual reconstruction of three years of trading history looks like.
For the new trader with ₹18,000 across two platforms, the transaction history is short enough to reconcile by hand with some effort. For Signal_Persimmon8314, three years of P2P purchases, crypto-to-crypto swaps across multiple tokens, and wallet movements are a data problem before it is a tax problem. The number of taxable events is large. The cost basis for assets acquired in 2022 needs to be denominated in INR at the exact exchange rate on the exact date of each acquisition. The records across Binance’s API, P2P history, and any other platforms used need to be consolidated into a single coherent timeline.
Without that consolidation, the trader cannot know their liability. And without knowing the liability, the only options are to guess and hope, or to wait for the system to surface it.
This is the situation KoinX sees most often among traders who come to the platform after years of active trading. People who traded under the wrong assumption and now face the task of reconstructing years of history across multiple platforms, some of which are now defunct or have changed their data export formats significantly. The reconstruction is solvable, but it is just not solvable with a spreadsheet and a memory.
KoinX is a crypto tax and portfolio reconciliation platform that combines transaction histories across 800+ exchanges and wallets for users in more than 100 countries.
Sign up on KoinX to auto-track crypto taxes across exchanges.
What the Actual Compliance Picture Looks Like
For someone in Signal_Persimmon8314’s position, KoinX imports three years of Binance history, tracks P2P purchases and crypto swaps, and generates a year-wise Schedule VDA report.
Integrate your Binance account with KoinX and generate tax-ready reports instantly on KoinX.
The output is the actual compliance picture, laid out by financial year, showing for the first time what was always true but never visible.
- Total taxable events across FY 2022-23, 2023-24, 2024-25: identified and dated
- Realised gains by financial year: separated so each year’s liability is individually calculated
- Total unreported liability across all years: the number that exists, whether or not it has ever been tracked
KoinX auto-syncs Binance, DeFi, and P2P transactions across multiple financial years.
For someone who genuinely believed their tax liability was zero because they never withdrew to INR, that view is a significant correction. It is also the beginning of getting current, which, when handled properly through revised or updated returns, is far less costly than waiting for the ITD to calculate it.
The One Rule That Changes Everything
Tax is not triggered when money hits your bank account; it is triggered when the asset is transferred.
It is the foundational rule governing how India taxes crypto, clearly stated in Section 115BBH. If this had been communicated clearly at the point of first purchase on crypto exchanges, a significant portion of the unreported tax liability currently sitting in retail portfolios across India could likely have been avoided.
The traders posting these questions on social media are working from a mental model that feels logical, has been reinforced by community consensus, and has sometimes been confirmed by platform messaging. The model is wrong. And in a framework with no loss set-off and no carry-forward, every year of trading under the wrong model creates a liability that does not diminish with time.
If you have been trading crypto without withdrawing to INR, whether for six months or three years, your tax liability may already exist. The only way to see it is to reconstruct your transaction history. The only practical way to do that across multiple years and platforms is with a tool that was built specifically for this problem.
For a complete understanding of all taxable events in Indian crypto, including swaps, staking rewards, airdrops, and P2P transactions, the crypto tax India guide covers the full framework. For traders who have already filed and need to correct past returns, the revised return guide under Section 139(5) is the right starting point.