BL-A-003: Data Dictionary
BIJECTIVE LABS
BL-A-003: Data Dictionary
Status: RELEASED
Classification: PUBLIC
Revision: 1
Date: 2026-09-07
What each stream in the substrate carries, and the conventions a reader needs to interpret the published artifacts.
1. Historical streams, first venue
| Stream | Granularity | Instruments | Size |
|---|---|---|---|
kline_1h | Hourly bars | 154 | 215.0 MB |
kline_1d | Daily bars | 154 | 11.0 MB |
funding | Per settlement | 154 | 6.9 MB |
oi_1h | Hourly open interest | 154 | 81.3 MB |
oi_5m | Five-minute open interest | 25 | 0.5 MB |
Bars carry open, high, low, close, volume and turnover against a bar-open
timestamp. The convention throughout this record is that a bar timestamped t
covers the interval ending at t, so a signal computed on that bar is
measurable at t and not before.
That convention is not cosmetic. Reading a bar as covering the interval starting
at t shifts every signal one period into the future and produces a look-ahead
result that passes every other check.
2. Live capture streams, first venue
| Stream | Trigger | Files | Size |
|---|---|---|---|
liq | Liquidation event | 15,224 | 43.1 MB |
ob_snap | Liquidation event | 15,219 | 321.1 MB |
trades | Liquidation event | 15,223 | 207.2 MB |
All three are event-triggered rather than scheduled. That is the design decision
documented in BL-TR-002 section 4, and it is why post-event reversion coverage
came out at 29 percent.
2.1 The liquidation side field
The field requires care and it caused an incident.
The venue's earlier topic reported the side of the order performing the liquidation. Its replacement reports the side of the position being liquidated. The two conventions invert:
old topic: is_long = ( side == "Sell" ) order-side convention
new topic: is_long = ( side == "Buy" ) position-side conventionAny reader working with liquidation data across that boundary must know which
convention their source uses. Getting it wrong flips the direction of every
cascade event. BL-IN-005 is the case study.
3. Second venue streams
| Stream | Content | Size |
|---|---|---|
positions | Wallet-level open positions | 2,921.4 MB |
wallets | Wallet enumeration and metadata | 331.5 MB |
trades | Public trade tape | |
book | Order book snapshots | |
assetctx | Per-instrument context, including funding | |
candle | Bars | |
funding_xvenue | Cross-venue funding comparison | |
userfills_raw | Per-participant fill records |
The position stream is what makes this venue distinct. Each record carries the holder, the instrument, the signed position size, the entry price, the liquidation price, margin used, and maximum leverage.
Two of those fields carry information no anonymous venue can provide. The liquidation price makes forced-flow pressure directly observable rather than inferred, and the entry price makes a participant's unrealised position knowable.
Position records are sampled at a 93-second median latency. That is a declared
cadence, not a data property, and BL-FM-002 section 5.1 explains the trade it
represents.
4. Derived capture
| Stream | Content | Size |
|---|---|---|
leadlag events | Paired large-cap and small-cap flow windows | 817.1 MB |
Captured at one-minute resolution. The hypothesis it served found price adjustment contemporaneous at that resolution, which closes the question at one minute and leaves it open below one minute.
5. Redaction in the published artifacts
Every artifact under _evidence/ is published as the instrument emitted it, with
two changes.
Formatting. JSON re-serialised with indentation. No key, value or ordering altered.
Identifier redaction. Third-party wallet identifiers replaced by a stable pseudonym.
original 0x...
published wallet_<8 hex characters of a hash of the original>The pseudonym is stable, so two records referring to the same participant remain identifiable as such, which is what the identity research depended on. The identity itself is not recoverable.
| Artifact | Fields redacted | Keys affected |
|---|---|---|
E-0055 | 305 | addr, user_a |
E-0057 | 1 | hlp_addr |
No other artifact contained a wallet identifier, a host address, an email address or a credential-shaped string. The published set was re-scanned after redaction and returns zero residual identifiers across all 59 files.
Redaction never touched a value carrying a result.
6. Units and sign conventions
| Quantity | Unit | Sign convention |
|---|---|---|
| Returns, costs, spreads, markout | Basis points | Negative means a loss to the position holder |
| Funding | Basis points per settlement | Positive means longs pay |
| Funding accrual in the cost identity | Basis points | Signed by position direction; a short receives when funding is positive |
| Position size | Signed units of the instrument | Negative is short |
| Markout | Basis points | Negative means the price moved against the passive side |
| Open interest | Contract units, per instrument | |
| Timestamps | UTC, always |
The funding sign is the one most often reversed by readers coming from a different source. In this record a positive funding rate means the long side pays, so a short position accruing through a positive settlement receives.
7. Era boundaries
| Era | Range |
|---|---|
| Held-out A | Substrate floor to 2021-12-31 |
| Research | 2022-01-01 to 2025-06-30 |
| Held-out B | 2025-07-01 onward |
Boundaries are inclusive of the stated dates and are enforced in code rather than
by convention. BL-IS-007 is the guard.
The Programme II research panel drawn from the research era is 12,970,563 rows across 154 instruments and four streams, occupying 314 MB, built with zero retries.
8. What a gap means
Lake partitions are written atomically with explicit gap marking. A partition that failed to write is recorded as a gap rather than being silently absent.
This distinction matters more than it appears. Without it, a downstream reader
cannot tell no data from no events, and on a sparse event stream those look
identical. The programme lost more than nine days to exactly that confusion on a
different feed, and the case is BL-IN-005.
9. Cross-references
BL-TR-002 the substrate. BL-A-001 the evidence register. BL-FM-002 sections
5 and 7 for cadence and substrate as declared parameters. BL-IS-007 for era
enforcement.
Copyright (c) 2026 Bijective Labs. All rights reserved.