Spot cross-exchange arbitrage:
one token, different prices across CEX
The same token trades simultaneously on dozens of exchanges, and the prices never quite line up: one exchange has deeper liquidity, another reacts to news first, another runs a thinner book. The gap between the best bid on one exchange and the best ask on another is the spread.Guide: why prices diverge, how to pick a transfer network, how not to bleed the profit to orderbook slippage and fees.
Cross-exchange arbitrage in plain English
The same coin trades in parallel on dozens of centralised exchanges — and the prices on them at any given moment almost never agree. Each exchange runs its own orderbook, its own set of market-makers, its own reaction speed to news. Cross-exchange arbitrage is earning on that gap: buy cheap where the price is lower, move the asset to the exchange with the higher price, sell.
Why prices diverge between exchanges
Prices don't equalise instantly because of a fundamental asymmetry: to close the gap, someone has to physically move the asset from one exchange to another, and that takes minutes. In those minutes, different things happen on different exchanges — one reacts to news first, the other lags. One market-maker pulled the level, another stayed. On large exchanges with deep liquidity, a spread against another exchange closes quickly; on thin ones, it can persist for hours.
Spot cross-exchange (this guide): both sides are spot orderbooks on centralised exchanges. Buy on one, physically move the asset through a blockchain network, sell on the other. No smart contracts, no on-chain pools, no perps — just two books and a withdrawal/deposit between them.
Futures cross-exchange: both sides are perpetual futures of the same asset on two exchanges. Long the cheap side, short the expensive — delta-neutral the second the second leg fills, the asset never moves. Profit comes from the price gap closing, hold minutes to hours.
Funding cross-exchange: same long+short structure on two perp exchanges, but the focus is on the funding-rate divergence, not the price gap. Hold runs days to weeks, income drips in with each funding payment. Good for steady, slow APR.
Adjacent families where one or both sides aren't CEX:
CEX-DEX: one side is an exchange, the other is an on-chain DEX pool. Between them — withdrawal from the exchange to a wallet and a swap through the DEX.
Cross-chain DEX-DEX: both sides are on-chain pools on different blockchains. Between them — a bridge with its own hack risk.
When spreads between exchanges run wider
How the trade runs and where the costs sit
To understand which spread is actually worth taking, you need to understand the mechanics of both sides and where the costs accumulate.
Buy and sell side: a market order walks the book
On an exchange, a trade fills through orderbook levels top down: a market order takes whatever sits at the best ask (for a buy) or the best bid (for a sell), then the next level, and so on — until the requested volume is filled. The bigger your trade relative to book depth, the worse the effective price you get above best. Each such trade pays a taker fee, typically 0.05–0.1% of volume. Across both sides of the round-trip it's roughly 0.2% on exchange fees alone.
The 'bridge' between exchanges: the blockchain network
To move the asset you just bought from one exchange to another, you initiate a withdrawal to the receiving exchange's deposit address: submit → source exchange confirms → on-chain transaction → destination exchange detects the deposit. This takes anywhere from seconds (Solana, BSC, Base) to 30+ minutes (Ethereum during load). The exchange charges a fixed withdrawal fee — from $0.20 (Solana) to $5–30 (Ethereum tokens).
Full cost list on a typical trade
Each trade pays, in total:
- Taker fee on the buy-side exchange (~0.1%)
- Taker fee on the sell-side exchange (~0.1%)
- Withdrawal fee from the source exchange (fixed, network-dependent)
- Slippage on the buy-side book (worse for thinner books and larger trades)
- Slippage on the sell-side book (same)
- Price drift during the transfer (seconds to tens of minutes)
Two hard thresholds follow: a spread below ~0.6% on liquid majors (BTC, ETH, USDT) or below ~1.5% on alts structurally doesn't clear at a typical $1k size. And a trade volume more than ~1–2% above book depth starts losing more to slippage than the spread provides.
How a trade actually runs
The algorithm is the same for any direction. Steps grouped into three phases: Prep (filter + validate), Execute (buy → transfer → sell), and Close (log).
- Prep
-
01
Find the spread
Through a scanner (Finder pings you in Telegram with both legs of the trade and the net at the default size) or manually: open the trading pages for one token on two exchanges and compare the best bid/ask. Ignore anything below the minimum acceptable gross spread: ~0.6% for majors and ~1.5%+ for alts on fast networks.
-
02
Check deposit and withdrawal on both exchanges
On each exchange's token page in your account: is the withdrawal open on the buy-side exchange, is the deposit not paused on the sell side. A closed window on either side = no trade. The single biggest thing that wipes a trade is a closed status discovered after the buy.
-
03
Pick the transfer network
If the token supports several networks — pick the fastest and cheapest one that's open on both exchanges: for USDT, usually Solana or BSC ($0.50 fee, 30 sec), not Ethereum ($5–15 fee, 5+ minutes). The faster the transfer, the smaller the window in which the spread can collapse.
- Execute
-
04
Buy on the cheap exchange
Market order on the buy-side exchange. Taker fee (~0.1%) is already accounted for in the calculation. The order size shouldn't move the book by more than 0.5–1% — otherwise the effective price will be worse than the quoted one.
-
05
Transfer: withdraw and deposit
Withdraw to the deposit address on the second exchange. Critically: pick the same network the deposit expects. If the network requires a memo/tag (an identifier field — required for TON, XRP, XLM, EOS), copy it directly from the deposit page and double-check it. Wait for the deposit to confirm before selling.
-
06
Sell on the expensive exchange
Market order on the sell-side exchange as soon as the deposit credits. If the spread narrowed during the transfer — sell at the actual current price: waiting for it to 'come back' on a thin book typically ends with the opportunity closing fully.
- Close
-
07
Optional: hedge during the transfer
On volatile alts where the token has a perp, opening a short on a CEX for the duration of the transfer neutralises the price-move risk. Funding cost for a 5–15 minute hedge is negligible compared to a potential adverse move.
-
08
Log the trade
Record the essentials: token, direction (exchange → exchange), transfer network, net profit, time. After 50 trades, patterns will emerge: which tokens and routes consistently print profit, which regularly underperform.
Five risks that can wipe a cross-exchange trade
Deposit or withdrawal closed on one of the exchanges
The main risk of cross-exchange arbitrage. Exchanges periodically close withdrawals (network upgrades, signing incidents, cold-wallet rebalance) and deposits (chain forks, technical work). Status can change in the seconds between the alert and the click. Always verify directly in both exchange accounts BEFORE buying.
Memo/tag forgotten on the withdrawal
TON, XRP, XLM, EOS always require a memo — an identifier field. Without it, the deposit lands in the exchange's general pool unattributed, and support recovery can take days and doesn't always succeed. The memo is copied from the deposit page once and verified twice.
Wrong network on the withdrawal
An exchange lists a token across several networks (USDT on BSC + ETH + Tron + Solana). Picking the wrong network = funds sent to an address that doesn't exist under the other network. Recovery is complex and not always possible. The withdrawal network must exactly match the one selected for the deposit on the second exchange.
Price movement during the transfer
The transfer takes anywhere from 30 seconds (Solana) to 30+ minutes (Ethereum during load). The price on the destination exchange can drift in that window. On majors (BTC, ETH) drift is usually small; on low-liquidity alts the spread can fully collapse in 5 minutes. Critical on slow networks, manageable on fast ones.
Thin book on one of the exchanges
The alert shows a 4% spread, but trying to execute at $5k reveals book depth of only $2k. The effective price walks far worse than best. Trade size is set by depth — not by desired profit. Safe rule: no more than ~1% of the volume sitting in the top 5 book levels.
PEPE: 4.2% spread Bybit → KuCoin, $1,000 notional
Step by step — a realistic cross-exchange trade: 4.2% gross spread on PEPE between Bybit (cheaper) and KuCoin (richer), $1,000 USDT notional, Solana for the transfer (PEPE-SOL variant, fast). Numbers are typical for a mid-active session on a memecoin.
The biggest leaks are slippage on the thin sides and price drift during transfer. On Solana the transfer takes ~30 seconds, so drift is minimal. If the route had gone through Ethereum (5–10 minutes confirmation + $5–15 gas), the headline 4.2% would have netted out to 1–2% after all the deductions, and on a volatile alt — sometimes zero.
If the withdrawal had been closed on Bybit (happens after a network upgrade) — the trade couldn't have started. If a memo had been required on the chosen network and forgotten — the tokens would have landed at the general deposit address with no owner attribution. That's why the checks at steps 02–03 matter.
Cross-exchange pre-trade checklist
- Withdrawal on the source exchange open in the chosen network — verified in account.
- Deposit on the destination exchange open in the same network.
- Withdrawal and deposit networks match (USDT-BSC ≠ USDT-Ethereum).
- If the network requires a memo/tag (TON, XRP, XLM, EOS), it's copied directly from the deposit page.
- Book depth on both sides comfortably exceeds trade size — no slippage trap.
- Fast network chosen for the transfer (Solana, BSC, Base, Polygon) — not Ethereum during congestion.
- If the token has a perp and the network is slow — hedge plan is ready for the transfer window.
- Gross spread comfortably above break-even: ~0.6% for majors, ~1.5%+ for alts on fast networks.
Common mistakes that cost money
What you can and can't expect
Cross-exchange arbitrage is a daily flow of small trades plus rare big windows on news or listings. Most of the time — typical spreads of 1–3% on alts that close in minutes; during sharp moves (news, listings, panic, kimchi premium) — tens of percent open for N minutes or longer. There's no honest way to quote alerts-per-day or monthly P&L — it depends on market conditions, the tokens and exchanges you focus on, your reaction speed, and your trade size.
What drives results
Spreads widen during volatile sessions — US market open, news reactions, memecoin pump sessions, exchange-specific events (planned maintenance, incidents). Quiet weekends produce few opportunities; high-volatility weeks produce many. The same alert will deliver different results to two traders depending on how fast they run through checklist 01–03 and how cleanly they execute both legs.
What's math, not luck
Trade costs are made of four components: taker fee on the buy side (~0.1%), taker fee on the sell side (~0.1%), withdrawal fee (fixed), slippage on both sides. Sometimes price movement during the transfer gets added.
That gives two hard rules:
- A spread below ~0.6% on majors or ~1.5% on alts is structurally unprofitable. No matter how attractive the ticker.
- Trade volume above ~1% of book depth will eat itself in slippage before the trade reaches the second side.
How cross-exchange differs from neighbouring strategies
Unlike CEX-DEX, there's no on-chain pool and no AMM-curve slippage — both books run on the same mechanics. Unlike cross-chain DEX-DEX, there's no bridge and no bridge-hack risk. But you carry the standard exchange risk: a halted withdrawal = funds locked until they decide to reopen it.
Built for exactly this type of arbitrage
Manually tracking every token × exchange pair against every other one isn't humanly possible — across 20+ supported exchanges with 8000+ listings, it's tens of millions of pair combinations. Finder runs the comparison in the background for every token across all its listings on all exchanges, walks the real book depth at a default notional, and pings your Telegram only when the net spread after every fee and slippage cost is genuinely actionable.
What lands in your channel and what the web dashboard looks like — below.
Twenty-plus exchanges, every spot pair
From the deep majors down to the exchanges where spreads live longer because fewer scanners reach them.
What lands in your channel
Every Spot–Spot alert is the same shape: header line with token, spread%, magnitude emoji, profit at $1k, and the network. Buy/Sell block names exchanges with deeplinks; 🟢/🔴/⛔/❔ next to each price flags deposit/withdraw status.
Below — full SPOT table with every exchange listing the token, sorted by spread, anchor row at the bottom for the sell side. Networks block lists contracts for chains we resolved.
- Magnitude emoji: ⚡ ≥5% · 🔥 ≥10% · 🚀 ≥15%
- Status flags: 🟢 open · 🔴 closed (with age) · ⛔ unsupported · ❔ unknown
- 15–30 daily alerts above 5%, 2–8 above 10%
- $30–150 net per typical HIGH alert at $1k
WIF 12.62% 🔥(87$ on $1000) | SOL
SOL:
EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v
Two table modes for two workflows
All pairs shows every exchange-pair for every token — the firehose. Useful when you're shopping for opportunities and want to see what's moving across the whole market.
Best spread collapses to one row per token (the highest-spread pair) with alternative routes hidden in an expand. Useful when you've decided on size and need the cleanest pick.
- Sort by spread, net at $1k, age, or volume
- Filter by exchange, network, magnitude tier
- Pin tokens you want to watch · favorite · hide spammy ones
- Click any row → full orderbook walk on both legs
Spot–Spot is in Spreads and All-in-one
The standalone DEX-Dumps plan does not include CEX–CEX spreads. Pick a plan that includes Spot–Spot if this is your main workflow.
Full feature access while we polish
All arbitrage types, every exchange, every alert tier — no plans, no card, no quota. We'll announce pricing before launch; early users keep grandfathered terms.
- Every CEX–CEX, CEX–DEX, DEX–DEX and funding alert
- Telegram bot + web dashboard, both included
- All 25+ exchanges, all networks, full asset coverage
- Pre-flight: open routes, taker fees, fillable depth checked on every signal
Practical questions about CEX–CEX arbitrage
What's the typical wall-clock for a Spot–Spot trade?
What kills a Spot–Spot arb most often?
Can I do this with $500 or do I need $5k+?
How fresh are deposit / withdrawal status flags?
What's the smallest spread that's still worth it?
Different shape, different rhythm.
Run Spot–Spot on your watchlist
3 days inside the live channels. If the daily flow fits your size, the math works. If not, walk — no card on file.
Get alerts