Skip to content

Execution

Crypto bid-ask spread: calculate the cost before trading

An unchanged midpoint can still produce a six-USDT round-trip loss. Two constructed books show why the narrowest spread is not always cheapest.

Stepped order-book blocks illustrate crypto bid ask spread.
Illustration for execution; examples in this article are educational.

The crypto bid-ask spread is the difference between the highest displayed buy price and the lowest displayed sell price in one order book. Buying immediately usually starts at the ask; selling immediately starts at the bid. A narrow spread can reduce one part of execution cost, but it says little about the quantity available there, fees or how far the book will move before an order arrives.

The most useful spread question is therefore: a spread for which market, at what time, and for how much? This article uses AI assistance and original hypothetical worksheets. It does not report a live market sample, a trading result or a recommended trade.

Read the two sides before reading the chart

A bid is an offer to buy. An ask is an offer to sell. The best bid is the highest currently displayed bid, and the best ask is the lowest currently displayed ask. An order book includes quantities at those prices, not just a pair of numbers. Coinbase's order-book introduction describes these fields and the distinction between the book and recent trades. Coinbase: what is an order book?.

A chart can show the most recent transaction while the book shows current offers. Those observations can disagree without a malfunction. The last transaction happened at a particular time and quantity; it is not an obligation for someone to trade with you at that price now.

Also identify the instrument. A token's spot pair, a perpetual contract on that token and another exchange's similarly named pair are separate markets. Their prices and available sizes can differ. A comparison loses meaning if one side uses USDT, another USD and a third an index value without conversion or scope.

If an analysis calls a token liquid, ask for the actual pair and an order size. That one clarification makes the claim testable. Our market versus limit order explanation shows how the instruction interacts with the book after this first check.

Measure a spread with a stated denominator

Take a fictional token, ABC, quoted in USDT. Assume a best bid of 99.80 USDT/ABC and a best ask of 100.20 USDT/ABC. The spread is 0.40 USDT per token. The midpoint is (99.80 + 100.20) ÷ 2 = 100.00 USDT/ABC.

Using that midpoint as the denominator:

Spread in basis points = (ask − bid) ÷ midpoint × 10,000

The example is 0.40 ÷ 100.00 × 10,000 = 40 basis points, or 0.40%. One basis point is 0.01 percentage point. A spread of 40 basis points is not 40%.

A display might use the ask or bid as its denominator instead. It might also report an average over time rather than the current observation. State the formula before comparing two numbers that appear nearly identical. Differences in measurement can matter when the intended trade has a small modeled margin.

The midpoint is a reference, not a standing offer. You cannot assume that both a purchase and a sale can occur there. A backtest that enters and exits at a midpoint without a matching model may erase the very cost the spread measures. The existing backtest evidence guide explains why a price series needs an execution model.

A six-USDT round trip with an unchanged midpoint

Consider a hypothetical immediate purchase and sale of 10 ABC. Assume at least 10 ABC remains available at both best prices, the book never changes between the two trades, there is no additional slippage and fees are paid in USDT.

Worksheet itemCalculationResult
Gross purchase10 ABC × 100.20 USDT/ABC1,002.00 USDT
Gross sale10 ABC × 99.80 USDT/ABC998.00 USDT
Price difference paid1,002.00 − 998.004.00 USDT
Assumed purchase fee, 0.10%1,002.00 × 0.0011.002 USDT
Assumed sale fee, 0.10%998.00 × 0.0010.998 USDT
Total difference including fees4.00 + 1.002 + 0.9986.00 USDT

The modeled midpoint never moved. The account still loses six USDT on the constructed round trip. Four comes from crossing between the two sides; two comes from the invented fee assumption. Neither fee is a published exchange rate.

This calculation is deliberately simple. Real trades may span more levels, pay fees in another asset, experience a changing midpoint or encounter product-specific constraints. Add those effects separately. Do not add a second full spread charge on top of actual buy and sell prices that already contain it; that would count the same price difference twice.

The point is not that every round trip costs this amount. It is that a flat chart is compatible with a negative realized result. A strategy needs enough evidence to cover its execution costs as well as its price prediction error.

Why the narrower book can cost more

Now compare two hypothetical venues at the same instant. Both have a midpoint of 100.10 USDT/ABC. Ignore fees, transfer costs, eligibility and any changes during matching. These are constructed books, not exchange quality rankings.

BookBest bidBest askAvailable asks relevant to a 5 ABC purchase
A100.00100.201 ABC at 100.20, then 4 ABC at 101.00
B99.90100.30At least 5 ABC at 100.30

Book A has a spread of 0.20 USDT. Book B has a wider spread of 0.40 USDT. Yet a modeled purchase of 5 ABC costs 100.20 + (4 × 101.00) = 504.20 USDT in A and 5 × 100.30 = 501.50 USDT in B.

The wider displayed spread is compatible with a 2.70 USDT lower modeled purchase cost for this particular size. A top-of-book comparison was answering a smaller question: where would the first available quantity trade?

For a one-token purchase the comparison reverses. A costs 100.20 and B costs 100.30 before fees. This is why a statement about the cheapest venue needs a quantity and a complete cost definition. A more detailed slippage and order-book-depth worksheet extends this approach through multiple sizes.

This is not a suggestion to transfer funds to another exchange. Eligibility, account risk, settlement, withdrawal constraints, fees and the time needed to move assets can overwhelm an apparent displayed-price difference.

Market spread and a quoted-price markup are separate concepts

The word spread can describe both an order book's bid-ask difference and an adjustment inside a retail conversion quote. Identify which one a provider means before interpreting a pricing claim.

Coinbase distinguishes its quoted default experience from Advanced's direct order-book trading and says it includes no added spread for Advanced. That product distinction does not turn an order book's best bid and best ask into the same number. Coinbase: Coinbase versus Coinbase Advanced.

A useful comparison starts with the final amount received and the total account amount spent for the same size and observation time. If one quote includes a fee while another displays commission later, the headline prices are not directly comparable.

Do not infer an undisclosed markup simply because a market purchase differs from a chart. First examine the book, the timestamp, the order size, actual fills and the fee record. Conversely, a zero-commission label does not establish zero total execution cost.

KLINEO is not claiming to integrate with every platform cited here. The examples explain how to inspect pricing language; the platform documentation remains the authority for that platform's actual product terms.

The spread is an observation with an expiry

A snapshot is useful evidence about one instant. It is not reserved liquidity. Other participants may trade or cancel before your order reaches the engine. A cached interface can also show a narrow spread after the underlying stream has disconnected.

Record both the exchange event time when available and the local receipt time. A local clock and a server clock can differ, so a simple timestamp subtraction should not be presented as a precise latency measurement without checking synchronization. A feed with a gap needs a fresh supported state before it becomes a reliable execution input.

Binance Spot provides an order-book ticker for best bid and ask prices and quantities, separately from other price endpoints. Selecting that instrument-specific source is more useful for a spread check than assuming a generic last-price field contains both sides. Binance Spot: market data endpoints.

An automated guard can reject a new entry when the spread exceeds a defined policy or when the observation is stale. That is an admission control, not a guaranteed fill price. The next stage still needs a price boundary and a check of the available depth for the intended quantity.

What about posting a passive order?

A resting buy order can avoid crossing the displayed ask at submission, but waiting introduces other uncertainty. It may never fill. It may fill only after the market moves against the original analysis. Partial fills can leave a smaller position than expected.

Post-only instructions address whether the order takes liquidity on arrival; they do not promise a profitable quote or a favorable later market. Read the post-only and time-in-force guide before treating maker status as a substitute for risk review.

For an execution record, retain the observed bid, ask, quantities, instrument, time and chosen benchmark. Afterward, retain the actual fills and fees. This separates a wide-spread decision from a later price movement or a data-quality problem.

A spread calculation becomes useful when it explains a specific possible trade and its limits. It cannot establish that an asset is safe, an order will complete or a strategy can earn more than its costs. Those broader uncertainties remain part of the trading risk disclosure.

Keep the context with the example.

Prepared with AI assistance by KLINEO Editorial. Each worked example is illustrative, with its sources and assumptions in the article. Read our editorial standards for authorship, verification and corrections.