Triangular arbitrage: earning without moving coins between exchanges

Three trades in a loop on a single venue: no blockchain, no transfers, seconds per operation. Why the fee decides everything and where loops actually pay.

Arbitrage with no transfers between exchanges

Every other scheme runs into the same thing: the coin has to be moved somewhere, and that means time, fees and risk. The triangle avoids it — all three trades happen on one exchange. Nothing goes anywhere, no blockchain is involved, and the whole operation takes seconds.

It works like this: USDT → BTC → ETH → USDT. If the rates between those three pairs have drifted apart, you come back to the starting point with slightly more than you began with.

Why this is possible at all

An exchange does not police consistency between its own pairs. BTC/USDT has its own book, ETH/USDT another, ETH/BTC a third. Each lives its own life, and after a sharp move one of them lags by a fraction of a percent. That is enough.

The gaps are tiny and last seconds, because bots close them fast. So in triangular arbitrage the decisive factor is not finding them — it is the fee.

The arithmetic that makes fees decisive

A loop is three trades. At the usual 0.1% that is 0.3% of costs. A typical divergence between pairs is 0.1–0.3%. In other words, on an ordinary exchange the triangle is eaten by fees before you finish closing it.

Hence the conclusion: triangles work where the fee is near zero. That is why working loops today are found almost exclusively on MEXCMEXC, where the spot maker fee is zero: three limit orders cost nothing and the whole divergence stays with you.

Step 1. Enter your own fees

Open triangular arbitrage.

Fee fields: your own rate for each exchange separately
Fee fields: your own rate for each exchange separately

At the top there is a fee field per exchange. The maker/taker switch fills in reference rates (exchanges with none, such as Gate or WhiteBIT, get 0.1 % in both modes), but any of them can be overridden with your own: what you enter is saved and does not reset when you flip the switch.

Be honest about it. If you intend to trade with market orders, use the taker rate — otherwise you will see routes you cannot have.

Step 2. Read the table

Triangular route table: the three-pair path, return and size
Triangular route table: the three-pair path, return and size

Each row shows a three-pair path and the return after three fees. Zero or negative means the loop does not pay at your rate.

Look beyond the percentage at the narrowest point of the route: a loop is only executable as far as its least liquid pair allows.

Step 3. Execute the loop

  1. Open all three pairs in three tabs beforehand.
  2. Execute the trades one after another with no pauses. Every second between them is a chance for the rate to move.
  3. If you are working for the zero maker fee, use limit orders at the current price. Remember a limit order may not fill, leaving you stuck mid-loop.
  4. Check you have returned fully to the starting coin. A remainder in an intermediate coin is an open position.

Honestly about getting stuck: this is the main risk. If the second trade did not go through, you are holding BTC instead of USDT and exposed to price. Do your first loops on small amounts.

What it pays

A typical working loop with a zero maker fee is 0.1–0.4%. On 1000 dollars that is 1–4 dollars for an operation taking under a minute. The money comes from repetition, not from the size of any single route.

Common mistakes

  • Calculating with the reference fee instead of your own. The most common reason for "the route was there and the money was not".
  • Using the maker rate while trading at market. A maker order is one that waits in the book.
  • Pausing between trades. The loop must be closed whole and fast.
  • Routing through an illiquid pair. Slippage on the third trade takes everything.
  • Starting large. Until you have run the loop a few times, the risk of getting stuck outweighs the expected profit.

Frequently asked

Almost every route is negative — is the scanner broken? No, that is the truth. At 0.1% a loop almost never pays. Enter your real fee to see the honest picture.

Why are working loops mostly on one exchange? Because its maker fee is zero. That is not an advertisement, it is the arithmetic of three trades.

Do I need a bot? For regular work yes — a human cannot keep up with second-long divergences. But start by hand to understand the mechanics.

What if I get stuck mid-loop? Work out what exiting at market costs. Usually fixing a small loss beats holding an unplanned position.

More guides

Stablecoin arbitrage: earning on deviation from the dollar

A stablecoin should be worth a dollar, and sometimes it is worth 0.994. How to measure the deviation honestly and when not to wait for the return.

Options arbitrage: wider gaps and a harder job

The crypto options market is thin, so divergences reach sizes unthinkable on spot. How to compare contracts and why the size behind those prices is small.

P2P venue ranking: where a market actually exists for your currency

Venues compared by offer count, available size and price in your currency rather than by reputation. How to find the one where a market really exists.

Listing calendar: what to do when a coin arrives on an exchange

At listing a coin appears where nobody has priced it yet, and its price lives separately from the market. How to use that, and why the first minutes are the noisiest.