Backtest, validate, and paper-trade your strategies with a deterministic AI reasoner, ML safety gates, and a Redis-persisted kill switch.
Built for traders who want to scale paper
No single component can approve a live order. Each one can reject. The whole platform is biased to do nothing unless every gate agrees.
Kill switch, performance gates, strategy selection, and TOTP step-up authentication wrap the whole pipeline.
Rule-based signal evaluator. Eight hard checks: trend, EMA alignment, RSI window, ATR, volume ratio, R:R, score, indicator completeness. No prompts, no hallucinations.
Returns approved=false / source='no_model' when no artifact exists. Never random. Block execution entirely with ML_REQUIRED_FOR_EXECUTION=true.
One click halts every order path. Persists across container restarts. Admin-only with TOTP step-up. Every activation is audit-logged.
Every backtest auto-writes win rate, profit factor, expectancy, max drawdown, and sample size to StrategyTimeframePerformance. Strategy selection reads from it.
Celery worker runs every 60 seconds. Per-bot timeframe cooldown, candle availability check, session compatibility, kill-switch pre-check. Logs every decision.
Alpaca, Binance, TradeLocker, MT5, Interactive Brokers, paper. Symbol mapper normalizes BTCUSD ↔ BTCUSDT ↔ EUR/USD across every provider.
Kill switch, live bot start, broker live-enable — all require a fresh TOTP code on the request. Configurable, audited, off-by-default in dev.
Every login, role change, kill-switch toggle, live-trade attempt, broker connect — all written to an immutable log with IP and user agent. UI filters and stats.
Docker compose, Python 3.11, FastAPI, Next.js 15. Postgres + Redis included. Runs on a $5/mo VPS. Your data never leaves your infrastructure.
The platform ships with LIVE_TRADING_ENABLED=false. To turn it on a broker account, you need a fresh TOTP code, an admin role, and a strategy that has passed the performance matrix. The mock AI cannot approve trades. ML returns deterministic "no model" results when no artifact exists.
One Docker stack, full source, your data stays on your VPS. No usage caps, no per-trade fees.
Open the app, generate synthetic candles, train a model on your laptop in 30 seconds, and watch a paper bot dispatch its first signal.
Open the app — paper modeNo card. No live trading by default. Full control of your data.