For Agents

Unresolved decisions for crypto-shortterm (Rev 2). The CONFIRM gates below are hard blockers — Phase 1 (taker) and any capital are gated on resolving them in Phase 0. Standalone, clean-slate project: everything is derived from scratch within it.

Working note for open questions and unresolved decisions of crypto-shortterm.

Phase-0 CONFIRM gates (BLOCKERS — no capital until resolved)

These must be answered by the observe-only pipeline before Phase 1

Tracked against the plan at /Users/levander/coding/pmv2/crypto_algo/docs/superpowers/plans/2026-06-08-phase0-observe-and-confirm.md.

Status (2026-06-08) — gates are now DATA-gated, and there's a new top risk

The Phase-0 codebase is complete and the analysis report-gen runs (crypto-shortterm-phase0-codebase-complete); these gates now close on real data from the @deploy continuous run, not on more code. New #1 watch: the first thin read (2 windows) showed Polymarket book spread ≈ 0.98 — possibly empty/untradeable books. This sharpens gate 5 and is the single most likely decider of the Phase-0 go/no-go. The final two items —

  • T19 — the Phase-0 exit/gate decision, and
  • gate 3 — the funded $5 fee-at-match CONFIRM

are both gated on accruing real data via the continuous run (calibration + a stable basis/spread read). Sequence: @deploy deploys observe → data accrues across windows → re-run analysis → go/no-go.

Status (2026-06-12) — T19 still OPEN; offline edge confirmed (de-risked) via validate.rs

validate.rs (commit 4b3176d) ran a three-pronged leakage debunk-or-confirm pass on 198,733 rows / 243 test windows. T19 is NOT passed — it remains OPEN, status: offline edge confirmed (promising, de-risked), live-capturability UNCONFIRMED. What’s de-risked: at τ≥60s the all-trades baseline is −3.21%, so the earlier +2.08% baseline WAS near-expiry 0–60s leakage — that concern is resolved. The ≥60s gated strategy nets +1.61%/trade at 0 slip and +0.81% at 1% slip on ~44k test trades; ~54% of PnL sits outside the leaky zone. A real OFFLINE forecast edge survives the debunk. Why this is NOT a pass: still an offline backtest with optimistic fills (top-of-book, no depth/capacity — sizes aren’t recorded; book ~1s stale vs P_fair), which for a latency-style edge structurally overstates what’s live-grabbable; the edge is slippage-sensitive (halves at 1% cost); and it’s a single train/test split, not the spec’s purged/embargoed walk-forward + deflated Sharpe + t≈3. Remaining gates before any GO: full purged walk-forward + deflated Sharpe/t≈3; a capacity/depth read (needs recording book sizes); and — decisive for a latency edge — a forward paper-trade (real-time, real fills, no money). See crypto-shortterm-phase0-validation.

#GateWhy it blocksResolves in
1Settlement cadence + timestamps — report cadence/heartbeat, deviation trigger; which report timestamp Polymarket samples for open (K) and close. (Ingestion path RESOLVED: read on-chain on Polygon via Alchemy RPC, ~1s poll — verified live 2026-06-08, crypto-shortterm-phase0-live-milestone. Remaining: the open/close sampling rule.)Defines K and settle; wrong sampling → wrong P_fair.Observe (plan Task 12)
2 / ties → Up re-verified against a live market’s rules JSON (Gamma API).The tie-break is load-bearing at p≈0.5.Observe (Task 12)
3Actual fee at match via a $5 fill — docs (0.07) vs legacy API field disagree.Sizing + fee-regime selection depend on the true deduction. Observe-incompatible → gated manual step at start of Phase 1.Phase 1 start (Task 18/19)
4Resolution liveness — do these Chainlink-sourced markets use a fast automated resolver, or the full UMA ≥2h challenge?Determines whether capital locks ≥2h (drives the sell-before-resolution exit).Observe — time a real resolution (Task 13)
5Live-window depth / book spread — real touch depth and a crossable two-sided book during windows across many windows (not snapshots). ⚠ TOP RISK: first analysis read saw spread ≈ 0.98 (bid ~0.01 / ask ~0.99 = effectively empty/untradeable) on 2 windows — if it holds it kills the tradeable edge (crypto-shortterm-phase0-codebase-complete).Taker capacity / ramp; whether there is any book to trade at all near expiry.Observe + analysis (Tasks 13, 18) — needs many windows
6Geoblock from deployment IP + ToS on automated trading (Hungary currently not blocked, but fragile).Legal/operational viability of running the bot.Observe probe (Task 13)
7pUSD allowance + current contract addresses.Needed before any Phase-1 order/settlement.Observe (Task 13)

Modeling / implementation questions

  • Binance products for σ / OFI — spot vs perp; how many book depth levels.
  • Chainlink ingestion path — stream SDK vs REST vs WS; auth. RESOLVED: on-chain aggregator read on Polygon via Alchemy RPC (~1s poll), verified live 2026-06-08. No paid Data Streams tier needed.
  • σ estimator — noise-robust method; EWMA half-life as a validated hyperparameter; intraday seasonality; cold-start warm-up + sanity bounds (validate the prior σ=0.6 against measured vol — see σ warm-up).
  • Supabase schema + migrations — unique keys, idempotent upsert, partitioning / retention; WAL format. New (live run): the async recorder’s per-row inserts saturate on raw ticks (~50/s) → throttled to 1/s for Phase 0; batched/COPY inserts required for Phase 1 / finer basis/σ (2. Recorder throughput saturates on raw Binance ticks — Phase-1 blocker).

Strategy

  • After Phase 0: lead with taker or maker? Taker economics may prove marginal (depth-limited, ~2.5% fee mid-window) → maker (0-fee + 20% rebate) could be promoted first. The Phase-0 exit report decides.
  • ETH 5-min as a second instrument (after BTC proves out).

Execution

  • Latency budget vs Polymarket quote staleness (not an HFT race) — confirm the τ_min floor empirically from measured RTT + cancel latency + clock δ.

Cross-venue (later)

  • Any short-term crypto arbitrage between Polymarket and Kalshi? (Parked.)

Resolved (Rev 2)

  • Settlement source: Chainlink BTC/USD print (read on-chain on Polygon), not Binance. ✅
  • Chainlink access: on-chain aggregator read via Alchemy RPC — no paid Data Streams tier needed (was a hard blocker). Verified live 2026-06-08. ✅
  • 5-min market exists: series btc-up-or-down-5m, slug btc-updown-5m-<ts>, 300s windows — confirmed live via Gamma. (A prior build wrongly pivoted to 15-min via a 900s timestamp-floor bug; corrected.) ✅
  • Observe pipeline runs live: all four feeds + recorder verified writing to the isolated crypto_shortterm schema (crypto-shortterm-phase0-live-milestone). ✅
  • Phase-0 codebase complete: full stack built/tested/committed (codebase commit 97f238d), source repo wowjeeez/pmv2-crypto-algo @ a11ce63; the analysis report-gen runs and writes docs/superpowers/phase0-report.md (crypto-shortterm-phase0-codebase-complete). ✅ (Remaining is data, not code.)
  • Binance↔Chainlink basis is real near expiry: first measured ≈ -$40 (~6 bps) — corroborates the reframe; still needs a per-τ distribution from many windows. ✅ (directional)
  • Edge framing: oracle-lag arbitrage (predict next Chainlink print from Binance), not a microstructure directional bet. ✅
  • Primary trading regime: near-expiry (fee → 0), not mid-window (fee-killed at p≈0.5). ✅
  • Instrument first: BTC 5-min only; ETH later. ✅
  • Project relationship: standalone, clean-slate — no imports from other projects. ✅