ArbTide

What Is Triangular Arbitrage? A Worked Three-Pair Example

Triangular arbitrage trades three pairs on one exchange, such as USDT to BTC to ETH and back, to profit from mispriced cross rates. See an example with fees.

Updated

Triangular arbitrage is a loop of three trades on a single exchange that starts and ends in the same currency, capturing a gap between one pair's price and the rate implied by the other two pairs. A common loop is USDT to BTC, BTC to ETH, then ETH back to USDT. If the three prices are slightly inconsistent, you finish with more USDT than you started with.

Key takeaways

  • The loop uses three pairs that share currencies, such as BTC/USDT, ETH/BTC and ETH/USDT.
  • It works when a cross rate is out of line with the direct rate.
  • There are no transfers, so there is no network delay or withdrawal fee.
  • You pay a trading fee on each of the three legs, which usually decides profitability.
  • Opportunities are small and brief, and most are captured by automated bots.

How triangular arbitrage works

On any exchange, many coins trade against more than one quote currency. ETH may trade against USDT and against BTC, and BTC trades against USDT. These three prices are linked. If BTC is $60,000 and one ETH costs 0.05 BTC, then ETH "should" cost about 60,000 × 0.05 = $3,000. This is the implied cross rate.

When the direct ETH/USDT market drifts away from that implied rate, a loop through all three pairs can return a profit. Each market has its own order book and its own traders, so small inconsistencies appear whenever one market moves before the others catch up.

Remember two rules when you calculate a loop:

  • When you buy, you pay the ask (the lowest sell offer).
  • When you sell, you receive the bid (the highest buy offer).

Using mid prices or last traded prices overstates the profit, because it ignores the bid-ask spread on each of the three pairs.

Worked example: USDT to BTC to ETH to USDT

Assume these illustrative prices on one exchange, with a 0.1% taker fee on every trade and 10,000 USDT to start:

Pair Side you trade Price
BTC/USDT Buy BTC at the ask 60,000
ETH/BTC Buy ETH at the ask 0.05000
ETH/USDT Sell ETH at the bid 3,012

The implied ETH price is 60,000 × 0.05 = $3,000, but the direct market bids $3,012. ETH is cheaper through BTC, so the loop buys it that way and sells it directly.

Leg Calculation Result
1. Buy BTC with USDT 10,000 ÷ 60,000 × 0.999 0.166500 BTC
2. Buy ETH with BTC 0.166500 ÷ 0.05 × 0.999 3.326670 ETH
3. Sell ETH for USDT 3.326670 × 3,012 × 0.999 10,009.91 USDT

The loop turns 10,000 USDT into 10,009.91 USDT, a net profit of $9.91, or about 0.10%.

Without fees, the same loop would return 10,000 ÷ 60,000 ÷ 0.05 × 3,012 = 10,040 USDT, a 0.40% gross edge. Three fees of 0.1% each take about 0.30%, which is three quarters of the edge. If the mispricing were 0.30% or less, the loop would lose money.

The general formula

For any loop, multiply the conversion factor of each leg:

Result = start amount × rate₁ × rate₂ × rate₃ × (1 − fee)³

  • When you buy the base currency of a pair, the rate is 1 ÷ ask.
  • When you sell the base currency, the rate is the bid.

In the example: 1 ÷ 60,000 × 1 ÷ 0.05 × 3,012 = 1.0040, and 1.0040 × 0.999³ ≈ 1.00099. Any result above 1 is a profit before slippage.

Every loop can also run in the opposite direction, for example USDT to ETH to BTC to USDT. Usually at most one direction is profitable at a time, so a scanner checks both.

Why it is harder than it looks

Speed. The three trades happen one after another. If a price moves between leg 1 and leg 3, the edge can vanish and leave you holding BTC or ETH you did not want. Automated traders colocated near exchange servers react far faster than a person clicking through three order screens.

Depth. The best bid or ask may show only a small amount. In the example, if only 1 ETH is bid at $3,012 and the next level is lower, selling 3.33 ETH pays slippage that can erase a 0.10% profit.

Fees. Three taker fees are a heavy drag. Traders with lower fee tiers, fee discounts, or who use limit orders as makers on some legs have a structural edge. Placing a limit order cuts fees but adds the risk that a leg does not fill. As a rough rule, the gross edge must beat three times your fee rate plus expected slippage. With 0.1% fees that is about 0.3%; with an assumed 0.02% fee it would be about 0.06%.

Minimum order sizes and rounding. Exchanges round quantities to fixed step sizes and set minimum order values, which leaves small leftover balances and slightly changes the math.

Cost or risk Effect on the loop
Three taker fees Roughly 3 × the fee rate taken from the gross edge
Bid-ask spreads Already included if you use bid and ask, ignored if you use mid prices
Slippage Grows with order size relative to book depth
Latency between legs Price can move before the loop completes
Partial fills Leaves you holding an intermediate currency

Triangular vs cross-exchange arbitrage

Triangular arbitrage stays on one exchange. Cross-exchange arbitrage buys a coin on one venue and sells it on another. The triangular version avoids transfers and keeps all funds with a single counterparty, but it needs three fills instead of two and usually finds much smaller edges, because bots trading on the same exchange keep its pairs closely aligned.

How ArbTide helps

ArbTide focuses on cross-exchange price and funding opportunities, which you can scan live on the arbitrage scanner. To estimate the fee drag of a multi-leg trade before you place it, use the trading fee calculator.

Frequently asked questions

What is triangular arbitrage in crypto?
Triangular arbitrage is a sequence of three trades on one exchange that starts and ends in the same currency, such as USDT to BTC, BTC to ETH, and ETH back to USDT. It profits when the price of one pair is out of line with the rate implied by the other two.
How do you calculate triangular arbitrage?
Multiply the conversion rates of all three legs, using the ask when you buy and the bid when you sell, and then multiply by one minus the fee for each trade. If the result is above 1, the loop returns more than you started with.
Is triangular arbitrage still profitable?
On major pairs at large exchanges, mispricings are usually small and short-lived because automated bots trade them within milliseconds. Opportunities that survive fees tend to be rare, small in size, or in less liquid pairs.
Do I need to transfer funds for triangular arbitrage?
No. All three trades happen on the same exchange, so there are no withdrawals or network confirmations. The main risks are price changes between legs, partial fills and fees.

Related guides