Frozen archive of the quantrabyte instrument-service metadata cache. The upstream instrument-service is no longer reachable, so this cache cannot be regenerated — it is irreplaceable. This repo gives that data a durable, version-controlled home (Git LFS for the 490 MB deribit bundle).
quantrabyte infra (InstrumentCache, Instrument, trading_session) reads a flat
metadata cache root. Each <exchange>.json is a self-describing wrapper:
<exchange>.json # {"version": "v3.0.0", "snap_time": "<ISO-8601 UTC>", "instrument_info": {id: record}}
_fingerprints.json # {"<exchange>.json": "<sha256 of the whole file>"} integrity sidecar
The reader reads version / snap_time from the wrapper, verifies each bundle's sha256
against _fingerprints.json at load (fail-loud on an unsigned or drifted bundle), and
serves instrument_info. version is v3.0.0; snap_time is 2026-05-26T00:00:00.000Z.
The six covered venues: binance_spot, binance_usdm, binance_coinm, deribit,
gate_perp, gate_spot.
Cloned at a pinned ref into a gitignored local path (e.g. ~/data_cache/instruments) on
bootstrap; quantrabyte's config resolver points the instrument metadata root there
(resolution order: in-code args > QB_INSTRUMENT_METADATA_ROOT env > project-root
quantrabyte.toml > in-package default > fail-loud).
instrument_service/<version>/ holds versioned provenance snapshots:
| Path | Format |
|---|---|
instrument_service/v2.0.2/<exchange>.json |
raw {id: record} (pre-wrapper provenance) |
instrument_service/v3.0.0/<exchange>.json |
wrapper + _fingerprints.json (matches the consumed root) |
The publish shape, integrity sidecar, and per-venue validation are defined by the
quantrabyte contract package (quantrabyte/quantrabyte/contract/).
Two venues carry data-quality items that the contract validator flags and that are deferred to a separate data-normalization pass (the record bytes are preserved as-is here, never mutated):
- deribit —
onboard_date/expiry_date/ change-logvalid_toare stamped in nanoseconds rather than the contract's microseconds. - gate_spot — 95 records carry a degenerate
onboard_date: 0sentinel.
Their _fingerprints.json entries are computed over the whole file bytes (the same
integrity primitive the reader verifies), so the reader loads every bundle; the validator
findings above are the tracked residual, not a format defect.
Seeded byte-identical from the res_infra working-tree instrument cache on 2026-06-14;
wrapped into the v3.0.0 self-describing format on 2026-07-09.