Litecoin.watch: first retained LTC/EUR execution-cost observations
Release: liquidity-history-20261005-v1
Publication: 5 October 2026 (Europe/Warsaw)
Article slug: ltc-eur-trading-costs-what-our-first-order-book-observations-show

This is a frozen observational package, not a trading service. It contains no
accounts, private keys, authenticated API credentials or executed orders.

SCOPE AND BOUNDARIES
First capture: 2026-09-30T20:44:01Z
Last capture:  2026-10-04T22:30:02Z
Elapsed capture-start span: 351,961 seconds = 97 h 46 min 1 s.
Frozen history retrieved: 2026-10-04T22:36:12.001196+00:00.
The cohort spans parts of five UTC calendar dates, not five full days or 30 days.
392 collection rounds, three venues, 1,176 raw responses, 7,056 replay records.
All retained books validated; all replays full. No unavailable/partial replay was
silently removed. All 392 Coinbase raw responses explicitly had auction_mode
false. That describes this cohort, not every earlier or future exchange state.

INPUTS AND OUTPUTS
history.json: exact bytes returned by /api/liquidity.php?format=history.
capture-record.json: retrieval URL/time, input byte count and SHA-256.
raw-books.zip: original retained exchange responses, matched by digest.
raw-manifest.json: per-response hash, URL, request/completion and available
exchange times, selected HTTP freshness headers. Generated offline from history.
source-records.json: primary documentation URLs, retrieval times and digests of
the privately retained documentation HTTP responses. The complete third-party
documentation pages are not redistributed in this package.
analyze.py.txt: standalone offline Python analysis, standard library only.
results.json: exact bounds, validation, coverage, descriptive statistics, extrema,
last-round replays, matched comparison counts, methods and caveats.
replays.csv: one row per capture/venue/side/amount; canonical recomputed values.
snapshots.csv: one row per validated book, spread/depth counts/timing metadata.
summary.csv: descriptive own-midpoint costs by venue/side/reference amount.
coverage.csv: capture and full/partial replay denominators per venue.
buy-cost-by-size.svg: matched median buy cost, zero baseline.
buy-cost-history.svg: EUR10,000 buy history, zero baseline/common scale and gaps.
buy-sell-percentiles.svg: EUR10,000 median and P95 costs, zero baseline.
collector-execution-view.py.txt: separately supplied current collector source
documenting the compact live presentation view and strengthened auction guard.
The archive inputs remain under protocol lw-ltceur-depth-2026-09-30-v1. The
original collector's replay math is unchanged by those presentation safeguards.

REPRODUCE OFFLINE
1. Download research-package.zip and extract it into a new local directory.
2. Optional: verify files against SHA256SUMS.txt. An altered history or raw response
   will also fail the analyzer's pinned digest checks.
3. Use Python 3.10 or later; no pip packages or exchange accounts are needed.
   Run from the extracted directory:
       python analyze.py.txt --input . --output reproduced
   If python is named python3 on your system, replace the executable accordingly.
4. The script reads raw responses directly from raw-books.zip without extracting
   them. A raw/ directory with identical files is also supported. It makes no
   network calls and creates only the requested output directory and its files.
5. Compare regenerated results.json, CSV and SVG outputs with this package.
   The code verifies all 1,176 raw digests and recalculates all 7,056 replay records.

The analyzer deliberately pins one history SHA-256, rather than silently accepting
newer rolling history. Re-fetching the live API gives a different study boundary
and is not reproduction of this article.

PUBLIC REQUESTS AND DEPTH
Kraken: https://api.kraken.com/0/public/Depth?pair=LTCEUR&count=100
Coinbase: https://api.exchange.coinbase.com/products/LTC-EUR/book?level=2
OKX: https://eea.okx.com/api/v5/market/books?instId=LTC-EUR&sz=100
REST requests run concurrently within a capture round, normally every 15 minutes.
Kraken and OKX requests retain only 100 levels per side. Coinbase level 2 returns
an aggregated book. Depth limits are unequal; successful replays establish only
sufficient visible depth for those amounts. Size is already aggregate quantity at
a price and must not be multiplied by an order-count field.

REPLAY DEFINITIONS
Each venue has EUR100, EUR1,000, EUR10,000 buys and sells.
Normalize finite positive price/size levels, merge duplicate prices, sort asks
upward and bids downward, reject locked/crossed books.
Buy: spend the exact EUR budget through asks, fractional final level allowed.
Sell: target LTC = reference EUR / that venue's best bid; walk bids for this
quantity. EUR10,000 sell therefore is a reference at best bid, not EUR10,000
guaranteed proceeds. Sell quantities differ across venues.
VWAP = replay cash / replay LTC.
Midpoint = (best bid + best ask) / 2.
Spread bps = (ask - bid) / midpoint * 10,000.
Buy own-mid cost bps = max(0, (VWAP / midpoint - 1) * 10,000).
Sell own-mid cost bps = max(0, (1 - VWAP / midpoint) * 10,000).
Impact bps uses the best ask for buys or best bid for sells instead of midpoint.
Full fill tolerance: remaining <= max(1e-20, target * 1e-18).
Partial fills retain their fraction/quantity/cash; no full cost is inferred from a
partially filled target. This release contains no partial fills.

ARITHMETIC AND NUMERICAL RESIDUES
A separate replay implementation uses Decimal precision 50 (collector precision 28).
String decimal agreement tolerance: max(1e-22, abs(recomputed) * 1e-22).
Recorded floating-point basis points: absolute tolerance 1e-8 bps.
Maximum observed bps difference was approximately 2.26e-14 bps.
Three early impact_bps values in the immutable input are -2e-24 due to collector
rounding. The script rejects negative values below -1e-12 bps; the bounded residues
are zero in independently recomputed nonnegative impact. The original bytes are
preserved, and no replay is excluded solely because of this numerical residue.

STATISTICS AND COVERAGE
All cross-venue summaries use the intersection of capture-round labels with full,
continuous-trading replays at all three venues for the selected side/amount. This
release has n=392 for every combination. Requests/venue clocks are not atomic;
matching a round label does not establish simultaneous book generation.
Quantiles sort n samples and linearly interpolate at (n - 1) * probability.
The P95 is a descriptive sample percentile, not a confidence interval, forecast,
future cost ceiling, or independently measured fill probability.

Coverage buckets are floor(capture-start Unix time / 900), from the first through
last intersecting bucket inclusive. Endpoint buckets can be partial. Any retained
capture starting inside a bucket occupies it. There are 393 intersecting buckets,
392 occupied and one empty (2026-09-30T20:45:00Z). Two early captures are off the
quarter-hour. This is sampling coverage, not proof of collector/exchange uptime.
The history figure breaks when adjacent captured bins skip an entire bin, even
when the capture-start gap is under 30 minutes. The first gap was 24 min 17 s.

INTERPRETATION LIMITS
These are frozen visible-book replays, not actual fills or commitments to trade.
No trading fees/tier, order-size rounding, minimum order rules, bank/card funding,
withdrawal or FX charges, hidden liquidity, replenishment, competing orders or
request latency are simulated. There is no queue-position or passive-order model.
Lower cost relative to each venue's own midpoint need not give a lower absolute
purchase price. Sell comparisons do not use one identical LTC quantity.
No cause is attributed to thin books or outliers, and no future venue ranking,
exchange outage, best trading hour, or order-splitting benefit is established.
Coinbase auction books are indicative; this release excludes true/missing flags
and verified false for all 392 actual responses. Current live collection also
withholds Coinbase auction/unverified modes rather than treating them as ordinary
continuous-trading books. That guard does not change these frozen inputs.

REUSE AND REVIEW
Own analysis code: MIT (LICENSE-CODE.txt).
Own article/method text and SVG designs: CC BY 4.0 (LICENSE-CONTENT.txt).
Original exchange API responses and documentation remain third-party material
subject to their providers' terms; no blanket data license is asserted.
AI assisted research, drafting and code. Internal scripted checks are not an
independent external audit. Corrections: https://litecoin.watch/corrections/
