Free public dashboard for monitoring sharp probability moves in prediction markets.
- Live providers:
Polymarket,Kalshi Opinion: disabled until official API key is granted (Coming soonin UI)- Snapshot cadence:
1 minute - Delta windows:
3m,9m,30m,1h,3h,6h,12h,24h - Tabs:
Opaque-info-sensitivevsExogenous-arbitrage - Telegram alerts: single global channel, immediate push, opaque signals only
apps/web: Next.js dashboard + internal API (/api/movers)apps/worker: ingestion + delta + classification + telegram pipelinepackages/shared: shared types/windows helpers
npm installcp .env.example .envSet at least:
DATABASE_URLTELEGRAM_ENABLED,TELEGRAM_BOT_TOKEN,TELEGRAM_CHAT_ID(if alerts enabled)
docker compose up -d postgresTerminal A:
npm run dev:workerTerminal B:
npm run dev:webWeb runs on http://localhost:3000.
GET /api/movers
Query params:
providers=polymarket,kalshiwindow=3m|9m|30m|1h|3h|6h|12h|24hsort=asc|desctab=opaque|exogenous|allcategory=all|crypto|politics|policy|sports|macro|otherincludeLowLiquidity=true|falseminLiquidity=5000maxSpread=15
- Evaluated every worker cycle.
- Label gate:
opaque_info_sensitiveonly. - Default thresholds (absolute pp):
3m >= 5,9m >= 7,30m >= 10,1h >= 133h >= 18,6h >= 22,12h >= 28,24h >= 36
- Cooldown:
30 minon same(provider, market, outcome, window, direction).
- Opinion official API is key-protected; this repo keeps adapter wiring but leaves it disabled by default.
- Classification is rules-first with lightweight external signals (Binance spot move).