When ETH trades at $2,480 on Binance and $2,494 in a Uniswap pool on Arbitrum — that's not a glitch. It's a structural feature of a market where centralized and decentralized platforms operate on fundamentally different pricing mechanisms. That price difference is the source of CEX-DEX arbitrage.
This article covers how DEXes work, why price divergences occur, how to execute CEX-DEX arbitrage, and which tools to use.
CEX vs DEX: The Core Difference
To understand CEX-DEX arbitrage, you first need to understand why these two systems persistently diverge in price.
How prices form on a CEX
On a centralized exchange (Binance, Bybit, OKX), price is determined by an order book: buyers and sellers post orders, and trades execute when their interests match. Price updates instantly with every new trade.
How prices form on a DEX
Decentralized exchanges (Uniswap, Curve, PancakeSwap) run on the AMM (Automated Market Maker) model. Instead of an order book, there's a liquidity pool holding two tokens.
Price is determined by a mathematical formula: x × y = k
Where x and y are the quantities of each token in the pool, and k is a constant. When someone buys ETH with USDT, the ETH quantity in the pool decreases and USDT increases — ETH price rises automatically.
The key difference: DEX prices only change when someone makes a trade in the pool. If ETH's price jumps on a CEX due to a large buy — the DEX pool doesn't "know" about it until someone comes and trades there.
That temporary divergence is CEX-DEX arbitrage.
Where Price Divergences Come From
Scenario 1: Major price move on CEX
Positive ETH news hits Binance. Large buyers push ETH from $2,480 to $2,510 in 3 minutes. The Uniswap pool hasn't updated — it still shows $2,480.
An arbitrageur buys ETH cheaply in the Uniswap pool ($2,480) and sells it on Binance ($2,510). Difference: $30 per coin = 1.21%.
Scenario 2: Liquidity exits a DEX pool
Large LPs (liquidity providers) withdraw their funds from a Uniswap pool. The pool becomes thinner — now each trade moves the price more. More frequent short-term divergences from CEX prices occur.
Scenario 3: New listing
A token just listed on Binance. The exchange price jumped on listing excitement. The DEX had been trading this token before the listing — and the DEX price hasn't caught up yet.
Types of CEX-DEX Arbitrage
Type 1: Classic CEX-DEX (with transfer)
Mechanics:
- Identify: ETH is cheaper on DEX (Uniswap) than on CEX (Binance)
- Buy ETH on the cheaper side
- Sell ETH on the more expensive side
Direction matters: if ETH is cheaper on DEX — buy on DEX, sell on CEX. If cheaper on CEX — buy on CEX, sell on DEX.
Example (ETH cheaper on DEX):
- Uniswap (Arbitrum): ETH = $2,476
- Binance: ETH = $2,491
- Spread: 0.61%
- Buy 2 ETH on Uniswap: $4,952 + pool fee 0.30% ($14.86) = $4,966.86
- Deposit ETH to Binance via Arbitrum network
- Sell 2 ETH on Binance: $4,982
- Net profit: $4,982 − $4,966.86 − Binance fee ($4.98) = $10.16 (0.20%)
Type 2: Flash Loan Arbitrage
Advanced approach — borrow a large amount instantly (flash loan) with no collateral, execute the arbitrage, and repay the loan within the same transaction.
Advantage: no personal capital needed for execution.
How it works:
- Borrow flash loan: 100 ETH from Aave (free as long as repaid in the same transaction)
- Sell 100 ETH on Uniswap (where ETH is more expensive): receive $249,400 USDT
- Buy 100 ETH on Curve (where ETH is cheaper): spend $248,200 USDT
- Repay 100 ETH to Aave + 0.09% fee ($224)
- Profit: $249,400 − $248,200 − $224 − gas = ~$976
Everything happens in a single blockchain transaction. If anything goes wrong — the entire transaction reverts.
Complexity: requires writing a smart contract or using ready-made tools.
Type 3: MEV Arbitrage
MEV (Maximal Extractable Value) is a more aggressive form of DEX arbitrage where specialized bots (searchers) insert their transactions before or after large user trades.
Front-running: a bot sees your large ETH buy in the mempool → inserts its own buy ahead of yours → price rises → you buy at the higher price.
Sandwich attack: bot buys before your trade, waits for your trade to execute, then sells — profiting from the slippage caused by your order.
This is beyond basic arbitrage — it's a highly competitive space for professional participants. For beginners — good to know, not a starting strategy.
Calculating CEX-DEX Arbitrage Profit
What to account for
DEX pool fee. Depends on the specific pool:
- Uniswap v3: 0.05% / 0.30% / 1.00% (tier depends on pool)
- Curve: 0.04% (stablecoins and correlated assets)
- PancakeSwap: 0.25%
- SushiSwap: 0.30%
Gas. Transaction execution fee on the blockchain:
- Ethereum mainnet: $5–50 depending on congestion
- Arbitrum: $0.10–0.50
- Optimism: $0.10–0.30
- Polygon: $0.01–0.05
- BSC: $0.10–0.30
- Solana: $0.001
CEX trading fee: standard 0.10%.
Bridge/withdrawal fee: if you need to move between networks — additional $0.50–5 depending on the bridge.
Complete formula
Profit = |CEX Price − DEX Price| × Quantity
− CEX fee (0.10%)
− DEX pool fee (0.05–0.30%)
− DEX gas
− Bridge gas (if needed)
− DEX slippage
Full example (ETH/USDT, Binance vs Uniswap Arbitrum)
| Parameter | Value |
|---|---|
| Position | 5 ETH = $12,450 |
| Binance price | $2,490 |
| Uniswap price (Arbitrum) | $2,503 |
| Gross spread | 0.52% = $65 |
| Binance taker fee (0.10%) | −$12.45 |
| Uniswap pool fee (0.05%) | −$6.27 |
| Arbitrum gas (swap) | −$0.30 |
| Bridge ETH → Arbitrum | −$2.00 |
| DEX slippage (0.03%) | −$3.74 |
| Net profit | $40.24 (0.32%) |
How L2 Networks Transformed CEX-DEX Arbitrage
Before 2022, CEX-DEX arbitrage was primarily accessible to professionals — Ethereum mainnet gas cost $30–100 per transaction, consuming most profit on smaller trades.
Layer 2 networks changed this fundamentally.
Gas cost comparison:
| Network | Gas per swap | Minimum viable position |
|---|---|---|
| Ethereum mainnet | $5–50 | $10,000+ |
| Arbitrum | $0.10–0.50 | $500+ |
| Optimism | $0.10–0.30 | $500+ |
| Polygon | $0.01–0.05 | $200+ |
| BSC | $0.10–0.30 | $500+ |
| Solana | $0.001 | $100+ |
On Arbitrum with $0.30 gas, the profitability threshold starts at $500+ positions with a 0.5% spread. This is accessible to most traders.
SpreadScan tracks CEX-DEX spreads across 7 blockchains: Ethereum, Arbitrum, Optimism, Polygon, BSC, Solana, and Base.
Required Tools and Setup
What you need for CEX-DEX arbitrage
1. CEX account — Binance, Bybit, OKX (KYC completed).
2. Non-custodial wallet:
- MetaMask — most popular for EVM chains (Ethereum, Arbitrum, Polygon)
- Rabby Wallet — cleaner multi-chain interface
- Phantom — for Solana
3. Gas tokens in the target network:
- For Arbitrum/Optimism: small amount of ETH (~$10–20)
- For Polygon: MATIC (~$2–5)
- For BSC: BNB (~$5)
- For Solana: SOL (~$2)
4. DEX access:
- Uniswap (Ethereum, Arbitrum, Optimism, Polygon, Base)
- Curve (best pools for stablecoins)
- PancakeSwap (BSC)
- Jupiter (Solana — DEX aggregator)
5. Spread scanner: SpreadScan shows live CEX-DEX divergences accounting for current gas costs.
Configuring MetaMask for L2 networks
Add networks to MetaMask (or use Rabby which adds them automatically):
- Arbitrum: Chain ID 42161, RPC: https://arb1.arbitrum.io/rpc
- Optimism: Chain ID 10, RPC: https://mainnet.optimism.io
- Polygon: Chain ID 137, RPC: https://polygon-rpc.com
- BSC: Chain ID 56, RPC: https://bsc-dataseed.binance.org
Step-by-Step CEX-DEX Arbitrage Process
Step 1: Monitor spreads
Open SpreadScan → CEX-DEX section. Look for pairs where:
- Spread after all fees > 0.3%
- Pool liquidity is sufficient for your position size
- Current network gas is normal (not congested)
Step 2: Check pool liquidity
Before trading, verify on the DEX:
- Pool TVL (Total Value Locked) — minimum $500,000 for your position size
- Expected slippage at your amount (Uniswap interface shows this automatically)
Step 3: Execute
If ETH is cheaper on DEX:
- Connect wallet to Uniswap on Arbitrum
- Buy ETH via swap: USDT → ETH
- Deposit ETH to Binance via Arbitrum network
- Sell ETH on spot
If ETH is cheaper on CEX:
- Buy ETH on Binance
- Withdraw ETH to wallet (via Arbitrum)
- Sell ETH on Uniswap (swap ETH → USDT)
Step 4: Record transactions
Every blockchain transaction is verifiable via explorer (Arbiscan, Etherscan). Log:
- DEX transaction hash
- Actual execution price
- Final gas cost paid
Risks of CEX-DEX Arbitrage
MEV bot competition
On popular pairs (ETH, WBTC), your transactions may be sandwich-attacked in the Ethereum mempool. Solutions:
- Use private RPC endpoints (Flashbots Protect, MEV Blocker)
- Trade on L2 where MEV is less aggressive
- Use MEV-protected aggregators (1inch with Fusion mode, Paraswap)
Slippage risk
In thin DEX pools, a large trade significantly moves the price. Always check expected slippage in the DEX interface before confirming.
Bridge delay risk
Moving assets between a CEX and an L2 network via bridge takes 5–20 minutes. The spread may disappear during that time.
Solution: pre-position tokens in your wallet, use fast bridges (Across, Stargate) rather than official slow bridges.
Price risk during transfer
While a token is in transit through a bridge or CEX withdrawal, you carry price risk. For volatile assets this can be material.
Realistic Earnings
Manual trader, $5,000, Arbitrum:
- Profit per trade: 0.20–0.40% = $10–20
- Trades per day: 1–3 (limited by spread availability)
- Monthly profit: $300–1,800
Automated approach, $20,000:
- Bots on L2 can execute 10–50 trades per day
- Returns vary significantly with market conditions
- Requires technical expertise to build and maintain
Conclusion
CEX-DEX arbitrage became significantly more accessible with Layer 2 networks. Where $50 in gas once made a trade unprofitable, the same trade costs $0.30 on Arbitrum today.
Keys to success: monitoring real spreads with all fees included (SpreadScan does this automatically), choosing the right network, and understanding DEX-specific risks.
Open SpreadScan CEX-DEX scanner →
This article is for educational purposes only and does not constitute financial advice.
Frequently Asked Questions
Do I need to know programming for CEX-DEX arbitrage? For manual arbitrage — no. You need to use MetaMask and the Uniswap interface. For automation and flash loan arbitrage — yes, Solidity or Python skills are needed.
What is impermanent loss and does it affect arbitrageurs? Impermanent loss is a risk for liquidity providers (LPs), not for traders executing swaps. As someone making a swap in a pool, you don't carry this risk.
Which DEX is best for arbitrage? For ETH and ERC-20 tokens — Uniswap v3 (deep pools). For stablecoins — Curve (minimal spread). For Solana — Jupiter (aggregates multiple DEXes). For BSC — PancakeSwap.
How do I protect against sandwich attacks? Use Flashbots Protect or MEV Blocker as your RPC in MetaMask. They route transactions directly to validators, bypassing the public mempool where bots can see pending transactions.
Does CEX-DEX arbitrage work with stablecoins? Yes — and it's an interesting niche. USDC/USDT/DAI frequently diverge between Curve pools and CEX spot markets, especially during depeg events. Curve's 0.04% fee makes this economically viable at lower spreads.
What's the minimum position size that makes sense on Arbitrum? At current gas costs (~$0.30 per swap) and with a 0.5% gross spread, the minimum viable position is approximately $500–700. Below that, gas consumes too large a share of profit.