← News & Guides
GUIDES/SEP 25, 2026·10 MIN READ

Spot-to-spot arbitrage: how the trade works

Spot-to-spot arbitrage captures price gaps for the same coin across exchanges. Learn how fees, order-book depth, and pre-funded balances shape the trade.

Spot-to-spot arbitrage: how the trade works

Part 1 of a four-part series on spot-to-spot arbitrage.

Excerpt: Spot-to-spot arbitrage captures price gaps for the same coin across exchanges. Learn how fees, order-book depth, and pre-funded balances shape the trade.

Tags: arbitrage, spot, spreads, liquidity, exchanges

Spot-to-spot arbitrage starts with a price gap. The same coin trades on two exchanges, but one order book is cheaper than the other. You buy on the cheaper venue and sell the same amount on the more expensive one.

That part is simple. Getting both orders filled at the expected prices is where the work begins.

A spot arbitrage trade in numbers

Suppose ETH trades at $3,450 on Binance and $3,468 on Bybit.

The difference is $18 per ETH, or roughly 0.52%. If you buy 1 ETH on the cheaper exchange and sell 1 ETH on the other, the gross spread is $18.

Now account for fees. Using an assumed fee of 0.1% on each order:

  • The buy costs $3.45 in fees

  • The sell costs $3.468

  • Total fees are $6.918

  • The remaining profit is $11.082, or roughly 0.32% of the buy-side value

That is still before slippage. Actual exchange fees also vary by account tier, order type, and fee discounts, so the calculation has to use the rates that apply to your accounts.

The displayed spread is never the final return.

Why both exchanges need to be funded

Sending ETH from one exchange to another after spotting the gap is usually too slow. The spread may close before the deposit arrives.

A practical setup keeps funds on both venues. You need quote currency, such as USDT, on the exchange where ETH is cheaper. You also need ETH on the exchange where it is more expensive.

Both orders can then be placed at nearly the same time. After the trade, the cheaper venue holds more ETH and less USDT. The expensive venue holds less ETH and more USDT. Repeat that often enough and the balances drift, which creates a separate rebalancing problem.

Why spot prices split

Each exchange runs its own order book. Buyers and sellers on Binance aren't placing orders in the same market as traders on OKX.

A large sell order may push the price down on one venue while other exchanges barely move. Thin books tend to move more. Regional demand can also pull prices apart, especially when access to fiat or stablecoin liquidity differs between markets.

Price feeds add another wrinkle. A scanner may receive one exchange's update before another, making a gap look larger or longer-lived than it really is.

Trading fees don't create the quoted spread. They decide whether the spread is worth taking.

Check the order book, not just the headline price

The best bid and ask show prices for the first available orders. They don't tell you how much can actually trade there.

A 0.5% gap may exist for only $50 of liquidity. A larger order eats through several price levels, raising the average buy price or lowering the average sell price. The spread that looked profitable on screen can disappear during execution.

Before placing the trade, check:

  • Available depth on both sides

  • Fees for both orders

  • Expected slippage at your size

  • Whether the balances are free or locked

  • Whether both markets are accepting orders normally

Calculate the result from the expected average fill prices, not the top quotes.

The risk between the two fills

Spot arbitrage is often described as market-neutral, but only after both legs fill.

If the buy completes and the sell fails, you are simply long ETH. If the sell completes first and the buy misses, you may be short or left with less inventory than planned. A fast market can move against that open leg before you fix it.

Start small. Confirm both fills, record the actual fees, and compare the result with the spread shown before execution. This is less exciting than chasing every gap. It is also how you find out whether the setup works.

Once capital is split across several venues, tracking it in separate exchange tabs gets messy. ArbLens consolidates available and locked balances across supported exchanges and wallets, along with positions, fills, PnL, and transfer history. It doesn't find or execute the trade. It shows whether the capital needed for each leg is already in the right place.

#arbitrage#spot#spreads#liquidity#exchanges