Analysis

A 7 bp Litecoin spread hid a 231 bp cost in our €10,000 replay

We checked 1,176 LTC/EUR order books and rebuilt 7,056 buy and sell replays. A dated example shows why spread alone misses the cost of a larger order, with raw data, code and three charts.

A 7 bp Litecoin spread hid a 231 bp cost in our €10,000 replay
Saved articles
Sources, review record & reproducibility

Downloadable data or code · Observed data / replay.

Content review recorded: 2026-10-05. The review record does not identify a separate independent reviewer. An edited date above records an edit, not a new fact-check.

Next scheduled review: 2027-01-03.

Sources saved with the review:

See the article body for source links and any downloadable materials. Editorial method · Corrections · Report an issue

On this page

A narrow Litecoin spread can hide an expensive larger order. At 17:00:02 UTC on 3 October 2026, the Coinbase LTC/EUR book we saved had a bid–ask spread of 6.99 basis points. A €100 buy fitted at the best ask. A €10,000 buy replayed through that same visible book produced an average price 231.48 basis points, or 2.3148%, above its midpoint. The spread described the first price level; it did not describe the price of the whole order.

That is one observation, not an executed trade or a forecast. To put it in context, we froze 392 collection rounds from Kraken, Coinbase and OKX, verified all 1,176 original response hashes, and recalculated 7,056 buy and sell replays from the raw books using a separate implementation. The useful result is how costs changed with amount and direction, including the observations a median can hide.

Observation period: 30 September 2026, 20:44:01 UTC to 4 October 2026, 22:30:02 UTC: 97 hours, 46 minutes and 1 second. The archive was retrieved at 22:36:12 UTC on 4 October, or 00:36:12 on 5 October in Warsaw. This is an initial sample spanning parts of five calendar dates, not five complete days or a 30-day study. The live liquidity tool continues collecting; this article uses the frozen input.

What a spread leaves out

The best bid is the highest visible purchase offer; the best ask is the lowest visible sale offer. Their midpoint is halfway between them. Someone buying LTC consumes asks, while someone selling consumes bids. A price level has a finite amount available. Once an order uses that amount, its remaining quantity reaches the next level.

A basis point, abbreviated bp, is 0.01%. Our spread is (ask − bid) ÷ midpoint × 10,000. Our buy cost is (average execution price ÷ midpoint − 1) × 10,000. It includes crossing to the ask and any further visible-book impact. A 20 bp buy cost means the replay’s average price per LTC was 0.20% above that book’s midpoint. It does not include the exchange’s trading fee.

The second quantity needs an amount. A €100 and €10,000 replay can share the same bid, ask and spread yet reach different average prices. Showing only a spread chart removes the amount-dependent part of the question.

What we actually collected

The collector makes three concurrent public REST requests in each round, normally every 15 minutes. It saves the original response, its SHA-256 digest and request timing, then normalizes positive price and quantity levels. Duplicate prices are merged; asks are sorted upward and bids downward. Locked or crossed books are rejected.

Coverage of the frozen sample; requested depths are not identical
VenueRequested bookValidated booksFull / total replays
Kraken100 price levels per side3922,352 / 2,352
CoinbaseAggregated level 2 book3922,352 / 2,352
OKX100 price levels per side3922,352 / 2,352

Kraken’s documentation describes aggregated price levels. Coinbase specifies that level 2 returns its aggregated book and that size already sums the orders at a price. OKX likewise defines spot size as base-currency quantity at that price. Multiplying these sizes by the number-of-orders field would invent liquidity.

All six amount/direction combinations filled within the retained visible levels at every venue. This establishes arithmetic sufficiency in these snapshots, including the truncated 100-level books. It does not establish that all exchange liquidity was captured or that a real order would receive those prices.

There were 392 occupied quarter-hour bins out of 393 bins intersecting the captured period, counting its partial endpoint bins. The unoccupied bin began at 20:45 UTC on 30 September. Two early captures were off the quarter-hour schedule. This is a transparent measure of retained sampling coverage, not a claim of 99.7% exchange uptime.

Size changed the typical buy cost

For each buy, we spent the specified EUR budget through asks, allowing a fractional final level. The average price is the EUR spent divided by the LTC obtained. Each comparison below uses the same 392 capture-round labels with full replays at all three venues.

Buy cost versus each venue’s own midpoint; basis points, before fees
VenueBuy budgetMedian95th sample percentile
Kraken€1002.163.88
Kraken€1,0002.454.54
Kraken€10,0005.118.56
Coinbase€1004.377.81
Coinbase€1,0005.869.48
Coinbase€10,00015.7863.77
OKX€1002.425.07
OKX€1,0005.198.40
OKX€10,00013.6817.58
Median cost of buying Litecoin by EUR amount and venue, using 392 retained rounds.
Own-midpoint buy costs at three budgets. All full replays receive equal weight; fees are excluded. Open full-size SVG chart.

For €10,000 buys, Kraken had the lowest cost relative to its own midpoint in 384 of the 392 matched rounds; OKX did in seven and Coinbase in one. That is a narrowly defined comparison of visible-book friction. The midpoints differed across venues. A lower percentage above a more expensive midpoint does not necessarily deliver more LTC for the same money.

The €100 results also should not be transplanted onto a €10,000 purchase. The book can be adequate near its first level and much thinner farther away. “Low spread” and “low cost at my amount” need separate checks.

The median hid some expensive books

Coinbase’s €10,000 buy median was 15.78 bp, but its 95th sample percentile was 63.77 bp and its maximum was 231.48 bp. Kraken’s corresponding maximum was 34.03 bp; OKX’s was 48.72 bp. The history chart preserves those observations instead of smoothing them into a daily average.

Recorded 10,000 euro Litecoin buy costs for three venues from 30 September to 4 October 2026.
One dated snapshot per point; common zero baseline. This frozen figure breaks at an empty UTC quarter-hour bin, including the early 24-minute gap. Open full-size SVG chart.

All three panels use the same scale and a zero baseline. The line breaks when a quarter-hour bin contains no capture, even if the gap between adjacent capture starts is under 30 minutes. Here that gap was 24 minutes, 17 seconds between the first two rounds. Between points, the collector did not observe every book change. The visible peak could have been brief or persistent; these quarter-hour snapshots cannot decide which.

We calculate percentiles by sorting the 392 values and linearly interpolating at position (392 − 1) × p. The 95th percentile describes this retained sample. It is not a confidence interval, a maximum future cost, or a statement that a fresh order has a known 95% outcome probability. We did not establish why any venue’s book became thin.

Buying and selling were not mirror images

For a sell replay, the reference amount defines an LTC target: EUR amount ÷ that venue’s best bid. We then sell that quantity down the bids. This means a “€10,000 sell” is a best-bid reference quantity, not a promise of €10,000 proceeds. Its actual replay proceeds can be lower.

€10,000 buy budget / sell reference; own-midpoint costs in basis points
VenueBuy medianBuy P95Sell medianSell P95
Kraken5.118.564.828.15
Coinbase15.7863.7710.8519.00
OKX13.6817.5813.2516.55
Median and 95th-percentile buy and nominal sell costs for three venues at the 10,000 euro reference.
Buy budgets and venue-specific nominal sell quantities are separate scenarios. Costs use each venue’s own midpoint. Open full-size SVG chart.

The Coinbase buy tail was much larger than its sell tail in this sample. There is no single “liquidity cost” that safely replaces both directions. Nor are the cross-venue sells identical-LTC experiments: each venue’s best bid produces a slightly different target quantity. Comparing the same fixed LTC quantity would require another replay definition.

Rebuild the narrow-spread example

The Coinbase response saved at 17:00:02 UTC on 3 October had a best bid of €61.495 and best ask of €61.538. The midpoint was €61.5165. With those fixed inputs, the replay produced the following results.

One Coinbase book, three buy amounts; no exchange fee included
Buy budgetLTC obtainedAverage €/LTCImpact beyond best ask, bpCost versus midpoint, bp
€1001.6250121961.5380000.003.49
€1,00016.2363735061.5901088.4711.97
€10,000158.8803127462.940460227.90231.48

Only €4,418.53 of visible ask value was priced within 1% above the best ask. The €10,000 replay therefore needed more distant asks. This is a direct explanation of the saved arithmetic; it does not explain why those orders were present, who placed them, or whether they would survive a real request.

The original response is 1791046802-coinbase.json inside the raw-book archive. Its recorded metadata and hash are in the raw manifest. Filter replays.csv by that capture time and venue to check the amounts without reading this article’s rounded table.

Use the results when checking an actual offer

  1. Match the pair, amount and direction. An LTC/EUR €100 buy does not answer an LTC/USDT sell or a €10,000 buy question.
  2. Check the observation time. The saved table is research history. Use a fresh book or a provider’s current quote for a current purchase.
  3. Read the final quantity. Compare how much LTC reaches your wallet, or how much EUR your sale produces, with every fee included. Our purchase-cost tool helps keep execution, funding and withdrawal charges separate.
  4. Check the fee for your account. A hypothetical 0.10% trading fee is 10 bp before other charges. That can exceed a small replay cost. This is unit conversion, not a claim about any venue’s current fee.
  5. Choose a price constraint deliberately. A limit price can bound the price of fills; it does not guarantee that the whole quantity fills. See why limit orders can fill instantly, partly or not at all.

Dividing a large order into smaller ones is not automatically a saving. The book can replenish, disappear or move between orders, and fees or minimum charges can change the total. These snapshots do not simulate a splitting strategy or identify the best hour to trade.

Timing and market-state checks matter

The three requests share a collection-round label, not an atomic timestamp across exchanges. The median gap between the first and last response completions was 0.129 seconds; the largest was 1.036 seconds. Those are local completion times, not proof that the books were generated simultaneously.

Coinbase documents auction books as indicative rather than firm. We checked the raw responses: auction_mode was explicitly false in all 392 Coinbase books. The current live collector withholds Coinbase books when continuous trading cannot be verified from that flag. This article does not reinterpret auction quotes as executable continuous-market liquidity.

OKX’s endpoint is cached, and its documentation describes updates every 50 milliseconds in normal operation. Our 15-minute cadence is far coarser. Neither a fast endpoint nor a validated response makes this archive a real-time record of every intervening change.

Reproduce the result and keep its limits attached

The downloadable package contains the frozen history, raw-book archive, timing and source manifests, CSV outputs and standard-library Python analysis. Follow the instructions and verify the checksums. Reproduction runs offline and places no orders.

A separate 50-digit decimal calculation reproduced all recorded replays within the declared tolerances. Three historical impact values contained a −2 × 10⁻²⁴ bp rounding residue. The original input preserves them; recomputed nonnegative impact is zero. No replay was removed for that numerical residue.

This is evidence about retained visible LTC/EUR books over a short, dated period. It excludes exchange fees, order-size rounding, minimum orders, funding and withdrawal costs, hidden liquidity, replenishment, competing orders and network delay. It does not measure actual fill quality, establish the cause of outliers or promise a future venue ranking. Report a reproducible discrepancy through our corrections page.

Original frozen public-book analysis, code and SVG figures; AI-assisted research and drafting. No real trades, account-specific fee test or independent external review is claimed. The hero illustration is editorial artwork.

Jarosław Wasiński
Editor-in-chief · Financial markets and Litecoin education

Editor-in-chief of Litecoin.watch and founder of MyBank.pl. His published work covers foreign exchange, financial education and Litecoin. On Litecoin.watch, his remit includes editorial direction, source transparency and the practical guides and research published by the site.

Background, selected work and editorial responsibility →

Founder of MyBank.plFinancial education and market analysisNamed editorial responsibility

Track Litecoin in real time

Rates for 30+ currencies. Check each tool for its latest source timestamp.

Open dashboard