What could be the reason for not allowing loss setoff in crypto?

I believe the main reason for not allowing crypto loss setoff is to prevent the rupee from leaving India and negatively affecting the Indian economy. Since most traders incur losses, this results in rupees flowing out of the country. For instance, if I trade 100 USDT and lose 50 USDT, that loss could be to a foreign trader. The rupees spent to buy that 50 USDT would essentially leave India permanently.

The liquidity on CoinDCX is global. They have integrated an international exchange order book for their spot and futures USDT pairs. So, whether you trade on CoinDCX or Binance, your orders are matched against global traders.

The USDT we lose goes to global traders. The rupees used to buy that lost USDT have effectively left India forever. That’s why they penalize losing trades by not offsetting the loss.