Crypto Arbitrage Calculator
Calculate potential profits between different cryptocurrency exchanges while accounting for fees and transfer costs
Cryptocurrency prices are volatile and you can lose the whole amount. The figures are estimates: they do not include slippage, network delays or exchange limits. This is not financial or investment advice and not a recommendation to buy or sell. Full disclaimer
How to Use
Press Scan — defaults are already sensible
The tool compares 11 exchanges over the 200 most liquid pairs. You do not need to configure anything to see your first result.
Read the Net Profit column, not the raw gap
Net Profit already subtracts two trading fees and the withdrawal fee. The raw spread always looks better than what you keep.
Check the 24h volume on both legs
A pair with tiny 24h volume has no liquidity — your own order moves the price and the profit vanishes. The thin side is highlighted in amber.
Press Check real depth on the row you like
This is a per-row button. It walks the real order book on both exchanges and recomputes the profit for YOUR amount, including slippage. Deals that looked like +13% often turn out negative.
Verify the coin can actually be moved
Before sending anything, open both exchanges and confirm deposits and withdrawals are open for that coin and that both support the same network. A frozen withdrawal is the classic way to get stuck holding a falling coin.
Keep a float on both exchanges
Experienced traders never wait for a transfer: they hold coins on one exchange and USDT on the other, sell and buy at the same moment, and rebalance later. A transfer takes minutes — the spread usually lives seconds.
Three ways to start
Pick the one that matches how much you want to risk and how fast you need to be.
Two exchanges, one float
Open accounts on two large exchanges, pass verification, and split your capital: USDT on one, the same value in a liquid coin (BTC/ETH/SOL) on the other. When the scanner shows a spread, sell and buy simultaneously — no transfer, no waiting.
Trade the BTC-quoted markets
In the coin picker switch the quote chip to BTC or ETH. The spread is then measured in that coin, so every closed trade leaves you with more BTC rather than more USDT. Same mechanics as scenario 1, different unit of account.
Reality check: spreads above a few percent on liquid coins are almost always a trap — a halted coin, a frozen withdrawal or a book too thin to fill. The safety filter hides these by default; the honest edge in arbitrage is small, frequent and fast, not spectacular.
How the demo bot works
The bot trades on paper against live order books. It exists to answer one question honestly: what do these spreads actually add up to over a day? No API keys, no account, no money — it cannot place a real order even if you wanted it to.
Step 1 · Pick the exchanges and the money
Choose two or more venues and a virtual balance for each. The bot keeps a float on every exchange — USDT on one side, the coin on the other — because that is the only way a retail trader can execute both legs at once instead of waiting for a transfer.
Step 2 · Decide who picks the coins
Automatic replays the last 14 days and takes the routes where a window appeared most often, then buys the starting inventory itself. I choose myself lets you name the coin, the venue and the amount — type 0.1 ETH on Binance and that exchange’s USDT drops by its current value.
Step 3 · Set the trade size and the delay
Trade size decides how deep into the order book each round trip eats. Order latency is the pause between spotting a window and filling it — the bot waits, then re-prices from scratch. Set it to 0 and you get a fantasy; 2–5 seconds is closer to a human with a browser.
Step 4 · Start it and leave the tab open
The bot scans its routes on the interval you set. It only runs while this tab is open — close it and the clock stops. The “Running time” counter shows how long it actually worked, so a result is never confused with a full day.
Step 5 · Read the refusals, not just the profit
The interesting number is how often the bot said no. the book made the spread too thin, ⏱ the window closed during the delay, no coins left on the selling venue, a rebalance transfer was needed. On most days these dwarf the executed trades — that is the real shape of arbitrage.
Step 6 · Audit anything you doubt
Every decision lands in the log with both prices, both fees and the venues. Export it to CSV and check any row by hand on the exchange. If a number looks too good, it probably is — and the log will show you why it was refused.
How a simulated trade is priced
- Both order books are fetched — not the ticker, the actual book.
- Your trade size is walked through the levels (slippage included) to get the real average fill price.
- Each leg pays its own exchange’s fee; the exchange-token discount applies only where that program exists.
- The bot waits out the latency you set and prices the whole thing again from fresh books.
- If it still clears your minimum, and the selling venue actually holds enough coins, both legs fill at once.
- Inventory drifts with every trade. When the selling side runs dry, a transfer is simulated with the real network fee and the route pauses for twelve minutes.
Arbitrage Guide & Technical Details
About the Crypto Arbitrage Calculator
The calculator compares live spot prices for the same coin across a dozen exchanges and shows where it is cheaper and where it is dearer. It does not stop at the raw gap: two trading fees and the blockchain withdrawal fee are subtracted straight away, so the number you read is what would actually be left in your pocket.
The part that separates it from most free scanners is the order-book check. A ticker price is only the very top of the book — often a single tiny order. After every scan the tool walks the real book on both exchanges and re-prices the trade for your amount. Rows that turn out to lose money are hidden, with the loss shown if you ask to see them. A "+13%" that becomes −2% once the book is walked is the normal case, not the exception. The second check is whether the market is alive. Daily volume does not say: a coin can be cycled between its owner’s wallets to post any number at all. The tool looks at how many trades are going through per minute right now, and judges the two sides differently: where you buy, quiet is no obstacle; where you sell, quiet is the whole danger.
Everything runs in your browser. There are no API keys, no account connection and no automatic trading: the tool finds and verifies opportunities, you execute them yourself on the exchange. Your settings and coin sets stay in your own browser storage.
Exchanges the scanner covers
Prices come from public endpoints of the exchanges below. Any of them can be switched off in the settings — turning a venue off shrinks the number of pairs available on two exchanges at once, which is what arbitrage needs.
Binance
Prices and order-book depth are read directly from the exchange. From some regions it does not answer; the scanner then marks it as unavailable.
Bybit
Prices and depth are read directly. From some regions it does not answer; the scanner then marks it as unavailable.
OKX
A wide listing of altcoins; prices and depth are read directly.
Gate.io
Many small coins are listed here — that is where wide spreads appear, together with the thinnest order books.
KuCoin
Many mid-cap coins; prices and depth are read directly.
Bitget
Prices and depth are read directly. Check that deposits and withdrawals of the coin are open before relying on a route.
MEXC
A very large number of listings. Withdrawals are the thing to check before trading here.
HTX
Its prices can lag behind the largest venues, which is what creates gaps. Check that deposits and withdrawals are open.
Kraken · Bitstamp · Gemini
Venues with USD markets. Their prices can move apart from the largest venues, and that is where gaps come from.
Crypto.com · Bitfinex
Complete the picture on major coins.
Types of crypto arbitrage compared
Not every kind of arbitrage is worth a private trader's attention. Here is the honest comparison, including the ones this tool deliberately does not implement.
| Type | How it works, and whether it is worth your time |
|---|---|
| Cross-exchange (this tool) | Buy the coin where it is cheap, sell where it is dear. The only type with a workable edge for a manual trader: windows last from seconds to minutes and recur on the same routes. Main risk — the transfer between exchanges, which is why the float-on-both-sides approach exists. |
| Triangular (one exchange) | A USDT → A → B → USDT cycle on a single venue. In theory elegant: no transfer, three fees. In practice market-making bots close these cycles in milliseconds; a two-week retrospective on major venues usually finds not a single hour where the cycle closed in the black after fees. Not worth waiting for. |
| P2P | Buy USDT from one merchant, sell to another. The spread looks large, but it is a risk premium, not free money: strict ad terms, the chance of a frozen bank account, and every cycle waits on a person at the other end. Within one venue it is mathematically impossible — you always buy dearer than you sell. |
| Funding-rate / futures | Holding spot against a short perpetual to collect funding. This is a carry trade rather than arbitrage: the income is small, steady, and requires margin, liquidation monitoring and a much larger deposit. |
| Statistical | Betting on the historical correlation between two coins returning to its mean. Not arbitrage in the risk-free sense at all — a directional trade with all the usual risk. |
What eats the spread
A raw 2% gap is not a 2% profit. Every item below comes off it, and the order matters — they are subtracted sequentially, not summed:
- Buy fee — a share of the amount, charged on the exchange where you buy; each exchange publishes its own, and it depends on your account.
- Sell fee — the same again on the other exchange. Two fees are the minimum cost of any route.
- Withdrawal fee — a fixed amount in the coin itself, independent of your trade size. On a $100 trade a $2 network fee is 2%; on a $2,000 trade it is 0.1%. This is why small amounts rarely pay.
- Slippage — your order eats the book deeper than the top price. On a thin coin this alone can turn the whole trade negative, and it is exactly what the order-book check measures.
- Transfer time — minutes to tens of minutes. The price moves while the coin is in transit, and the window normally closes first.
- Limits and verification — withdrawal caps, a suspended network, or a coin that is being delisted on one side.
The tool subtracts the first four automatically. The last two are yours to check before you send anything: open both exchanges and confirm deposits and withdrawals are open for that coin on the same network.
Formulas and algorithms
Everything the tool shows is computed from these expressions. No magic coefficients and no hidden margin.
spread% = (sell_price − buy_price) / buy_price × 100 The raw difference between the ask on the cheap exchange and the bid on the dear one. This is the number most scanners stop at.
coins = (amount − amount × fee_buy) / ask
revenue = (coins − withdraw_fee) × bid
net = revenue − revenue × fee_sell − amount The full route: buy at the ask, pay the buy fee, send the coin minus the network fee, sell at the bid, pay the sell fee. The fee of each leg is taken from its own exchange, so an exchange-token discount only applies where it exists.
VWAP = Σ(price_i × volume_i) / Σ(volume_i)
while Σ(price_i × volume_i) < your amount Instead of the top price, the tool walks the levels of the real book until your amount is filled, and takes the volume-weighted average. That is the price you would actually get.
slippage% = (VWAP − top_price) / top_price × 100 How much worse the real fill is than the headline. Grows with your size and shrinks with the depth of the book.
book% = (ask − bid) / ((ask + bid) / 2) × 100 A gap above 1% means nobody is trading the pair. The safety filter hides such rows by default.
frequency% = hours_with_a_window / hours_compared × 100 Both exchanges' hourly closes are aligned by timestamp and the net spread is recomputed for every hour. A route that paid in 64 hours out of 168 is a habit; one that paid twice is noise.
Real-world use cases
Float on both exchanges
Keep USDT on one venue and the same value of the coin on the other. When a window opens, you sell and buy at the same second instead of waiting for a transfer.
Growing a BTC position
Switch the quote chip to BTC and the spread is measured in bitcoin. Every completed round trip leaves you with more BTC rather than more stablecoin.
Choosing a route by evidence
The History tab replays two weeks and shows which coin and which pair of exchanges produced a window most often. You park capital where the data says, not where a chat channel says.
Checking someone else's signal
A channel posts "+9% on XYZ". Add the coin to your set, scan, and let the order-book check re-price it for your amount.
Frequently asked questions
Q: Is crypto arbitrage still profitable?
A: Rarely, and in small amounts. In the seven days ending 21 September 2026 our paper bot, watching live prices around the clock, took 20 trades out of 217,989 chances it examined. The rest had deposits or withdrawals closed, no network both sides share, numbers that did not look real, or too little money in the order book. The spreads that survive every check are small; spectacular ones usually mean a door is shut.
Q: Why does the tool show fewer pairs than the coin list?
A: Arbitrage needs the SAME pair listed on at least two of the exchanges you selected. Most coins live on a single venue, so out of roughly two thousand pairs only a few hundred are usable. Switching on more exchanges raises that number, and the note under the results always states it explicitly.
Q: Why did a +13% opportunity disappear after the scan?
A: Because the order-book check re-priced it for your amount and it came out negative. A ticker price is the top of the book, sometimes a single order for a few dollars. Press "Show them anyway" in the note to see the removed rows with their real loss.
Q: Do I need API keys or to connect my account?
A: No. The tool only reads public price endpoints and never asks for keys, logins or deposits. It cannot place orders — you execute them yourself on the exchange. Settings and coin sets stay in your browser.
Q: How much capital do I need to start?
A: The withdrawal fee is fixed in the coin, so it dominates small trades: a $2 network fee is 2% of $100 but 0.1% of $2,000. Below roughly $500 most routes are eaten by costs. The float-on-both-sides approach avoids the network fee entirely, which is why it is the usual starting point.
Q: What is the biggest risk?
A: A suspended withdrawal. You buy the coin, start the transfer and the exchange freezes the network for maintenance or a delisting — you are left holding a falling asset. Always confirm deposits and withdrawals are open on both sides and on the same network before sending anything.
Q: Why does the calculator hide some results by default?
A: The safety filter removes routes that are almost certainly not executable: no live order book, a bid-ask gap over 1%, turnover under $3,000, a spread over 15% (usually a halted or delisted coin) and net profit under 0.3%. You can open it in the settings and switch individual rules off, then hide them again with one click.
Q: What does the tile color mean?
A: Saturation shows 24-hour turnover: the busier the market, the deeper the violet. The thresholds are percentiles of the coins actually loaded, so the leaders are always the brightest regardless of how many exchanges answered. Hovering a tile shows the exact figure.
Q: Can I arbitrage against BTC instead of USDT?
A: Yes. Above the coin field, switch the quote chip to BTC or ETH. The tool then shows coins quoted in that asset and measures the spread in it, so a completed round trip increases your holding of that coin.
Q: Why is triangular arbitrage not in the tool?
A: Because a two-week retrospective on the major venues does not find hours where the cycle closed in the black after fees — market-making bots close them in milliseconds. Adding a mode that never shows a result would only waste your time, so it was removed rather than left as decoration.
Q: Why are the biggest spreads almost always false?
A: Because a spread is the price of not being able to close it. If the coin could be bought cheap, moved and sold dear, somebody would already have done it and the gap would be gone. It stands precisely when something physical is in the way: withdrawals shut, deposits shut, no shared network. When we watched the market with our own bot, the eight widest spreads in a day — 65% to 95% — were every one of them impassable. One route held 76% for more than four thousand consecutive sweeps. The rule is simple: the wider the spread, the harder you should look at why nobody has taken it yet.
Q: Is 24-hour volume enough to go on?
A: No, and this trap is subtler than the last. Daily volume cannot tell trading apart from the appearance of trading: a coin is listed, cycled between its owner’s wallets, and posts an impressive number — and when you turn up with real money there is nobody to sell to. What to look at is trades per minute, and the two sides of a route need different standards. Where you buy, quiet is fine: you are taking somebody’s resting order, and a stale price there works in your favor. Where you sell, you need a live buyer or there is no way out.