What is triangular arbitrage?
Triangular arbitrage exploits price inconsistencies between three trading pairs on the same exchange. The canonical example uses BTC/USDT, ETH/USDT, and ETH/BTC. If the implied ETH/BTC rate from the two USDT pairs differs from the direct ETH/BTC market quote, a trader can cycle through all three pairs to lock in the spread. For instance: if BTC/USDT = 60,000, ETH/USDT = 3,000, then implied ETH/BTC = 0.05. If the direct ETH/BTC market quotes 0.0502, an arbitrageur can sell ETH at 0.0502 BTC, buy BTC with USDT at 60,000, and end up with more ETH than they started with — locking in the 40 bps spread.
The trade mechanics
Three legs executed atomically: Start with 1 ETH. Sell 1 ETH for 0.0502 BTC (direct ETH/BTC market). Sell 0.0502 BTC for 3,012 USDT (0.0502 × 60,000). Buy ETH with 3,012 USDT at 3,000 USDT/ETH = 1.004 ETH. You now hold 1.004 ETH vs the original 1 ETH — a 40 bps gross gain. Subtract three sets of trading fees (typically 0.02-0.05% per leg on a pro fee tier) and the net gain is ~25-35 bps per cycle. Triangular opportunities are small (1-10 bps gross) and short-lived (sub-second) because market-making bots arbitrage them within milliseconds.
Who trades triangular arbitrage?
Dominated by high-frequency market-making bots with co-located servers at exchange data centers and latency-optimized execution paths. Individual retail traders can't compete at this game — by the time you've manually placed three orders, the opportunity has closed. Triangular arbitrage is primarily relevant to quant funds, market makers, and algorithmic traders with sub-millisecond execution. For retail traders, triangular arb is more useful as a concept — it's the mechanism that keeps quote currencies (USDT, USDC, BTC, ETH quote pairs) tightly linked across pairs on major exchanges.
Why triangular arbitrage matters even if you don't trade it
Understanding triangular arbitrage explains why: (1) BTC/USDT, ETH/USDT, and ETH/BTC pairs stay near-perfectly aligned across all liquid exchanges — any dislocation is arbitraged away in milliseconds; (2) illiquid exchanges or thin quote pairs occasionally show meaningful triangular dislocations — a sign of poor liquidity or pair-routing issues; (3) cross-exchange triangular opportunities are different from intra-exchange — they require transfer costs and time which eliminates the sub-second window. For arbitrageurs interested in capital deployment with retail-accessible edge, spot-perp funding rate arbitrage (see /arbitrage/guide/funding-rate-arbitrage) and cross-exchange basis trades are more appropriate than triangular.
Detecting triangular opportunities
Market-making bots scan thousands of triangles per second across quote currencies (USDT, USDC, BTC, ETH, BUSD, DAI) on each exchange. The detection logic: compute implied rate from the two anchor pairs, compare to the direct market rate, flag if the difference exceeds fees + slippage + execution cost. Dedicated triangular arb bots on GitHub (freqtrade, Hummingbot) provide open-source starting points but rarely generate meaningful profit in production — they're essentially paying the exchange maker rebate while racing against much faster HFT competitors.
Limitations and when it breaks
Triangular arbitrage opportunities emerge and close within sub-second windows. They also concentrate on specific pair structures: pairs with low liquidity, new listings with thin markets, or exchanges with order-matching latency issues. During extreme volatility (FOMC, CPI, major news events), triangular opportunities can briefly reach 50-200 bps as the order book reprices — but execution risk during these windows is high (partial fills, price slippage, market-maker quote withdrawal). Most retail attempts to capture vol-event triangular arb end up worse than simply holding cash through the event.

