| Component | Read | Detail | Predictive weight |
|---|
| Window | Strike | YES last | Volume | Settle value | Result |
|---|
| Level | Δ from spot | P▲ phase | P▲ hour | Implied call |
|---|
| Step | Time | Projected | Δ | P5 | P95 |
|---|
| Step | n | MAE bp | Flat MAE | vs flat | Band cover | Dir hit |
|---|
| Window | Open | Close | Δ | Range | Strikes | Hits |
|---|
| Window | T+ | Strike | Call | P@arm | P↑ fin | Vote | Outcome | Hit | Kalshi |
|---|
Tape. The plotted price is a sticky-leader tape: one exchange book plots at a time — the leader, chosen by latency priority — streaming its prints at full socket speed, while the other feeds run verification. Every leader print must be confirmed by a peer within 25 bp; a leader that goes silent for 3 s or prints an unconfirmed outlier is demoted immediately and the next fresh confirmed book takes the line (the header names the live leader). No median, no aggregation, no cross-book interleave: the line is one book’s true tape, and the sources exist to police it. The internal volatility series builds from the same tape at 1-minute resolution, seeded from Kraken OHLC at load.
Feeds. Primary transport is a WebSocket stream per exchange with reconnect, backoff, and a 15 s silence watchdog; REST cross-verifies at 3 s (relaxed to ~12 s while a socket is healthy) and a REST print disputing its own socket by >25 bp flags drift. Settlement uses only prints fresh within 10 s.
Rounds. Intervals open on global time — quarter-hour wall-clock boundaries, phased 5-5-5. One strike per window, armable at any moment to T−5 s; arming over an existing strike replaces it and the prior is logged WITHDRAWN with its last odds — the record cannot be gardened. The window open is reconstructed from recorded prints at the exact boundary; settlement is a ≥⅔ vote of fresh feeds against the strike at the quarter-hour sharp (split → DISPUTED, under two voters → VOID). Calls tally against the 50% coin. Each settled window writes an interval-analysis row (open, close, Δ, realized range, strikes, hits) and the trend map reads the recent sequence. Logs are session-scoped.
Strike probabilities. Four estimators read P(settle above strike) each second: the analytic lognormal digital under EWMA volatility with martingale drift, a drift-adjusted variant, and an empirical read from historical τ-minute moves (trailing pool, overlapping samples). The analytic and drift estimators are hour-anchored — the series back-traces to the start of the containing hour, blending the hour's own realized volatility and trend with shrinkage weight n/(n+15), resetting clean at :00 so all four phases share one analytical origin; anchor state reports live below the rounds table. Headline OVER and UNDER are the median of the four; the odds at placement are frozen into each strike's record. Saturation toward 0/100 near expiry with price pinned is correct shape, not confidence. Nothing here is trading advice.
Signals. A microstructure read, recomputed each second, with every component labeled by what it can claim. Velocity is drift in bp/min over 60 s and 5 min with acceleration — descriptive; at these horizons momentum barely predicts. Regime is the AR(1) coefficient of 15-second returns over ten minutes, and its magnitude is shown as the directional read’s predictive weight, because that is what it is. Order-flow imbalance is net aggressor buy minus sell volume from the side-bearing trade streams — the legitimate form of “polling transactions” (price forms on exchange books; the chain settles ownership afterward, and transaction hashes carry no information), and the best-documented short-horizon predictor: real, signed, small. Dislocation compares the leader book to the peer cluster — an isolated gap is liquidity-driven and tends to revert under arbitrage (the honest form of an “artificial trough”); a cluster-wide move is information and tends to persist. Reaction levels map round numbers, hour open, 60-minute extremes and the strike by proximity — documented order clustering makes them zones, never calls. A fourth probability estimator, flow, tilts drift by imbalance and pulls the start price toward the peer cluster under isolated dislocation; the headline is the median of all four.
Tape extrapolation. The signals read is extended five minutes ahead at one-minute steps on its own stage. Velocity carries forward with persistence set by the regime coefficient (positive φ persists, compounded per minute; non-positive φ contributes nothing — no momentum is extrapolated into a random walk), order-flow tilt decays on a ~2-minute half-life, mean-reversion toward the 5-minute tape mean applies when the regime says so, and an isolated dislocation pulls toward the peer cluster. Every step is clamped inside 2.5σ√k and carried with its P5–P95 band. The path is pinned each minute and graded at each step as the tape arrives — error, band coverage, direction — against the flat do-nothing path, which is the only test that matters for a read: it earns its place where its error runs below flat, and the ledger says where.
Interact. TUNE opens the adjusters, persisted in this browser. Axis: zoom pad, dilation and contraction rates, the minute the close-weight begins and its strength, and context lookback — all presentation. Confidence is the extrapolation band’s nominal coverage — 90% is 1.645σ, 70% tightens to 1.04σ, 99% opens to 2.58σ — and the ledger grades the claim: coverage falling below your setting is the slider overreaching. Adherence stretches or shortens how long the signals persist across the five minutes, graded the same way. The strike map lays a ladder of levels around spot with model odds at the phase expiry and at the hour’s end; the chips load a level into the arming tray, ARM commits it. Odds are the model’s side of a trade, not profit: enter the counterparty’s quoted ¢ and the tray prints edge (model minus market, in points) and EV per stake assuming the model is right and the contract pays $1.
Kalshi. The KXBTC15M window is polled from Kalshi’s public API — the market record every 15 s
(its floor_strike is the third-party strike, TBD until the window opens), the orderbook every 3 s,
and the day’s ladder every 5 min. At each open the strike auto-loads into the arming tray (ABOVE = YES,
BELOW = NO) and the quoted ¢ tracks the best ask on your chosen side, so the edge readout runs live; ARM
remains yours. Kalshi settles on a 60-second average of the CF Benchmarks real-time index while this
instrument votes six books at the instant, so the two can disagree at the margin — settled windows attach
their official result beside our outcome in the rounds log with a ✓/✗ when the strike matched.
Kalshi’s edge allows browser requests only from kalshi.com and localhost origins, so the page needs a
path. Preferred — zero configuration: this repository carries a Pages Function at
functions/api/[[path]].js; host the same repo on Cloudflare Pages (TUNE → CLOUDFLARE PAGES SETUP
→ Connect to Git → this repo → no build command, output directory / → Deploy) and the page
finds /api on its own origin automatically — no URL to paste, and Cloudflare redeploys on every
push. Alternatives: a Worker relay URL pasted into TUNE, or serving the file from localhost
(python3 -m http.server 8080). TEST probes whichever path is active.
Chart. Two states, both originating where the tape begins — no dead field. Armed, the frame is the round: clock-mapped 5-5-5 marks with minute minors, dollar gridlines on round steps, the strike as a dashed line with its axis tag (level + odds at set time; off-scale strikes as edge markers), the field ghost-tinted green above the strike and red below, the tape color-keyed to its side. The y-scale dilates instantly to contain jumps and contracts slowly when calm, and from mid-window a close-weight tightens the frame around the price–strike duel so resolution reads with increasing confidence toward the mark. Idle, the frame is the rolling tape, trend-colored. Dollar gridlines are always true; the zoom is presentation only.