Skip to content

bookDepth daily archives: inner ask bands (+0.2%, +1%, +2%) frozen since 2026-09-03 across all USD-M symbols #496

Description

@LoganFenn-byte

Since 2026-09-03 ~12:00 UTC, the USD-M bookDepth daily archives have stopped updating the
ask-side bands nearest the mid. The affected bands emit a constant depth and notional for
the entire day. All bid bands and the outer ask bands remain correct. The defect is present on every
USD-M symbol checked (SOLUSDT, BTCUSDT, ETHUSDT, AVAXUSDT) and is propagating outward one band
at a time.

The published .CHECKSUM matches the delivered file in every case, so this is not a transfer or
storage problem — the frozen values are what the exporter is writing.

Reproduction

Count the DISTINCT values of notional / depth per percentage band per day. Each daily file
contains 2,880 snapshots (30 s cadence), so a healthy band yields ~2,880 distinct values.

import requests, zipfile, io, pandas as pd

url = ("https://data.binance.vision/data/futures/um/daily/bookDepth/"
       "SOLUSDT/SOLUSDT-bookDepth-%s.zip")

for day in ["2026-09-02", "2026-09-03", "2026-09-04", "2026-09-05", "2026-09-06"]:
    r = requests.get(url % day, timeout=180)
    with zipfile.ZipFile(io.BytesIO(r.content)) as z:
        d = pd.read_csv(z.open(z.namelist()[0]))
    d["px"] = (d.notional / d.depth).round(6)
    counts = {b: d[d.percentage == b]["px"].nunique()
              for b in [-1.0, -0.2, 0.2, 1.0, 2.0, 5.0]}
    print(day, counts)

Observed (SOLUSDT)

Distinct values of notional/depth, out of 2,880 snapshots per day:

day −5 −1 −0.2 +0.2 +1 +2 +3 +5
2026-09-02 2878 2878 2877 2879 2880 2878 2879 2880
2026-09-03 2878 2879 2832 1455 1744 2155 2878 2875
2026-09-04 2876 2877 2873 50 1380 2873 2880 2879
2026-09-05 2876 2876 2878 3 1259 2875 2876 2876
2026-09-06 2878 2877 2878 4 4 396 2697 2879

depth and notional are individually frozen too — on 2026-09-06 the +0.2 and +1 bands each
have exactly 4 distinct depth values and 4 distinct notional values for the whole day, while
−0.2 and −1 have 2,880 each.

Onset is within one hour. Distinct +0.2 values per hour on 2026-09-03:
h00–h10 = 120 each (healthy), h11 = 87, h12 = 48, h13 = 1, h14–h23 = 1–3.

Cross-symbol (2026-09-06, +0.2 band)

symbol frozen implied price share of day held distinct values
SOLUSDT 100.9696 76.0% 4
BTCUSDT 78216.0684 96.6% 3
ETHUSDT 2418.5600 89.8% 2
AVAXUSDT 7.2690 100.0% 1

Each symbol is stuck at its own last-good price, consistent with a per-symbol cache that stopped
refreshing.

The result is an internally inconsistent (crossed) book

SOLUSDT snapshot 2026-09-06 06:00:03. True 1-minute kline close at that timestamp: 106.25.

percentage depth notional/depth
−0.2 591,693 104.59
+0.2 2,500 100.97
+1.0 2,890 101.40
+2.0 2,891 101.40
+5.0 329,900 107.44

The ask-side VWAP is $3.62 below the bid-side VWAP at the same instant, and cumulative ask depth
is effectively flat from +0.2% to +2% (2,500 → 2,891). The same snapshot on 2026-09-02 is correct
(bid −0.2 = 100.112, ask +0.2 = 100.337, true close 100.25).

The live API is unaffected

GET /fapi/v1/depth?symbol=SOLUSDT&limit=1000, queried 2026-09-07, gives a healthy two-sided book:
bid/ask notional ratio 1.15 within 1% of mid (~$16.6M bid vs ~$14.5M ask). The archive reports
270.39 for the same band on 2026-09-06. Only the archive export is affected.

File metadata (no revision has occurred)

file Last-Modified bytes sha256 vs published .CHECKSUM
SOLUSDT-bookDepth-2026-09-02.zip Thu, 03 Sep 2026 08:32:58 GMT 562,326 match
SOLUSDT-bookDepth-2026-09-03.zip Fri, 04 Sep 2026 07:52:48 GMT 525,475 match
SOLUSDT-bookDepth-2026-09-05.zip Sun, 06 Sep 2026 07:25:44 GMT 509,147 match
SOLUSDT-bookDepth-2026-09-06.zip Mon, 07 Sep 2026 07:47:37 GMT 465,111 match

Compressed size falls ~17% while the row count stays at 34,560, which is consistent with
increasingly repetitive (frozen) content.

  1. Can the bookDepth exports for 2026-09-03 onward be regenerated for USD-M symbols?
  2. Is the same defect present on COIN-M and on the monthly aggregates?
  3. Please confirm whether the archive is expected to be reissued, so downstream consumers know
    whether to treat the window as permanently unusable.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions