← Back to Blog

Triangular Arbitrage Explained:
How to Profit From 3-Pair Price Loops

No coin transfers, no second exchange, no withdrawal delays. Everything happens in one loop on a single exchange — if the math works out in your favour.

What Is Triangular Arbitrage?

Most crypto arbitrage exploits price differences between two exchanges for the same asset. Triangular arbitrage is different — it exploits price inconsistencies between three trading pairs that exist on a single exchange at the same time.

The idea is simple: if you trade USDT → BTC → ETH → USDT in a complete loop, you should end up with exactly as much USDT as you started with, since all three exchange rates should be perfectly consistent with each other. When they're not — even briefly — the loop produces a profit.

Definition

Triangular Arbitrage

A strategy that executes three sequential trades on a single exchange — converting Asset A → B → C → A — to exploit temporary price misalignments between the three pairs. If the cross-rates are inconsistent, the trader ends the loop with more of Asset A than they started with.

The Trade Loop — Visualised

Every triangular trade follows the same triangular structure. Here's the classic USDT → BTC → ETH → USDT loop:

Triangular arbitrage loop — single exchange
USDT START BTC LEG 1 ETH LEG 2 BTC/USDT ETH/BTC ETH/USDT IF LOOP MISALIGNED USDT(end) > USDT(start)

Each edge of the triangle represents one trade. The direction of the arrows shows which way the conversion flows. The profit comes from the fact that the implied exchange rate from going around the loop doesn't quite equal 1.0 — it equals 1.003, or 1.005, or whatever the current misalignment happens to be.

Step-by-Step Example With Real Numbers

Let's walk through a concrete trade on a single exchange. Assume you start with $1,000 USDT and spot the following live rates:

BTC/USDT price$68,000
ETH/BTC price0.0522 BTC per ETH
ETH/USDT price$3,570 (should be 68,000 × 0.0522 = $3,549.60 — but it's higher)

The ETH/USDT price of $3,570 is slightly above where it "should" be given the BTC/USDT and ETH/BTC rates. This misalignment is the opportunity. Here's the full trade:

Leg 1 — Buy BTC with USDT

Spend $1,000 USDT on the BTC/USDT market at $68,000

$1,000 ÷ $68,000 = 0.014706 BTC

After 0.1% fee: 0.014691 BTC

Leg 2 — Convert BTC to ETH

Sell 0.014691 BTC on the ETH/BTC market at 0.0522 BTC per ETH

0.014691 ÷ 0.0522 = 0.28143 ETH

After 0.1% fee: 0.28115 ETH

Leg 3 — Sell ETH back to USDT

Sell 0.28115 ETH on the ETH/USDT market at $3,570

0.28115 × $3,570 = $1,003.70 USDT

After 0.1% fee: $1,002.70 USDT

Started with$1,000.00 USDT
Gross result (3 legs)$1,003.70 USDT
Total fees (0.1% × 3 trades)−$1.00
Net profit+$2.70 (+0.27%)

$2.70 on $1,000 in a single loop. That might not sound like much — but the loop takes under a second, and the same trade can theoretically run many times per minute if automated.

<1s
Typical execution window before gap closes
0.1–0.5%
Typical profit range per successful loop
Trading fees paid per loop (one per leg)

Why Manual Execution Is Nearly Impossible

The reason triangular arbitrage is considered an advanced strategy comes down to one fundamental constraint: speed. The misalignment that creates the opportunity is typically corrected within milliseconds on active exchanges, because automated bots from market makers and other arbitrageurs are constantly scanning for exactly these situations.

By the time a human identifies the opportunity, calculates the expected profit, and places three separate orders — the gap is almost certainly already gone. What's worse, if Leg 1 fills but Leg 2 no longer shows a profit, you're now holding BTC with no exit plan that preserves your original USDT balance.

⚠ The Partial-Fill Problem

If Leg 1 fills but Leg 2 or 3 becomes unprofitable or doesn't fill at your expected price, you're left with an unhedged position. In a volatile market, BTC or ETH could move against you while you're mid-loop. This is why most serious triangular arbitrage is fully automated — all three orders are pre-computed and submitted simultaneously or sequentially at machine speed.

When Triangular Arbitrage Works

Opportunities are more likely to appear — and survive long enough to act on — under specific market conditions.

✓ Favourable conditions
  • High market volatility — prices move faster than bots can correct
  • Newly listed altcoins with thin order books
  • Exchange API latency spikes causing temporary rate mismatches
  • Low-fee accounts (VIP tiers) that keep net profit positive even on small gaps
  • Automated execution via bot or script
✗ Unfavourable conditions
  • Stable, low-volatility markets — gaps close instantly
  • High trading fees eating the entire spread
  • Manual execution — too slow vs algorithmic competition
  • Low-liquidity pairs where your order moves the price
  • Wide bid/ask spreads that eliminate apparent profit on execution

Triangular vs Cross-Exchange Arbitrage

These are the two most common forms of crypto arbitrage, and they're often confused. Here's the key structural difference:

Cross-Exchange
Same asset, two exchanges
BTC costs $68,200 on Exchange A and $68,600 on Exchange B. Buy on A, sell on B. Requires capital on both exchanges and typically involves coin transfers or pre-positioned funds.
VS
Triangular
Three pairs, one exchange
BTC/USDT, ETH/BTC, and ETH/USDT rates are briefly inconsistent on the same exchange. Execute three trades in a loop. No second exchange needed, no transfers.
Which Is Better for Beginners?

Cross-exchange arbitrage (especially funding rate arb) is generally more accessible. Triangular arb requires either very fast manual execution or coding a bot — and even then, you're competing against institutional-grade algorithms that have been doing this for years. It's worth understanding triangular arb deeply, but it's rarely the first strategy to deploy real capital on.


How to Spot a Triangular Opportunity

The mathematical test is straightforward. For any three pairs A/B, B/C, and A/C, calculate the implied cross-rate and compare it to the actual market rate.

📐 The Cross-Rate Formula

For the USDT → BTC → ETH → USDT loop:

Implied ETH/USDT = BTC/USDT × ETH/BTC

= $68,000 × 0.0522 = $3,549.60

If the actual ETH/USDT market price is $3,570 — that's $20.40 above implied. The loop will be profitable in the direction that exploits this gap (USDT → BTC → ETH → USDT).

If actual ETH/USDT is $3,530 — below implied — the loop runs in the opposite direction: USDT → ETH → BTC → USDT.

Most traders who do this seriously build a script that monitors 20–50 coin triplets simultaneously, recalculates the cross-rate every 100ms, and fires orders automatically when the spread exceeds a set threshold (e.g. 0.4% after fees).


Frequently Asked Questions

Can I do triangular arbitrage manually?
In theory yes, but in practice it's extremely difficult. Gaps close in milliseconds on major exchanges. Some traders have success on lower-volume exchanges where the competition is thinner, but even there, it requires very fast execution. Most practitioners use automated bots.
Which exchanges are best for triangular arb?
Exchanges with the most trading pairs and the highest API rate limits — Binance leads here. More pairs means more possible triplets to scan. Binance also offers a WebSocket feed for real-time price updates, which is essential for low-latency scanning.
How much capital do I need?
The strategy itself has no hard minimum, but trading fees become proportionally more damaging at small sizes. With $500–$1,000 and a 0.27% edge after fees, you'd net $1.35–$2.70 per loop. Capital of $5,000–$10,000+ makes it meaningfully profitable per trade.
Does ArbVertex signal triangular arbitrage opportunities?
ArbVertex signals focus primarily on cross-exchange and funding rate arbitrage, which offer more consistent and accessible opportunities for individual traders. Triangular arb is covered as an educational topic so you understand the full spectrum of arbitrage strategies.
What happens if one of the three legs doesn't fill?
This is the core execution risk. If Leg 1 fills (you bought BTC) but Leg 2 can't fill at a profitable rate, you're holding BTC with directional exposure. You can either hold and wait, or sell back to USDT at a small loss. This is why having limit orders ready for all three legs before executing is important — or using a bot that handles this automatically.
☰ Blog ← Prev: Funding Rate Arbitrage Next: Cross-Exchange Arbitrage →