Bybit is a go-to exchange for Indian crypto traders, especially those into derivatives and perpetual contracts. But when it comes to tax reporting, Bybit throws a curveball — the CSVs can be absolutely massive, the account structure is confusing, and everything's in USDT. Let me walk you through how to handle it all.
Understanding Bybit's Account Structure
Before you download anything, you need to understand how Bybit organizes your funds. Bybit has a Unified Trading Account (UTA) system, and your transaction history is split across account types:
- UTA (Unified Trading Account): This is where most of your active trading happens — spot, perpetuals, options, all in one account. If you've been using Bybit in 2024-25, most of your trades are probably here.
- Fund Account: This holds your deposits, withdrawals, and sometimes staking/earn products. Think of it as your Bybit "bank account" — funds sit here before you move them to trade.
You need to download transaction history from both accounts to get a complete picture of your activity. Missing one means missing trades, which means inaccurate tax calculations.
How to Download Your Bybit Transaction History
Step 1: Go to Asset Change Details
- Log in to Bybit on web (not the app — CSV export works best on desktop)
- Navigate to Assets → Transaction History → Asset Change Details
- You'll see two tabs or filters: UTA and Fund
Step 2: Download UTA History
- Select the UTA tab
- Set your date range: April 1, 2024 to March 31, 2025 (for FY 2024-25)
- Click Export
- Bybit will generate a CSV — this may take a minute if you have lots of trades
Step 3: Download Fund Account History
- Switch to the Fund tab
- Same date range
- Export as CSV
You should now have two CSV files. Some traders only have activity in one account — that's fine, just upload what you have.
The Large File Problem
Here's where Bybit gets tricky. If you're an active trader — and many Bybit users are, doing dozens of trades a day — your CSV files can be enormous. I'm talking 10,000+ rows, sometimes 50,000+. One user I worked with had a Bybit UTA export with over 80,000 rows.
Large files cause two problems:
- Browser processing limits: Parsing a 50K-row CSV in the browser can slow things down or time out
- Server upload limits: Sending all that data to a server in one go can hit size or timeout restrictions
How CryptoITR Handles This
We built specific handling for large Bybit files. When you upload a Bybit CSV to CryptoITR, here's what happens:
- The file is parsed in your browser first (client-side parsing) — no upload delay for the initial read
- If the file has more than 8,000 rows, CryptoITR automatically chunks the data — splitting it into smaller batches
- Each chunk is sent to our server separately, processed, and stored
- Once all chunks are uploaded, the tax calculation runs across the complete dataset
- You see a progress bar during upload so you know it's working
This chunking approach means even a 100K-row Bybit file gets processed without crashing your browser or timing out. It usually takes under 2 minutes for even the largest files.
USDT-Based Trading and INR Conversion
Like KuCoin, Bybit operates primarily in USDT. Your PnL, fees, funding rates — everything is denominated in USDT. Indian tax law requires INR reporting, so every number needs conversion.
Let's look at a real example. Say your Bybit data shows:
- BTC/USDT perpetual: +450 USDT profit
- ETH/USDT perpetual: -200 USDT loss
- SOL/USDT spot: +80 USDT profit
- Total fees: 35 USDT
At a conversion rate of ₹87/USDT:
- BTC profit: ₹39,150
- ETH loss: -₹17,400
- SOL profit: ₹6,960
- Fees: ₹3,045
Under Section 115BBH treatment (the conservative approach), you'd pay 30% tax on BTC profit (₹39,150) and SOL profit (₹6,960) individually. The ETH loss? Non-deductible — it can't offset your BTC or SOL gains. Your tax would be on ₹46,110 = ₹14,378 (including cess).
Under business income treatment, you'd net everything: ₹39,150 - ₹17,400 + ₹6,960 - ₹3,045 = ₹25,665 taxable at your slab rate. If you're in the 30% bracket, that's ₹7,997 — almost half the 115BBH amount.
CryptoITR shows you both calculations so you can make an informed decision.
What's in the Bybit CSV?
The Asset Change Details CSV includes a lot of different transaction types. Not all of them are taxable trades. Here's what you'll typically see:
- Trade: Actual buy/sell or futures order fills — these are the core taxable events
- Funding Fee: Periodic payments between long and short positions in perpetual contracts. These are income/expense items
- Realized PnL: The settled profit or loss when you close a futures position
- Transfer In/Out: Moving funds between UTA and Fund accounts — NOT taxable, just internal transfers
- Deposit/Withdrawal: Funds coming in or going out of Bybit — also not taxable events themselves
- Bonus/Reward: Promotional rewards from Bybit — technically taxable as income
CryptoITR's Bybit parser knows the difference. It extracts only the relevant transaction types (trades, realized PnL, funding fees) and ignores internal transfers and deposits. If you're doing this manually, make sure you don't accidentally include transfer entries as trades — that would inflate your volume and mess up your calculations.
No TDS on Bybit — What This Means
Just like KuCoin, Bybit is an international exchange and doesn't deduct 1% TDS under Section 194S. The implications are the same:
- Full tax payable by you: No TDS credit to offset. Whatever your crypto tax works out to, you pay the entire amount.
- Advance tax obligation: If your total tax liability for the year exceeds ₹10,000, you should be paying advance tax in quarterly installments (June 15, September 15, December 15, March 15). Miss this and you'll owe interest under Section 234B (1% per month from April to filing date) and 234C (1% per month for the quarters you missed).
- No 26AS entries: Your Bybit trades won't appear in Form 26AS under TDS. But — and this is a big but — the IT Department may still know about your Bybit activity through other channels, especially if you've used Indian bank accounts for deposits/withdrawals via P2P.
My advice? Don't assume international exchange activity is invisible. Report it proactively. The penalty for not reporting (up to 200% of tax evaded) is far worse than the 30% tax itself.
Step-by-Step Filing Checklist
- Download Bybit UTA Asset Change Details CSV for FY 2024-25
- Download Bybit Fund Account Asset Change Details CSV for FY 2024-25
- Upload to CryptoITR (large files will be auto-chunked)
- If you also trade on Indian exchanges, upload those too — CryptoITR supports cross-upload calculation for accurate FIFO across all your exchanges
- Review your tax summary: spot gains, futures (both treatments), TDS credit (₹0 for Bybit)
- Pay self-assessment tax via Challan 280 on the IT portal
- File ITR-2 or ITR-3 with Schedule VDA and appropriate schedules for futures
- E-verify within 30 days
Common Bybit Issues and Fixes
- File won't upload: If your Bybit CSV is extremely large (100MB+), try splitting it by date range on Bybit's site. Download January-June and July-March separately.
- Duplicate entries: Bybit sometimes shows both a "Trade" and "Realized PnL" entry for the same futures close. CryptoITR's parser handles this deduplication, but watch out if you're doing manual calculations.
- Missing data after account upgrade: If Bybit upgraded you to UTA mid-year, your pre-UTA trades might be under a different account type. Check both the legacy and UTA exports.
- Staking and Earn products: If you used Bybit Earn (staking, liquidity mining, etc.), those rewards show in the Fund account CSV. They're taxable as income — don't skip them.
Bybit's data export isn't the most user-friendly, but once you know where to look and how to handle the file sizes, it's perfectly workable. Download your CSVs, upload to CryptoITR, and your tax report is ready in minutes — even with tens of thousands of trades.
