Phase 2 — Paper trading active

AI-decided crypto trading with Python-enforced risk

Nine deterministic signal layers, a Claude decision step, and a risk engine that can veto any trade. Paper-traded first, shadow-ledger validated, transparent by default.

Session-cookie auth, signup gated, lockout + rate limits enabled.

Built like a trading desk, not a chat toy

Determinism where it matters, AI where it adds value, and a paper trail you can audit line by line.

Nine signal layers

RSI, MACD, orderbook, funding, CVD divergence, sentiment, whale flows, liquidations, and liquidity sweeps — each scored independently from −2 to +2.

AI on the decision step only

Claude Sonnet 4.6 receives an 8-layer payload and outputs a structured decision JSON. Python gathers data and computes indicators; AI only decides.

Deterministic risk engine

Sacred constants enforce position size, leverage, daily drawdown, correlation, and R:R. The AI cannot override the validator.

Paper-first by design

Starts on a $50 paper portfolio. Trades execute against simulated fills with real market data. Live trading only ships behind the Phase-4 validation gate.

Shadow-ledger validated

Every decision — including the ones the risk engine vetoed — is resolved counterfactually so per-layer attribution stays unbiased.

Transparent reporting

Equity curve, per-layer win rates, exit-reason mix, and the live Phase-4 readiness checklist. No black box.

How it works

Three steps. Two of them are pure Python — the AI only sees the decision step.

  1. 1

    Scan

    A deterministic Python scanner samples 9 signal layers from Hyperliquid, scores each from −2 to +2, and pre-filters out noise — only ≥2 non-zero layers with at least one ±2 reading qualify.

  2. 2

    AI decide

    The qualifying payload goes to Claude Sonnet, capped at 300 output tokens, with prompt caching on for a 90% discount. The decision is a strict JSON: action, conviction, size, leverage, TP, SL, hold.

  3. 3

    Risk-validate

    Python sees the AI decision and checks it against position-size, leverage, daily-DD, max-DD, correlation, and minimum R:R. Soft rejections keep scanning; hard rejections halt trading.

Built with

Python 3.11
FastAPI
PostgreSQL
Hyperliquid SDK
Claude Sonnet 4.6
Claude Haiku 4.5
Next.js 15
Tailwind + shadcn/ui