
Open-source campaign-driven agent harness for quantitative trading.
TWELVE CREWMATES·ONE TRADING FLOOR·PAPER-FIRST SAFETY
THE ROSTER
Every agent has a scoped job declared in a single manifest. The planner reads it, the dispatcher runs it, and you watch it on the trading floor.
↳ Click any crewmate to see what it does
CAPABILITIES
AGENTS
Each agent has a scoped job, declared inputs/outputs, and a matching crewmate on the dashboard trading floor — complete with breathing, blinking, and species-specific idle animations.
ROUTING
Anthropic, OpenAI, Google Gemini, and local Ollama — swap providers in config, not code. OAuth via a Node.js sidecar means Claude Code / Codex / Gemini CLI logins just work.
CAPITAL SAFETY
Broad goals like "go make me cash" compile into a paper-first state machine. The campaign only advances to paper after a held-out validation gate, and pauses on drawdown breach — not arbitrary cycle limits.
CODE SAFETY
LLM-generated factor and training code runs in subprocess-isolated sandboxes with AST-enforced import whitelists, blocked dunder access, env-var stripping, and resource caps.
DATA
Twelve free (Yahoo Finance, FRED, SEC EDGAR, World Bank, IMF, BLS, Treasury, ECB, BIS, CFTC, OpenInsider, Stooq) plus eight API-key sources (Alpha Vantage, Finnhub, FMP, SimFin, Tiingo, Twelve Data, Nasdaq, EIA). One range-aware parquet cache shared across them all.
DISCOVERY
While one strategy runs in paper, the discovery pipeline continues in the background every Nth cycle. The allocator arbitrates incumbent-vs-challenger on each rebalance, so you never stop looking for better alpha.
OBSERVABILITY
Every agent action is a typed event. Router tracks LLM tokens per call, per agent, per model — fires cost.budget_warning on threshold cross, routed to Telegram / Discord / Slack by urgency.
PERSISTENCE
Playbook is a JSONL log every agent writes to. Compaction keeps latest-per-key snapshots and archives the tail to gzip so restart stays fast no matter how long the campaign runs.
ARCHITECTURE
The LLM is one tool inside the system. Everything around it is the harness.
CampaignManager compiles broad goals into phase state machines
OODA + Planner + Dispatcher + LLMRouter + OAuth sidecar
Twelve specialists declared in a single manifest
Sandbox for LLM code, narrow Strategy contract, paper runner
DeploymentAllocator with active / watchlist / retired tiers
Append-only Playbook JSONL + queryable SQLite state DB
Typed events, urgency-routed Telegram / Discord / Slack sinks
Next.js dashboard — trading floor, plan approvals, stop button
GET STARTED
npm install -g quantclaw; quantclaw start launches the backend, sidecar, and Next.js dashboard on your machine.
Sign in via Claude Code / Codex / Gemini CLI OAuth, or set an API key. Local models via Ollama work too — no network required.
Chat naturally. Broad goals like "go make me cash" or "find alpha" compile into a standing profit campaign.
Twelve crewmates work in real time on the trading floor. Approve plans, hit the stop button, adjust risk limits — you stay CEO.
Campaigns run paper-first. Drawdown breach and executor-failure streaks auto-pause. Promote to live only when you choose.
BUILT WITH
Engine
ML
Interface
Sidecar

MIT-licensed, runs on your own machine, every agent visible, inspectable, and yours.
Get Started on GitHub