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
analysisreport-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
$5fee-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-runanalysis→ go/no-go.
Status (2026-06-12) — T19 still OPEN; offline edge confirmed (de-risked) via validate.rs
validate.rs(commit4b3176d) 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 vsP_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.
| # | Gate | Why it blocks | Resolves in |
|---|---|---|---|
| 1 | Settlement 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) |
| 3 | Actual 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) |
| 4 | Resolution 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) |
| 5 | Live-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 |
| 6 | Geoblock from deployment IP + ToS on automated trading (Hungary currently not blocked, but fragile). | Legal/operational viability of running the bot. | Observe probe (Task 13) |
| 7 | pUSD 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/
COPYinserts 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
τ_minfloor 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, slugbtc-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_shorttermschema (crypto-shortterm-phase0-live-milestone). ✅ - Phase-0 codebase complete: full stack built/tested/committed (codebase commit
97f238d), source repowowjeeez/pmv2-crypto-algo@a11ce63; theanalysisreport-gen runs and writesdocs/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. ✅
Related
- crypto-shortterm — project index.
- crypto-shortterm-phase0-codebase-complete — codebase complete + first data; sharpens gate 5 (empty-book / 0.98-spread) and confirms T19 + the funded fee-at-match are now data-gated.
- crypto-shortterm-phase0-live-milestone — first live run; resolves Chainlink access + 5-min-market confirmation, and surfaces the recorder-batching prerequisite.
- crypto-shortterm-strategy-design — where strategy/model questions get resolved.
- crypto-shortterm-data-sources — venue facts behind these CONFIRM gates.
- crypto-shortterm-backtesting — the Phase-0 analysis that closes gates 1, 4, 5.