CEX — DEX · full guide

CEX-DEX arbitrage:
exchange orderbook vs on-chain pool

One token on two types of exchange. The price on a CEX comes from an order book; the price on a DEX is computed algorithmically through an AMM curve. When they diverge — there's a window: buy on one side, transfer, sell on the other.Guide: how a CEX book differs from a DEX pool, why spreads appear, how to execute without bleeding to the transfer window.

30+ DEX chains 20+ CEX paired 2–6% typical spread <2s pool → TG
What it is

CEX-DEX arbitrage in plain English

The same token can be bought or sold in two places at once: on a centralised exchange (CEX) and in a decentralised exchange (DEX) pool. Prices on these sides form differently and rarely match at any given moment. CEX-DEX arbitrage is earning on that difference: buy cheap on one side, transfer the asset, sell richer on the other.

How a CEX book differs from a DEX pool

CEX — an order book. The price isn't one number but a queue of offers: some traders post the price they're willing to sell at, others the price they're willing to buy at. A trade happens when someone accepts another's offer. The price moves only when a level is 'eaten' — then the next one shows.

DEX — a liquidity pool. The pool holds reserves of two tokens (x and y), and the price is computed automatically by the formula x · y = k (the product stays constant). Each trade moves the price a little — more so the larger the trade relative to pool size. No order queue, just the pool and the formula.

Because of the mechanics difference, CEX and DEX almost never show the same price at the same moment. On heavily-traded tickers (BTC, ETH) the gap is usually in tenths of a percent — too small for arbitrage. On fresh, low-liquidity alts a 2–6% gap is the working zone.

How CEX-DEX differs from other arbitrage types. All three differ in what sits between the two sides of the trade.

CEX-CEX: both sides are centralised exchange order books. The transfer between them is a standard withdrawal from one exchange to another. On-chain isn't involved; no bridge risk.

Cross-chain DEX-DEX: both sides are on-chain pools on different blockchains. Between them — a bridge (Lock&Mint, LP, or CCTP). The main risk is bridge hacks or pauses.

CEX-DEX (this guide): one side is an exchange book, the other an on-chain pool. The 'bridge' here is the exchange's own withdrawal: submit a withdrawal → the exchange confirms → tokens arrive in the wallet. The risk isn't a smart-contract bridge but the exchange temporarily halting withdrawals.

Why CEX and DEX prices diverge

DEX lists before CEX
A new token first trades only in an on-chain pool. When a large CEX finally lists it — it opens trading at the price of the last DEX trade. If the DEX price moved during the listing process, the CEX starts with a gap.
Pool price moves faster than CEX catches up
A trade in the pool moves the DEX price instantly — it's one on-chain transaction. For the CEX price to align, someone has to physically move tokens between sides (withdraw from the exchange or deposit into it), and a transfer takes a few to 30+ minutes. In that window of mismatch, the spread lives.
Withdrawal on the CEX is paused
An exchange can temporarily halt withdrawals (network upgrade, incident, rebalance). The capital that would equalise prices is locked — the spread widens until withdrawals reopen.
Low-liquidity alts: thin books
On low-liquidity assets the CEX book is thin — a few orders can move price 0.5–2%. Same on the DEX side (if the pool is small). The spread between the 'rough' CEX price and the 'rough' DEX price can run wider than on top-100 tokens.
Mechanics

How each side works and where the costs sit

To gauge real profit before clicking, you have to understand the mechanics on both sides — what's happening and where the costs are.

CEX side: buy and withdraw

A market order takes orders from the book top-down: first it eats everything at the best ask (for a buy) or the best bid (for a sell), then the next level, and so on — until the required volume is filled. The bigger the trade relative to book depth, the worse the effective price compared to best. It's essentially the analog of AMM slippage — except instead of x · y = k, the walk goes through orderbook levels. Each trade pays a taker fee, usually 0.05–0.1% of volume.

To move the bought asset to the DEX side, you need a withdrawal — the exchange sends tokens to the specified wallet address. This takes anywhere from seconds (Solana, BSC) to 30+ minutes (Ethereum during network load) depending on the network and exchange state.

DEX side: every trade moves the price

The pool holds reserves of two tokens — x and y. The price is computed by x · y = k: the product stays constant. Simple example: a pool holds 100 ETH and 100,000 USDC, so 1 ETH = 1,000 USDC. Buying 1 ETH barely moves price — total cost about 1,010 USDC. Buying 10 ETH at once moves the pool significantly, and each next ETH costs more; total cost about 11,100 USDC (effective price 1,110, 10% worse than starting). That's slippage.

The advertised 'token price' isn't the price you'll get at real size. Sites like CoinGecko or DexScreener show the pool's mid-price: the x/y reserve ratio without accounting for trade size. Comparing the CEX best bid against that mid-price overstates the spread. On a $5k trade the same visible 2% often collapses to 0.5–1% after walking through both the CEX book levels and the DEX AMM curve.

Swap aggregators (1inch, Jupiter, LI.FI) in the exchange window are more accurate — they show a quote, an execution price computed for a specific volume. The number is relatively accurate, but not guaranteed: in the seconds between quote and confirmation, the pool price can shift, and actual execution lands within the slippage tolerance specified in the swap parameters.

Finder does the same — a quote on both sides at the target volume, with fees already factored in. In accuracy it's like a swap aggregator: close to actual execution, but not a guarantee. The price on either side can drift during the confirmation window, and the real result always depends on the book and pool state at click-time.

The 'bridge' between sides is the withdrawal itself

In cross-chain DEX-DEX, a smart-contract bridge sits between sides. In CEX-DEX the 'bridge' is the exchange's own process: submit a withdrawal → the exchange confirms (internally) → sends an on-chain transaction → the transaction confirms on the network. The whole cycle takes 5–30 minutes and is the main risk point: during that time the pool price can move and the spread can collapse.

So in CEX-DEX one of three strategies is especially important:

  • speed — react quickly to the signal and execute both sides before the spread closes;
  • hedging with a perp during the transfer (neutralises price movement if the transfer still takes minutes);
  • hold capital on both sides in advance so you don't have to wait for the transfer at all.
Step by step

How a CEX-DEX trade actually runs

The algorithm is the same for 'buy CEX → sell DEX' as for the reverse. The only difference is which side is cheaper. Steps grouped into three phases: Prep (filter + validate), Execute (buy → transfer → sell), and Close (hedge and log).

  1. Prep
  2. 01

    Find the spread

    Through a scanner (Finder pings Telegram with both sides) or manually: open the token's trading page on the CEX and quote the same amount through a swap aggregator (1inch / Jupiter) — that gives real prices without delay, unlike the advertised values on CoinGecko or DexScreener. Ignore anything below the minimum acceptable gross spread after estimating costs (~1.5–2% on cheap networks, 3%+ on Ethereum).

  3. 02

    Verify the token contract

    On the CEX the token is known — the exchange vetted it at listing. On the DEX side the same ticker can hide a completely different contract (a different project with the same abbreviation or a clone-trap). Open the pool's contract address in a block explorer (Etherscan, Solscan, BscScan — for the matching chain) and compare it against the contract the exchange itself lists for that network (visible on the CEX token deposit page in your account). Mismatch = immediate pass.

  4. 03

    Check deposit and withdrawal on the CEX

    On the token page in the exchange account: is withdrawal open in the required network and is deposit not paused. If the trade direction is DEX → CEX — separately check deposit in the network where the pool sits. The main thing that wipes a CEX-DEX trade is a closed deposit or withdrawal discovered after the buy.

  5. Execute
  6. 04

    Buy on the cheap side

    If CEX is cheaper — market buy on the CEX. Taker fee (~0.1%) accounted for. If DEX is cheaper — swap through a DEX aggregator (1inch, Jupiter), tight slippage tolerance (0.5–1% for liquid pools), confirm wallet has native gas.

  7. 05

    Transfer: deposit or withdraw

    From CEX to wallet address, or from wallet to CEX deposit address. Critically: pick the right network (if the token has several). If the network requires memo/tag (an identifier field — required for TON, XRP, XLM, EOS and some BSC tokens), fill it exactly — copied from the deposit page, not from memory. Wait for confirmation before doing anything else.

  8. 06

    Sell on the rich side

    Market sell on the CEX or swap through a DEX aggregator. Slippage tolerance must be tight — the spread is already narrowing from price movement during the transfer. If the post-fee difference is below plan — take what's there and don't linger: the spread lives in minutes.

  9. Close
  10. 07

    Optional: hedge during the transfer

    If the token has perps, open a short on a CEX (same or different exchange) at the trade size at the moment of the CEX-side buy. That neutralises price movement during the transfer. Funding cost for 5–30 minutes of hedge is negligible vs a potential adverse move on a low-liquidity alt.

  11. 08

    Log the trade

    Record the essentials: token, direction (CEX→DEX or reverse), exchange, network, net profit, time. Detailed fee breakdown isn't needed in the moment — the overall picture matters. Without a log you can't tell which assets and routes deliver real profit vs which regularly underperform. After 50 trades, the pattern becomes visible.

Critical risks

Five risks that can wipe a CEX-DEX trade

Deposit or withdrawal closed

The main risk of CEX-DEX. Exchanges periodically close withdrawals (network upgrades, signing incidents, cold-wallet rebalance) and deposits (chain forks, technical work). On fresh low-liquidity alts, withdrawals can be blocked for the first N days after listing — while trading is already open. Always verify status BEFORE buying on the CEX side.

Ticker matches, contract is different — it's not the same token

Under a popular ticker on a fresh chain, a completely different contract can trade. Sometimes — good-faith confusion (another project took the same abbreviation), sometimes — a clone-trap specifically for arbitrageurs that you can buy but not sell. Either way it's not the asset the exchange lists. Always verify the pool contract address against the one the CEX lists (visible on the token deposit page) and run a quick scan through GoPlus or honeypot.is.

Memo/tag forgotten on withdrawal

BSC (some tokens), TON, XRP, XLM, EOS require memo/tag (an identifier field) to credit the right account. Forget it → funds land at the general deposit address with no owner attribution. Support sometimes recovers (paid, slow), sometimes doesn't. Copy the memo from the deposit page and verify it twice.

Wrong network on withdrawal

The exchange lists a token across several networks (BSC + ETH + Tron). 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 where the DEX pool sits.

Slippage in small pools and price drift in transit

On low-liquidity alts, two effects compound: a small pool moves on $1k+ trades, and in 5–30 minutes of withdrawal/deposit, the price drifts too. Without a hedge, real net can be 30–50% below the alert on 4%+ spreads. Hedging with a perp short during the transfer is the simplest fix.

Worked trade

WIF: 4.8% spread Solana DEX → Bybit, $1,000 notional

Step by step — a realistic CEX-DEX trade: 4.8% gross spread on WIF between a Solana pool (Raydium) and the Bybit book, $1,000 USDC notional. Numbers typical for a popular memecoin in a mid-active session.

Cost breakdown at $1,000 notional
Gross spread (4.8%) +48.00 USDC
DEX swap on Solana (0.25%) −2.50 USDC
Solana gas (minimal) −0.05 USDC
Bybit taker fee (0.1%) −1.00 USDC
Solana → Bybit withdrawal 0 USDC (free)
Slippage in a $1.4M pool on a $1k trade −0.50 USDC
Price drift during credit (~30 sec) −6.00 USDC
Net profit ≈ +38 USDC (~3.8%)

The biggest leaks are price drift during credit and exchange fees. Solana is one of the best networks for CEX-DEX: gas near-zero, withdrawal to large CEX often free, credit in seconds.

On Ethereum mainnet the same $1000 trade would look different: gas +$10, credit slower — so more price drift (typically +$20 instead of +$6). Of the same +48 USDC gross, you'd subtract about $35 instead of $10 — net profit falls from 3.8% to 1.0–2%. That's why the same-looking trade clears on a cheap network but can break even on Ethereum.

If the withdrawal had been closed (happens with fresh tokens) — the trade couldn't have started. If under our ticker a different contract was trading in the pool — you'd hold the wrong asset: at deposit, the credit wouldn't have processed (Bybit accepts only its own WIF contract), and the funds would have been locked in the wallet. That's why the checks at steps 02–03 matter.

Before you click buy

CEX-DEX pre-trade checklist

Don't do this

Common mistakes that cost money

Buying on the CEX before checking withdrawal status
Bought on Binance → went to withdraw → withdrawal closed. Now you have a position in an asset that can't be moved to the DEX side to close. The spread collapses, the asset loses value, exit via selling back on the CEX at a loss. Checklist item 2 — literally 5 seconds.
Ignoring memo/tag on networks that require it
TON, XRP, XLM, EOS always require memo — without it, the credit goes to the general deposit address with no owner attribution. Support tickets — days of waiting, sometimes no recovery. Always copy the memo from the deposit page, not memory, and verify twice.
Picking the wrong network on withdrawal
The exchange lists USDT across six networks. Picked the wrong one — tokens sent to an address that doesn't make sense under the chosen network. Sometimes exchanges save it via cross-network recovery (paid), sometimes not. Always verify the network against the DEX side (where the pool sits) — don't auto-pick the 'cheap' network.
Waiting for the spread to grow more
On cheap networks (Solana, BSC, Base) a CEX-DEX spread typically lives from a few to tens of seconds. On Ethereum mainnet — minutes. If you wait for the spread to 'grow more' at signal time, the typical outcome is missing the window entirely. After the checks (steps 02–03), execution must be fast.
Trade size beyond pool capacity
Alert shows a 4% spread on a $200k pool. A $20k trade = 10% of pool — after the AMM curve the effective spread will fall to 0–1%, and slippage will eat the profit. Trade size is set by pool depth, not desired profit. Safe rule: no more than 1% of the smaller pool.
Realistic outlook

What you can and can't expect

CEX-DEX arbitrage offers two distinct opportunity types. Most of the time — a daily flow of small trades on low-liquidity alts with 2–6% spreads. On sharp moves (news, listings, panic, dump), the spread can spike to tens of percent — those windows are rare, but one or two such catches can cover a week of regular trading. Quoting alerts-per-day or monthly P&L precisely isn't possible: numbers depend on market conditions, which tokens/exchanges are tracked, reaction speed, and trade size.

What drives results

Spreads widen during volatile sessions — US market open, news reactions, memecoin pump sessions. Quiet weekends produce few opportunities; high-volatility weeks produce many. The same alert delivers different results to two traders — it depends on how fast they run through checklist 02–03 and how cleanly they execute both sides.

What's math, not luck

Trade costs are made of four components: CEX taker fee (~0.1%), DEX pool fee (0.05–1%), gas on the network, and slippage — the price impact from the trade itself moving the pool. Sometimes a withdrawal fee from the exchange is added.

That gives two hard rules:

  • A spread below ~1.5% on cheap networks (Solana, BSC, Base) or ~3% on Ethereum mainnet is structurally unprofitable. No matter how attractive the headline.
  • Trade volume above ~1% of pool depth will eat itself in slippage before the trade reaches the second side.

How CEX-DEX differs from other types

Unlike CEX-CEX, you don't need accounts on multiple exchanges — one CEX and a wallet is enough. Unlike cross-chain DEX-DEX, there's no bridge and no bridge-hack risk. But you get the withdrawal window: the exchange in the bridge role, and its withdrawal halt = funds locked.

This isn't investment advice and there are no income guarantees. The cost breakdown above is what reality looks like once every fee is honestly accounted for — run this mental model on every alert before clicking buy.
Finder scanner

Built for exactly this type of arbitrage

Manually tracking every CEX listing against every DEX pool isn't possible: Bybit alone has 800+ spot pairs, plus 30+ DEX chains with their own pools. Finder runs the comparison in the background: for each token with a pool, finds every CEX listing, walks the pool's AMM curve at the default volume, accounts for taker fees, and pings Telegram only when the net spread is genuinely actionable.

What lands in your channel and what the dashboard looks like — below.

Coverage

30+ chains scanned, every CEX listing paired

DEX side covers actively-traded pools across the tracked chains. CEX side covers the same 20+ exchanges as Spot–Spot.

S Solana Ξ Ethereum B BSC B Base A Arbitrum O Optimism P Polygon A Avalanche S Sui T TON A Cardano Hyperliquid + 5 more chains S Solana Ξ Ethereum B BSC B Base A Arbitrum O Optimism P Polygon A Avalanche S Sui T TON A Cardano Hyperliquid + 5 more chains

CEX exchanges paired against pools: Binance, Bybit, OKX, Bitget, KuCoin, MEXC, Gate, BingX, HTX, Coinex, Bitmart, LBank, XT, Phemex, AscendEX, Hotcoin, Hyperliquid, Lighter, EdgeX.

Signal format

What the CEX–DEX channel sends

Header carries the token, spread%, magnitude, profit at $1k, and the chain the pool lives on. Buy and Sell rows show the trade direction with a swap link on the DEX side and an exchange deeplink on the CEX side.

The CEX–DEX block lists every exchange trading the token, the pool address, liquidity, FDV, and a token-age check (days since pool created — protects against fresh launches that haven't priced yet).

  • Magnitude tiers: HIGH ≥3%, MEDIUM ≥1.5%
  • Pool depth + slippage warning per alert
  • Token age + FDV inline (filter against day-old pools)
  • Anti-fake-dump heuristic flag included
F
Finder · CEX-DEX
centralised vs on-chain
WIF 4.82% ⚡(41$ on $1000) | SOL
Buy: Solana_dex $0.00428 (Liq: $1.4M) 🟢
Sell: Bybit_s $0.00449 🟢
——————— SPOT ⬇1/8 ——————— Exchange Dif Prof Price D W Link Bybit 0.00% 0$ 0.00449 🟢🟢 Link
——————— DEX ⬇2/4 ——————— Exchange Dif Prof Price D W Link Liq Solana 4.82% 41$ 0.00428 🟢🟢 Link $1.4M Bsc 3.71% 29$ 0.00432 🟢🟢 Link $612k
⚙️ Networks:
SOL: EPjFWdd5...DkZwyTDt1v
BSC: 0x4206931337...d4b8a
🕔 2026-04-29 18:22:41 UTC
18:22 ✓✓
CEX-DEXAllCEX-CEXDEX-DEX
Token
Buy
Sell
Spread
Profit
Liq / Days
Age
W
SOL_dex → BYBIT_s
WIF
Solana
$0.00428
Bybit
$0.00449
+4.82%
+$41
$1.4M · 287d
5s
P
BASE_dex → MEXC_s
PEPE
Base
$0.00000384
MEXC
$0.00000391
+1.82%
+$15
$2.1M · 480d
11s
A
ARB_dex → GATE_s
ARB
Arbitrum
$0.4128
Gate.io
$0.4239
+2.69%
+$22
$890k · 412d
18s
B
BSC_dex → BINGX_s
BONK
BSC
$0.00001904
BingX
$0.00001942
+1.99%
+$16
$840k · 380d
24s
T
TON_dex → OKX_s
NOT
TON
$0.00642
OKX
$0.00657
+2.34%
+$19
$420k · 210d
35s
Dashboard

CEX-DEX signals — in the unified terminal

CEX-DEX signals arrive in the same web terminal as the other arbitrage types. The CEX-DEX chip filter at the top of the table leaves only exchange-pool pairs on screen, hiding CEX-CEX and DEX-DEX.

Each row — token, buy and sell exchanges, price, spread with profit at the default size, and a mini 24h spread chart. The row can be expanded to see every alternative route for the same token.

  • One shared stream — switch directions with one click on the chip
  • Search by token symbol or exchange name
  • Filters: minimum spread, minimum profit, magnitude tiers, hide closed routes
  • Row expansion — all alternative routes for the same token
  • Mini 24h spread chart in every row
Included in

CEX–DEX is free during beta

All arbitrage types are included with no tiers or quotas while the product is in beta.

Free during beta · no card needed

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
Get alerts now
CEX–DEX FAQ

Practical questions about on-chain arbitrage

How is this different from DEX-Dumps?
DEX-Dumps is the flashcrash subset: windows from 20% slumps to 99%+ catastrophic dumps after a rug, hack or liquidity event. Typical windows live 5–15 minutes; rare extreme events sit open longer. CEX–DEX is the everyday spread between centralised order books and on-chain pools — usually 2–6%, lives minutes, fires steadily through the day. Different rhythm, different size. CEX–DEX is for daily flow; DEX-Dumps is for the rare big windows.
What about gas costs and MEV?
Gas is netted out of the displayed profit. Solana and BSC are cheap enough to ignore on $1k+ trades; Ethereum mainnet is gated to large enough spreads to absorb $5–15 gas. MEV is a real risk on EVM chains — for time-sensitive routes the alert recommends a private RPC (Flashbots Protect, MEV-Blocker) which the swap link supports.
Can I trust the pool depth numbers?
Pool liquidity is read directly from the AMM contract — both reserves, fully accurate at the time of the snapshot. The slippage estimate at $1k uses the actual constant-product / concentrated-liquidity math depending on the pool type. Trade size beyond the displayed depth will produce a very different effective price.
What's the smallest spread that's still worth it?
On SOL/BSC: 1.5% net at $1k clears fees + gas comfortably. On Ethereum mainnet: 3% minimum once you account for variable gas. CEX side fees are 0.1% taker — same as Spot–Spot. Pool fees vary 0.05–1% depending on the pair tier. The displayed profit already accounts for all of these.
Other arbitrage types
Free during beta · no card

CEX and pool prices drift all day. Finder watches all of them

So you don't have to do it by hand — the ping arrives when the spread, after every cost, is still worth taking. All the information you need to act is in the message.

Get alerts