Articles

Binance → Bybit Latency Arbitrage Wins 30 Days Out of 30. It Loses Money at Every Public Fee

The short version, for the impatient. Bybit's Bitcoin perpetual repeats Binance's moves tens of milliseconds late. A simple rule that trades on this won 88% of its trades over a month and did not have a single losing day. At the rates in Bybit's public fee table, the same rule loses money on every one of the thirty days. Speed buys you a window. The fee schedule sells you the ticket into it. There is no money-making scheme here.

Contents
  1. Bybit trails Binance by tens of milliseconds: a trade that can't lose
  2. A 30-day backtest: 88% winning trades and not one losing day
  3. Bybit's taker fee turns +$20,000 into −$58,000
  4. At a 1 bp fee, latency arbitrage wins 30 days out of 30 again
  5. 80 ms instead of 10 ms: a loss on 29 days out of 30
  6. What a millisecond is worth: the first 30 ms are nearly free, the next 120 cost three quarters of the move
  7. Liquidity at Bybit's best price drops fivefold just as the latecomer arrives
  8. More trades, less money: +$82,700 before fees, −$35,000 after
  9. Binance–Bybit lead-lag: 70 ms on our clock, 30 ms on the exchanges' clocks
  10. ETH and SOL: the same picture on Ether, and on Solana the spread eats half the window
  11. The sober part: what low latency actually buys in HFT
  12. What this backtest does not show
  13. Is speed worth paying for? Find out your fee first

Bybit trails Binance by tens of milliseconds: a trade that can't lose

Picture a money machine. The BTCUSDT perpetual trades on both Binance and Bybit: the same Bitcoin against the same dollar. When the price jumps on Binance, Bybit has to catch up. And it does, late.

Bybit repeats Binance's jump, lateAverage move after a jump of 2 bp or more on Binance, 8,100 jumps, 15 Jun – 14 Jul 2026

We took the order books of both venues for 30 days in a row, 15 June to 14 July 2026, and found every moment when Binance's mid-price moved 2 bp or more within 10 milliseconds. There are 8,100 of them, and the average jump is 3.0 bp.

Binance jumps and stays at the new level. At that instant Bybit has covered 0.4 bp of the 3.3 still to come. For a few dozen milliseconds it shows a price that is already stale, and you know which way it is wrong.

The rule could not be simpler. Binance jumps. 10 ms later we take the best price on Bybit in the direction of the jump, no more than $10,000 at a time. One second later we close at the best opposite price. No forecast needed: Bybit's future is already printed on Binance.

A 30-day backtest: 88% winning trades and not one losing day

Over the month that is 8,100 trades and $71 million of turnover. 88% of the trades make money. The average trade earns 2.8 bp, with the spread already paid on the way in and on the way out.

The result: +$20,017. The worst day made $176, the best $1,654. Not one day lost money.

+$20,017 in 30 days, not one losing dayEnter 10 ms after the jump, exit after 1 s, up to $10,000 a trade, no fees

The line climbs without a single step down. This is usually where someone orders colocation.

Bybit's taker fee turns +$20,000 into −$58,000

A market order in and a market order out means paying the taker fee twice. Bybit's public table for perpetuals charges 5.5 bp a side at the entry tier and 3.0 bp at the highest one.

Every trade of the rule adds up the same way. Let nin_i be the size of trade ii in dollars, the smaller of $10,000 and what sits at Bybit's best price; sis_i the direction of the jump, +1+1 up and −1-1 down; piinp^{\mathrm{in}}_i and pioutp^{\mathrm{out}}_i the best Bybit prices we cross on the way in and on the way out; and ff the fee per side:

PnL  =  ∑ini(si piout−piinpiin  −  2f) \mathrm{PnL} \;=\; \sum_i n_i \left( s_i\,\frac{p^{\mathrm{out}}_i - p^{\mathrm{in}}_i}{p^{\mathrm{in}}_i} \;-\; 2f \right)

Here is the bill at the entry tier: −$58,283. At the top of the table, −$22,692.

The fee decides the signThe same 8,100 trades at different fees per side; entry at 10 ms

It isn't a bad month: every one of the thirty days is in the red. It isn't the spread either: half of Bybit's spread is 0.008 bp, one tick. The rule did exactly what it should, and the same 88% of trades went the right way. A trade earns 2.8 bp; the till takes 6 or 11.

The arithmetic is short. The rule breaks even while the fee is no more than half the average trade, f∗≈2.8/2=1.4f^{*} \approx 2.8 / 2 = 1.4 bp a side. The whole public table sits above that line.

At a 1 bp fee, latency arbitrage wins 30 days out of 30 again

Fine. Say you are not a retail client. You bring the exchange volume, quote under obligations, and pay 1 bp a side.

The machine works again. The month closes at +$5,781, and again all 30 days of 30 are positive. The worst day made $11, but it made it.

The share of winning trades has dropped from 88% to 56%. The margin is thin, but it is there. All that's left is to be fast enough.

80 ms instead of 10 ms: a loss on 29 days out of 30

Everything above assumes entry 10 ms after the jump. Now let's be late.

At 1 bp a side, 80 ms is already a lossThe same rule at a 1 bp fee per side, by entry delay

At 50 ms the $5,781 shrinks to $859, with 19 positive days out of 30. At 80 ms it becomes −$4,983, with one positive day. At 150 ms it is −$12,557, and no day is positive.

Forty milliseconds cost the whole result. Thirty more turn the machine into a daily loss. The fee didn't change, the rule didn't change; only our place in the queue for the stale price did.

What a millisecond is worth: the first 30 ms are nearly free, the next 120 cost three quarters of the move

Here is why. How much of the move is left to take on Bybit if you get there so many milliseconds after the jump?

A shelf to 30 ms, a cliff to 150 msWhat is left to take on Bybit within 1 s of entry, after the spread

Arrive instantly and you take 2.89 bp. Arrive after 30 ms and you take 2.53. Thirty milliseconds of advantage are worth an eighth of the move. This is the shelf: here each millisecond saved earns about 0.01 bp.

Between 30 and 150 ms, 2.21 bp is lost, three quarters of the total. This is the cliff. Between 50 and 80 ms a millisecond costs 0.03 bp, nearly three times as much as on the shelf. After 300 ms nothing is left.

Look at the dashed lines. The lower one, 1 bp a side, crosses the curve near 50 ms. The upper one, 3 bp, lies above the whole curve. No speed gets you to that fee.

Liquidity at Bybit's best price drops fivefold just as the latecomer arrives

A trade earns its basis points only on the size that sits at the best price.

Size at the best price collapses on the cliffSize at Bybit's best price at the moment of entry, median of 8,100 jumps

10 ms after the jump, the median size at Bybit's best price is $88,000. At 50 ms it is $32,000, at 80 ms $16,000. In a quarter of cases at 80 ms there is less than $500 there.

The move reaches Bybit, and the orders at the best price are pulled or taken. The latecomer gets fewer basis points on less size. The dip in the chart sits exactly where the cliff is.

More trades, less money: +$82,700 before fees, −$35,000 after

There is one more dial: the threshold. We waited for a 2 bp jump. Let's lower it to 1 bp.

The trades rise to 70,000 and the turnover to $589 million. Before fees: +$82,661, four times as much as before. 82% of trades win, and again all 30 days are positive.

Now the same good fee, 1 bp a side: −$35,102, and not one positive day. At this threshold the average trade earns 1.4 bp, and the fee eats all of it. More trades mean more fees, and the window in each one is smaller.

The other way doesn't work either. At a 3 bp threshold the average trade earns 3.9 bp, but only 2,461 trades are left. At 1 bp a side that is +$4,360 for the month; at 2 bp, zero; at 3 bp, a loss.

The threshold moves the break-even fee between 0.7 and 2.0 bp. At none of the three does it reach the public table.

Binance–Bybit lead-lag: 70 ms on our clock, 30 ms on the exchanges' clocks

Now the delay itself, and there is an awkward detail here.

Take every 10 ms price move, unfiltered, and shift one series against the other: the link is strongest at a shift of 70 ms. That holds on 28 days of 30, and on the other two it is 80 ms. Hour by hour it is the same: in 672 hours of 720 the peak lies between 60 and 80 ms.

Peak at 70 ms on our clock, 30 ms on the exchanges' clocksCorrelation of 10 ms price moves on Binance and Bybit by time shift, average of 30 days

But that is our clock: we listen to both exchanges from one place. The same calculation on the timestamps the exchanges put on their own messages gives 30 ms, on 29 days of 30.

Both numbers are real, and they answer different questions. 30 ms is how much earlier Binance recorded the move on its own books. The other 40 build up on the way: the path from each exchange to us, and the fact that Bybit publishes its book in batches every 20–30 ms.

So no one else's latency figure, ours included, carries over to your connection. Everything in this article is measured on our clock: the one who trades is the one who watches, and trades on what they see. Your time axis will be your own.

ETH and SOL: the same picture on Ether, and on Solana the spread eats half the window

We repeated the whole calculation on two other contracts of the same venues over the same month.

BTC and ETH alike; on SOL the spread takes halfWhat is left to take on Bybit within 1 s, after the spread, by contract

On ETHUSDT there are 22,636 jumps. Entering at 10 ms, a trade makes 2.68 bp after the spread, 85% of trades win, and all 30 days are positive before fees. The break-even fee is 1.3 bp a side. The same picture as on Bitcoin.

On SOLUSDT there are 42,188 jumps, and the move is the same, 2.7 bp. But this contract's tick is coarse, and half the spread is 0.68 bp. After the spread 1.36 bp is left, and 57% of trades win. The break-even fee is 0.7 bp a side. At 80 ms the result is negative before any fee.

The sober part: what low latency actually buys in HFT

Here is the conclusion we stand behind.

The window exists, and it can be measured. It held for a month in a row without a single failed day on three contracts. But it has a price of entry, and it has a shape.

  • Fee first. As long as the round-trip fee is larger than what sits in the window, your place on the curve doesn't matter. In our measurement the line is at 1.4 bp a side. Hardware doesn't buy you a fee tier.
  • Latency second. Once you have the fee, the result is decided by a few dozen milliseconds on the cliff. Each of them has a price there, and you can work it out in advance.
  • On the shelf, latency is no longer what binds. The last 30 ms of advantage are worth an eighth of the move. Getting faster beyond that buys almost nothing.
  • Where you stand, you have to measure yourself. On your own clock, on your own connection.
  • For whoever quotes on Bybit, this is the same story from the other side. For the same few dozen milliseconds their quote sits at a stale price and gets picked off. What that loss looks like in a market maker's books is in our article on adverse selection.

What this backtest does not show

  • One month, one pair of venues, three contracts. Another month and another pair will give other numbers.
  • Execution. We assume an order fills at the best price visible when it arrives. Queue position, rejects, slippage and other traders' orders reacting to the same jump are not modelled. Bybit also publishes its book in batches, so the real book at that moment is fresher than the one we see. Live results will be worse.
  • Size. A trade is capped at $10,000 and at the size on the first level. In 8% of trades the first level at exit was too small for the whole position, and there the result is overstated.
  • Feed glitches. At the sharpest moments the Binance book rebuilt from the stream disagreed with itself. 385 jumps near such places were dropped. Those are exactly the fastest moves.
  • One horizon. Exit after one second. Exiting after 0.2, 0.5, 2 and 5 seconds, the average trade makes 2.6 to 2.8 bp, and the conclusion doesn't change.
  • No more than one jump a second. Jumps in a row count as one.
  • Fees. The fee grid is illustrative. Only the two extreme rates come from Bybit's public table. Rebates, market-maker programmes and your actual fee are not included.

Is speed worth paying for? Find out your fee first

A place on the curve. Before the shelf it is expensive, on the shelf it is worth almost nothing. And it is worth nothing at all to anyone whose round-trip fee is larger than the window itself.

Our trade won every day and lost money every day. The difference between those two months is not speed. Before you pay for the next millisecond, find out your fee.