SYSTEM CONTRACT
SPACEBET COLLECTOR v0.7.0 · EVAL 2.1.0
TARGET MARKET
KALSHI KXHIGH / KXLOW
GATE VERDICTS
G1 FAIL · G2 INSUFF. SAMPLE 77/300
CAPITAL STATE
ZERO ORDERS · ZERO CAPITAL
RESEARCH QUESTION: Can a statistical market maker on daily temperature markets clear exchange fees, adverse selection, and professional competition? Answer per the pre-committed gates: not yet — and the data is allowed to say never.
QUANT RESEARCH — NO TRADING FLUTTER / DART HARNESS NWS & KALSHI WS API
MISSION — WHAT THIS IS
The Market

Kalshi runs daily event contracts on each day's HIGH and LOW temperature in about 20 US cities — for example, "Will today's high in NYC be 84–85°F?" Each contract pays $1 if it happens, $0 if it doesn't, so a price between $0 and $1 reads as a probability.

The Idea

A market maker continuously offers to both buy and sell those contracts, trying to earn the gap between the two prices. Whether that is actually profitable here — after fees, after being picked off by better-informed traders — is an open question. This project answers it with data before risking a dollar.

What We Collect

Every price change and trade in those markets, around the clock — the "tape." And the official weather record for each city's measuring station: METAR observations, National Weather Service forecasts, and the official daily climate reports that settle each day's contracts.

The Two Gates

Real money moves only if BOTH pass. GATE 1 — LIQUIDITY & TOXICITY: replay the recorded tape and simulate honest market-making; under the most conservative reading of four quoting styles, would it have cleared $15/day after fees? GATE 2 — FORECAST CALIBRATION: does our weather model predict settlement temperatures better than the market's own prices do, measured across at least 300 city-days?

Status

Collecting and measuring. Gate 1 has failed its first window; Gate 2 has not yet accumulated enough data to decide. No trading. No positions. No capital at risk.

The five MISSION sections — THE MARKET through STATUS — rendered in the app
GLANCE · REV B3 MISSION
LIVE HARNESS INTERFACE

The Glance — Telemetry HUD

FLUTTER RESPONSIVE UI
SpaceBet Glance HUD dashboard — collector vitals, alerts, and archive odometer
GLANCE · REV B3 LIVE
1. HUD INSTRUMENT SCREEN

Live Telemetry HUD

Collector vitals, planet-orb status, disk and replication alerts, and the tape-event odometer on one screen.

SpaceBet MISSION sheet scrolled to THE TWO GATES and STATUS
GLANCE · REV B3 MISSION
2. MISSION SHEET

The Gate Contract, In-App

The MISSION sheet scrolled to THE TWO GATES and STATUS — ending on "No capital at risk."

SpaceBet gate telemetry — Gate 1 and Gate 2 progress with honest verdict numbers and archive counters
GLANCE · REV B3 GATES
3. GATES & ARCHIVE

Gate Telemetry & Archive

Gate 1 / Gate 2 progress meters with verdict numbers, plus per-period trade, weather, and settlement counters.

ORDER-BOOK ROWS
187.5M
Archived Kalshi book deltas
MARKETS TRACKED
39,324
KXHIGH · KXLOW ladder contracts
TAPE EVENTS
25.57M+
Live odometer
INGEST RATE
~5.7 GB/day
SQLite, replicated off-site continuously
VALIDATION ARCHITECTURE

Pre-Committed Gates — The Verdicts

The pass/fail thresholds below were fixed before the data existed. The repository contains zero order-placement code; nothing unlocks until both gates pass on archived point-in-time tape.

GATE 1: LIQUIDITY & TOXICITY
FAIL 10 UTC DAYS · 2026-07-19 → 07-28

Replayed the archived tape under four mechanical quote rules with a pinned, pre-committed fill model (price-penetration fills, participation cap, inventory bands). The bar: the most conservative rule/horizon combination must clear >$15/day net of fees.

Slice Conservative $/day Bar
Forecast (morning) −$2.73 >$15
Observation (afternoon) −$34.27 >$15
Combined −$35.80 >$15

Aggressive quoting styles showed positive P&L, but the gate binds on the conservative end. Adverse drift after fills (informed flow) eats the captured spread. Verdict: FAIL.

GATE 2: FORECAST CALIBRATION (CRPS)
INSUFFICIENT SAMPLE 77 / 300 CITY-DAYS

Scores our forecast distribution against the market's implied distribution by CRPS (Brier is banned: on an ordered temperature ladder it scores a 1°F miss the same as a 10°F miss). Binding threshold: ≥300 resolved city-days, pooled and per-city.

ORACLE CRPS
1.0389
MARKET CRPS
0.8105

At 77 of 300 city-days the gate cannot decide. The early read is adverse: oracle CRPS 1.0389 vs market 0.8105 (lower is better). The bootstrap interval on the difference sits entirely on the market's side. The oracle wins 6 of 28 city cells, all overnight lows.

CONSEQUENCE & RESPONSE

Zero trading code was written; zero capital was at risk. A failed gate is the system working as designed. The response is Oracle v2: an EMOS post-processing track built on NBM's XND percentile spread, targeting the calibration deficit Gate 2 measured. Planning is public on the GitHub issue tracker. Gate 1 re-evaluates on future windows; the thresholds do not move.

Figures above are from the pinned evaluator-2.0.0 report run; current evaluator code is 2.1.0 (version coordination only — no fill-model change).

SECURITY & DATA RIGOR

Infrastructure & Security Controls

Zero-Balance Key Provisioning

Kalshi API keys grant full account access. The collector's VPS holds keys for a dedicated, zero-balance account. A compromised server exposes zero trading capital.

Point-in-Time Data Honesty

fetch_timestamp (when our machine received the packet) is the only legal join key for backtests. Model cycle times are metadata; assuming zero cycle lag fabricates illegal edge.

Litestream Replication & Rotation

SQLite database files rotate on period boundaries with continuous streaming replication off-site via Litestream and zero-downtime container restarts. 2-day archive rotation adopted after the 2026-07-27 disk-full post-mortem.

SYSTEM DATA PIPELINE

Collector Execution Architecture

DART SERVER & SQLITE
1. INGESTION

WebSocket & REST Ingestion

24/7 WebSocket connection tracking sequence gaps. Auto-triggers REST resnapshots on gap detection and batches SQLite writes every 100ms.

2. ORACLE PIPELINE

NWS Bulletin & METAR Ingestion

Fetches NWS NBM text bulletins (NBS/NBE) and METAR station observations with explicit gap rows when NWS endpoints 500.

3. EVALUATOR REPLAY

Tape Replay & Gate Testing

Pure reader evaluators replay archived SQLite tapes at full temperature ladder level to produce the Gate 1 and Gate 2 verdicts above.

ROTHENBERG INDUSTRIES • QUANT & IOT SYSTEMS

High-Reliability Data Pipelines & Real-Time Telemetry

We build deterministic data ingestion pipelines, real-time Flutter telemetry HUDs, and fault-tolerant system architectures.