Paper trading by default · live execution gated

Build trading discipline. Let AI keep the gates.

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

411
Tests passing
5
Strategy families
4
Asset classes
100%
Open
Live paper
BTCUSD · 15m
$12,247
Equity (paper account)
+22.47%
YTD
47.7
Win %
1.81
PF
44
Trades
6.1%
Max DD
AI approved · long BTC
Risk: 0.5% · RR 2.5
The pipeline

Every signal passes five gates before it can trade

No single component can approve a live order. Each one can reject. The whole platform is biased to do nothing unless every gate agrees.

Market Data
Gate 1
Signal Engine
Gate 2
AI Reasoner
Gate 3
Risk Engine
Gate 4
Broker
Gate 5

Kill switch, performance gates, strategy selection, and TOTP step-up authentication wrap the whole pipeline.

Built for operators

Everything a serious trader needs. Nothing they don't.

Deterministic AI reasoner

Rule-based signal evaluator. Eight hard checks: trend, EMA alignment, RSI window, ATR, volume ratio, R:R, score, indicator completeness. No prompts, no hallucinations.

ML safety gate

Returns approved=false / source='no_model' when no artifact exists. Never random. Block execution entirely with ML_REQUIRED_FOR_EXECUTION=true.

Kill switch in Redis

One click halts every order path. Persists across container restarts. Admin-only with TOTP step-up. Every activation is audit-logged.

Performance matrix

Every backtest auto-writes win rate, profit factor, expectancy, max drawdown, and sample size to StrategyTimeframePerformance. Strategy selection reads from it.

Bot dispatcher

Celery worker runs every 60 seconds. Per-bot timeframe cooldown, candle availability check, session compatibility, kill-switch pre-check. Logs every decision.

Multi-broker, one interface

Alpaca, Binance, TradeLocker, MT5, Interactive Brokers, paper. Symbol mapper normalizes BTCUSD ↔ BTCUSDT ↔ EUR/USD across every provider.

TOTP 2FA step-up

Kill switch, live bot start, broker live-enable — all require a fresh TOTP code on the request. Configurable, audited, off-by-default in dev.

Append-only audit log

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.

Open + self-hosted

Docker compose, Python 3.11, FastAPI, Next.js 15. Postgres + Redis included. Runs on a $5/mo VPS. Your data never leaves your infrastructure.

Safety architecture

Live trading is locked by default

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.

  • Mock AI cannot approve trades — guarded at the executor level
  • ML never returns random predictions when no model is loaded
  • Strategy selection rejects until the performance matrix has data
  • Kill switch state persists in Redis across container restarts
  • TOTP step-up required for every HIGH-RISK action
  • External AI / video analysis opt-in only, off by default
Paper trading active
Live disabled
Kill switchInactive
AI reasoner modeDeterministic
ML modelLoaded · v3
Performance gateWin 72% · PF 1.84
TOTP step-upRequired
Live executionLocked
Audit trail411 tests · all green
Get started

Self-hosted. Yours. Forever.

One Docker stack, full source, your data stays on your VPS. No usage caps, no per-trade fees.

Solo

Self-host

Free
Your VPS, your data
  • Full platform, all features
  • Paper trading + safe live mode
  • Multi-broker support
  • Self-managed updates
  • Community support
Get the code
Enterprise

On-prem

Custom
Bring your own infra
  • Self-hosted with our help
  • SLA + private support
  • Strategy review by our quants
  • Custom broker integrations
  • SOC-2 compliance assistance
Talk to us

Stop trading on instinct.
Trade on evidence.

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 mode

No card. No live trading by default. Full control of your data.