The four gaps between screen and account
Every arbitrage scanner shows a spread: the same coin priced differently on two exchanges. What it usually shows is the RAW spread — the difference between two mid or last prices. Between that number and your realized profit stand four costs: taker fees on both legs, orderbook depth at your size, slippage while your orders travel, and the decay of the spread itself.
Each gap is small alone — 0.05% here, 0.1% there — but arbitrage edges are measured in the same units. A displayed 0.5% spread routinely nets 0.1% after honest accounting, and a displayed 0.2% is often a guaranteed loss. The difference between a profitable strategy and an expensive hobby is whether your numbers include these gaps before you trade, not after.
Taker fees: the fixed toll
A two-leg arbitrage cycle is four market orders: open both legs, close both legs. At a typical 0.05% taker fee that is ~0.2% per cycle before anything else — and base-tier fees range from 0.02% (MEXC) to 0.055% (Bybit), so the toll varies by route. Any spread smaller than your four-fee total is not an opportunity; it is a donation to the exchanges.
This is the easiest gap to account for, yet most free scanners skip it because raw spreads look more exciting. Every estimate in Arbitron — the public scanner, signals, card backtests — has taker fees of both legs already subtracted, using each exchange's real fee schedule.
Depth and slippage: the size penalty
The displayed price is the best bid or ask — the price for the FIRST unit. A market order for real size walks down the book: the first $500 fills at the top, the next $2,000 a tick worse, and on a thin altcoin pair your $10,000 order can move the price by more than the entire spread you came for. This is why a spread that is real for $500 can be fiction for $10,000.
The defence is measuring liquidity at depth, not at the top of the book. Arbitron's Depth Multiplier setting checks how much volume actually sits within N levels of the book on both legs before a trade fires, and the trade worker consumes full incremental orderbooks — not periodic snapshots — so the depth picture is current to the millisecond, not to the last polling cycle.
Timing: spreads decay in seconds
Cross-exchange spreads exist because liquidity is fragmented — and they close because arbitrageurs close them. The window between "spread appears" and "spread gone" is typically seconds. A scanner that refreshes every 10–15 seconds is showing you history; by the time a human reads the row, switches tabs, and types two orders, the edge usually belongs to someone's bot.
That is the honest reason manual cross-exchange arbitrage rarely works: not because the spreads aren't real, but because human reaction time is the slowest component in the chain. Automated execution placing both legs in parallel within milliseconds is not a convenience here — it is the entry ticket.
What an honest estimate looks like
A number you can trust answers three questions: are fees of all four orders subtracted, is there enough depth for YOUR size, and has the pattern repeated — or did it flash once? Arbitron's estimates are backtests of the last 8 hours that replay the actual entry/exit state machine over recorded prices, count completed cycles, and report profit after fees — which is why our numbers look smaller than raw-spread scanners, and why they survive contact with reality better.
Compare for yourself: open the public scanner and look at the "Fees / cycle" column next to every estimate. If a tool you are evaluating cannot show you that column, it is showing you marketing, not opportunities.