Real-time Binance Futures volatility hunter — 18 signal detectors, a terminal dashboard, and a live web UI.
StrikeChart streams the entire Binance USD-M Futures market over WebSocket and runs 18 independent detectors over it in real time, surfacing the symbols that are moving right now — volatility spikes, volume/velocity bursts, funding-rate and open-interest shifts, liquidation cascades, whale prints, and more. It runs as a fast terminal TUI or a browser dashboard, with optional audio alerts and an optional Python ML scoring service.
⚠️ Not financial advice. This is a market-scanning and research tool. It surfaces statistical signals; it does not place trades. Crypto futures are high-risk — do your own research.
-
Live market firehose — connects to Binance Futures public WebSocket streams (no API key required for market data).
-
18 detectors, each scoring symbols independently and feeding a combined opportunity ranking:
Volatility Volume Velocity (rate of change) Funding rate Open interest Liquidations Whale prints Multi-timeframe alignment Pattern Range / breakout Correlation Sentiment New-listing Smart signal (composite) Top picker Win-rate Entry timing Notifications -
Two interfaces from the same engine:
- Terminal TUI (
blessed/blessed-contrib) — dense, keyboard-driven, great over SSH. - Web dashboard (
express+socket.io) — live-updating browser view.
- Terminal TUI (
-
Audio alerts on high-conviction signals (toggleable).
-
Local persistence via SQLite (
sql.js) — no external DB to run. -
Optional ML service (
ml-service/, Python + FastAPI) for model-based signal scoring. -
Production-ready deployment — Dockerfile,
docker-compose.yml, nginx config, PM2 (ecosystem.config.cjs), and asetup-vps.shone-shot VPS bootstrap. -
Extra data sources wired in (CoinGecko, Etherscan clients) for enrichment.
Requirements: Node.js 20+. (Optional: Docker, and Python 3.11+ for the ML service.)
git clone https://github.com/quantumlegal/strikechart.git
cd strikechart
npm install
cp .env.example .env # tweak thresholds / sound if you like — defaults work out of the boxRun the terminal scanner:
npm run dev # live (tsx watch)
# or, built:
npm run build && npm startRun the web dashboard:
npm run dev:web # then open the printed localhost URL
# or, built:
npm run build && npm run start:webNo Binance API key is needed for market data — StrikeChart uses public WebSocket streams. Keys are only
read if you set them in .env (and are never required to run).
All configuration is via .env (see .env.example). Common knobs:
| Variable | Purpose |
|---|---|
SOUND_ENABLED |
Enable/disable audio alerts |
MIN_CHANGE_24H |
Minimum 24h % move to consider a symbol |
VOLUME_SPIKE_MULTIPLIER |
How far above average volume counts as a spike |
MIN_VELOCITY |
Minimum price-velocity threshold |
BINANCE_API_KEY / BINANCE_API_SECRET |
Optional — only for authenticated endpoints |
Detector defaults live in src/config.ts; production overrides in src/config.production.ts.
ml-service/ is a self-contained Python FastAPI app that scores signals with a model. It runs
independently and StrikeChart calls it when enabled.
cd ml-service
pip install -r requirements.txt
python run.py # serves http://localhost:<port> (docs at /docs)StrikeChart ships with everything to run on a small VPS:
docker compose up -d # app (+ ml-service if enabled)or bare-metal with PM2:
./setup-vps.sh # installs deps, builds, configures nginx + PM2nginx-strikechart.conf and DEPLOYMENT.md cover the reverse-proxy / TLS setup.
Binance Futures WebSocket ──▶ dataStore ──▶ 18 detectors ──▶ opportunity ranking
│
┌──────────────────────┼───────────────────────┐
terminal TUI web dashboard audio alerts
(blessed-contrib) (express+socket.io) (play-sound)
│
optional ML service (FastAPI)
src/binance/— WebSocket + REST client and typessrc/core/— data store, filters, opportunity scoringsrc/detectors/— the 18 signal detectorssrc/services/— CoinGecko / Etherscan enrichmentsrc/index.ts— terminal entry ·src/web-index.ts— web entry
MIT — see LICENSE. Built and maintained by @quantumlegal.