An autonomous trading bot for prediction markets (Polymarket and Kalshi), built in six days by a hydrologist using Claude Code.
This is the bot from the Bloomberg Opinion piece "I Built an AI Trading Platform in Six Days. That's Terrifying" (April 2026) — though a great deal of tinkering has happened since those first six days.
It is an experiment, not a money machine — paper-trading is the default, live capital is gated behind a graduation ladder, and most strategies stay on probation. Treat realized performance as a research result, not a promise.
Connects to Polymarket and Kalshi. Scans markets, gathers news from RSS / web search / Reddit / NewsAPI / FRED / Manifold / Metaculus, asks Claude to estimate the probability of each outcome, compares against the market price, and trades when there's edge after fees.
- NLP analysis with calibrated probability estimation (Platt scaling on resolution feedback) and adversarial second opinions
- Risk management with 15 independent checks per trade, geometric Kelly position sizing, drawdown limits, and category exposure caps
- Multi-exchange order routing with per-exchange fee adjustment
- Position reconciliation against on-chain CLOB trade history
- Resolution tracking that closes the loop into the calibration system
- Paper trading is the default. Live orders require all three gates:
AURAMAUR_LIVE=true,execution.live=true, and per-orderdry_run=False. - A
KILL_SWITCHfile (at the repo root or the working directory) halts all trading. - Directional entries pass the 15 risk checks via the single
ExecutionGateway. The market maker (resting two-sided quotes) and concurrent arb legs run declared, test-enforced direct-execution contracts — seeExecutionModeinauramaur/strategy/protocols.pyand the conformance guardtests/test_strategy_protocol.py— not the directional risk path. Exits have their own contract. The bypasses are intentional and checked, not implicit. - No API keys in code — all secrets come from environment variables.
# Install
uv sync
# If this checkout moved between Windows and Linux/WSL, recreate the ignored
# virtual environment on the current platform first:
# PowerShell: Remove-Item -Recurse -Force .venv
# POSIX: rm -rf .venv
# Then run `uv sync` again.
# Configure (copy and fill in)
cp .env.example .env
# Run in paper mode (default). --hybrid runs the full multi-strategy set
# (arb + news-speed + LLM + market-making + bias-harvest + resolution-lens …);
# --agent uses the single agentic analyzer instead.
auramaur run --hybrid
# Run tests
uv run pytestTo go live: set AURAMAUR_LIVE=true in your environment, set
execution.live: true in config/defaults.yaml, and accept that you are
trading real money on prediction markets where most participants are now bots
running on the same handful of foundation models as yours.
auramaur/
├── exchange/ Polymarket CLOB, Kalshi, IBKR, paper trader
├── data_sources/ News, RSS, Reddit, FRED, Manifold, Metaculus
├── nlp/ Claude analyzer, calibration, prompts
├── risk/ 15-check pipeline, Kelly sizer, graduation ladder
├── strategy/ Engine, the strategy pillars, signal detection, resolution
├── broker/ Execution gateway, allocator, syncer, reconciler, PnL ledger
├── treasury/ Cross-venue capital and transfers
├── agentmcp/ MCP bridge exposing the plumbing to an external agent
├── monitoring/ Display, readiness, attribution
└── db/ SQLite schema
The CLOB API is touched for orders in one place, exchange/client.py; all
placements funnel through the ExecutionGateway in broker/. Paper-trading
interception happens in exchange/paper.py. The risk manager in
risk/manager.py is the single path through which directional trades are
approved.
Runs live on Polymarket and Kalshi with a paper-default posture: most strategies trade on paper and earn live capital only by clearing the graduation ladder. Calibration learns from every market resolution. Ongoing research, not a finished product.
For a common Docker Compose deployment across macOS, WSL, and a single Ubuntu
VM—including a first-class, GUI-authenticated IB Gateway service—see
docs/PORTABLE_DEPLOYMENT.md.
MIT. If you build on Auramaur, a link back is appreciated — GitHub's "Cite this
repository" button (backed by CITATION.cff) has a ready-made
reference.
Auramaur is a research artifact by me, Darri Eythorsson. I write about AI monoculture risk in markets and consult on frontier-AI adoption in energy, water, and risk. If you're building on this or want to talk: darri@symfluence.org.