┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ Binance 1m │ │ Chainlink │ │ Polymarket │
│ Klines + WS │ │ (Polygon) │ │ CLOB + WS │
└────────┬────────┘ └────────┬─────────┘ └────────┬────────┘
│ │ │
└──────────────────────┼─────────────────────────┘
│
▼
┌───────────────────────┐
│ Main Loop (1s poll) │
│ - TA (RSI, MACD, │
│ VWAP, Heiken Ashi)│
│ - Regime detection │
│ - Probability model │
│ - Robust edge │
└───────────┬───────────┘
│
▼
┌───────────────────────┐
│ BotState (JSON) │
│ broadcast via WS │
└───────────┬───────────┘
│
▼
┌───────────────────────┐
│ Next.js Visualizer │
│ /app dashboard │
└───────────────────────┘
- Data fetchers — Binance REST, Chainlink RPC/WS, Polymarket CLOB
- Indicators — RSI, MACD, VWAP, Heiken Ashi, realized volatility
- Engines — Regime, probability, edge quality, robust edge
- WebSocket server — Broadcasts
BotState to connected clients
- Dashboard —
/app route, consumes WebSocket state
- Docs — Static MDX content
- Disclaimer gate — Must accept before accessing
/app
- Bot polls Binance, Chainlink, Polymarket every second
- Computes TA, regime, probability, edge quality, robust edge
- Builds
BotState and broadcasts via WebSocket
- Visualizer receives state and renders dashboard
- User sees live metrics; no trading execution