Why the spread on a screener is not your profit
The spread in the table is the gap between the two best prices in the order books at one instant. Profit is what is left in the account after every trade. Between them sit fees, transfers, slippage, funding and time, and each of them can eat the whole difference. Here is each one in turn, with worked examples of how a handsome 2% turns into 0.3%.
All six screeners once you sign up · no bank card
What the spread in the table is
A screener compares the best ask on one exchange with the best bid on another. If a coin can be bought at 1.000 and sold straight away at 1.020, the spread is 2%. But that number describes only the top of the book at one instant. It says nothing about how many coins are available at those prices, what the trades cost, or what happens while you make them.
Where the spread goes
| Loss | Typical size | When it bites |
|---|---|---|
| Trading fees | 0.04-0.1% futures, 0.1-0.2% spot per trade | Always: a route takes 2 to 4 trades |
| Withdrawal and network | a fixed amount, from cents to $15+ | Spot arbitrage on small amounts |
| Slippage | from 0 to several % | Thin books, large size, altcoins |
| Funding | ±0.01-0.1% per period | Futures routes held more than a few hours |
| Time | unpredictable | Transfers between exchanges, a slow second leg |
Trading fees
The taker fee is what you pay for a trade that takes a resting order from the book. It is usually 0.04-0.1% on futures and 0.1-0.2% on spot. A cross-exchange route takes at least two trades to enter, and on futures two more to exit. The maker fee for posting a limit order is lower, sometimes zero, but a limit order may not fill while the spread is still alive.
Withdrawal and network
In spot arbitrage with a transfer the withdrawal fee is fixed in coins and for small amounts can exceed the spread itself. How to choose a network is covered in the article on transfers between exchanges.
Slippage
The best price in the book is good only for the size resting on it. Buying more means taking the next, more expensive levels, and your average fill ends up worse than the price shown in the table.
Funding and time
Futures positions pay or receive the rate every few hours, and it can run against you. And while you open the second leg or wait for a transfer, prices move and the spread can close.
Slippage, worked through
Say the best ask is 1.000 but only $200 rests there. Next come $300 at 1.004 and $500 at 1.010. Buying $1,000 walks through all three levels.
| Book level | Price | Size | Taken |
|---|---|---|---|
| 1 | 1.000 | $200 | $200 |
| 2 | 1.004 | $300 | $300 |
| 3 | 1.010 | $500 | $500 |
| Total | average ≈ 1.0062 | $1,000 |
The average price is 0.62% worse than the top of the book. If the spread was 0.8%, more than three quarters of it went on slippage on one side alone.
The full calculation
| Gross spread | +$8.00 |
| Fees: 4 trades at 0.05% | −$2.00 |
| Slippage on a thin book | −$4.50 |
| Funding against the position over a day | −$0.60 |
| Net result | ≈ +$0.90 |
A handsome 0.8% became 0.09%. On a larger size the slippage would be bigger still.
| Gross spread | +$1.60 |
| Fees: 4 trades at 0.05% | −$0.40 |
| Slippage (all on the first level) | $0.00 |
| Funding against the position over a day | −$0.12 |
| Net result | ≈ +$1.08 |
On a small size the percentage result is better: the book is not pushed. Every route has its own sensible trade size.
How to count honestly
Look at the spread for your size, not the top of the book
The average fill price for the amount you need is the only one that matters.
Subtract every fee of every trade
Entry and exit, at your own fee tier on each exchange.
Count the transfer or the funding
For spot, the network fee and time; for futures, the rates on both exchanges and the time to settlement.
Check whether the spread holds
A spread that flickers for a second is usually a quote artefact. A real one holds for minutes.
Keep a margin of safety
Prices move while you open the positions. If less than 0.1-0.2% is left after everything, the trade is not worth the risk.
Signs of a "fake" spread
- The spread is huge but volume on one of the exchanges is close to zero.
- The price on one exchange is far from the coin's index price.
- Withdrawals or deposits of the coin are closed on one side.
- The spread appears and vanishes every second.
- They are different coins sharing a ticker - it happens, especially with new tokens.
That is why the scanner shows not just the gross spread but the result after fees, checks book depth for your chosen size and marks routes that hold rather than flicker.
Glossary
- Spread - the gap between the best prices on two exchanges, in percent.
- Taker / maker - who takes a resting order from the book and who posts one. Takers pay more.
- Slippage - the difference between the expected and the actual fill price.
- Book depth - how much money rests in orders near the current price.
- Index price - the average coin price across several exchanges.
Spread and profit FAQ
What spread counts as profitable?
One that leaves a clear margin after all fees, slippage and transfer costs, usually 0.2-0.3% or more. The size of the spread on its own says nothing until the deductions are counted.
Why does the spread vanish when I try to enter?
Others see it too, and some spreads exist for a fraction of a second because of quote delays. Stable spreads hold for minutes - those are the ones to look at.
How can I reduce slippage?
Trade a smaller size, pick pairs with deep books or split the trade. Limit orders cut slippage but may not fill.
Does my account fee tier matter?
Yes. With high volume, the exchange token or VIP status fees are lower, and more routes become profitable.
Why does one coin show a 10% spread?
Most often closed withdrawals, an illiquid coin, a broken quote or different tokens with the same name. Real spreads that large are rare and short-lived.
Are there spreads without moving coins?
Yes: on futures the price is locked with two positions on different exchanges, no transfer needed. See funding rate arbitrage and spot-futures arbitrage.
Free access after sign-up with delayed data.