If you've read about P2P arbitrage in theory, the practical walkthrough makes it concrete. Here's a real-world example from start to finish.
Step 1 — Spot the opportunity
Open OpenRate.live. Watch the markets table. You see Bybit USDT/INR at ₹91.10 on best buy, Binance USDT/INR at ₹91.65 on best sell. Gap: 55 paise.
On a ₹1L trade, that's a gross ₹600 — but you'll pay tax on the gain. Net is roughly ₹350-400.
Step 2 — Confirm depth
Click into Bybit's ad. Confirm available amount is ≥ your trade size. Same on Binance.
If either is shallow, scale down your trade size to match the smaller side.
Step 3 — Execute the buy leg first
On Bybit: Buy USDT at ₹91.10. Pay via UPI. Get USDT in your spot wallet. ~3 minutes.
Step 4 — Transfer USDT
On Bybit: Withdraw USDT to your Binance deposit address. TRC-20 network. ~3 minutes for credit.
Step 5 — Execute the sell leg
On Binance: Sell USDT at the best buy ad. Now this is where speed matters — by the time you're here, the spread may have moved. If you can still get ≥ ₹91.50, take it. If it's slipped to ₹91.30, decide whether the reduced spread is still worth it.
Step 6 — Receive INR + book the trade
Buyer pays you. Verify and release. INR credit ~3 minutes.
Update your tracking sheet: two trades, one buy and one sell, both as VDA transfers.
Tax on the round-trip
Total flow: bought USDT for ₹1,00,000, sold for ₹1,00,550 (a 55-paise gain × ~1100 USDT). Capital gain: ₹550. Tax: 30% × ₹550 = ₹165. Net: ₹385.
1% TDS deducted on each side: ~₹2,000 total reflected in 26AS, recoverable via ITR.
Key takeaways
- Spot opportunity: cross-venue gap of 30+ paise.
- Execute fast — spreads close in minutes.
- Net = gross spread − 30% tax − network fees.
- Track every leg as a separate VDA transfer for ITR.