Multi-agent prediction market trading simulation
Project description
Wardcliff
Multi-agent prediction market trading simulation with real-time terminal streaming.
Wardcliff runs multiple AI trading agents that research and trade on prediction market events. Watch them think, research, and trade in real-time with a beautiful terminal dashboard.
Installation
Install with pip (Recommended)
pip install wardcliff
Install with pipx (Isolated Environment)
pipx install wardcliff
Install from Source
git clone https://github.com/yourorg/wardcliff.git
cd wardcliff
pip install -e .
After installation, the wardcliff command will be available globally in your terminal.
Quick Start
Run Your First Simulation
# Interactive mode - select event from menu
wardcliff run --interactive
# Run on a specific event
wardcliff run -e us-president-2028 -a 3
Commands
wardcliff run - Run a Trading Simulation
wardcliff run [OPTIONS]
Options:
-e, --event TEXT Event ID to trade
-m, --multi-outcome Use multi-outcome events
-a, --agents INTEGER Number of agents (default: 3)
--model TEXT Model to use
-i, --interactive Interactive setup mode
--load-setup TEXT Load setup from JSON file
--save-setup TEXT Save setup to JSON file
--legacy Use legacy OpenAI agents
--minimal Minimal one-line output
-v, --verbose Verbose output with full reasoning
--debug Debug output with raw SDK messages
wardcliff events - List Available Events
wardcliff events # List all events
wardcliff events --multi-outcome # Show only multi-outcome events
wardcliff events --json # Output as JSON
wardcliff sources - Manage Data Sources
wardcliff sources list # List all data sources
wardcliff sources list -e super-bowl-2026 # List sources for specific event
wardcliff sources add-url "https://..." # Add URL to research
wardcliff sources add-doc "./report.pdf" # Add document to ingest
wardcliff sources clear # Clear all sources
wardcliff mcp - Manage MCP Servers
wardcliff mcp list # Show enabled servers
wardcliff mcp list --all # Show all available servers
wardcliff mcp enable polymarket # Enable a server
wardcliff mcp disable twitter # Disable a server
wardcliff analyze - Analyze Simulation Logs
wardcliff analyze logs/simulation.log # Analyze log file
wardcliff analyze -o report.md --format md # Output markdown report
wardcliff analyze --format json # Output JSON
wardcliff version - Show Version Info
wardcliff version # Show version and check dependencies
Display Modes
Default Dashboard (Rich UI)
The default mode shows a live-updating dashboard with:
- Market prices with change indicators
- Agent status and activity
- Recent trades
- Price alerts
Minimal Mode (--minimal)
One-line output per trade, suitable for scripting:
[14:32:15] Marcus BUY YES $500 @ $0.4521
[14:32:18] Luna SELL NO $250 @ $0.5479
Verbose Mode (--verbose)
Full reasoning traces from each agent.
Debug Mode (--debug)
Raw SDK messages for debugging.
Building from Source
Development Install
git clone https://github.com/yourorg/wardcliff.git
cd wardcliff
pip install -e ".[dev]"
Build Standalone Binary
# Install build dependencies
pip install -e ".[build]"
# Build binary
./scripts/build.sh
# Binary will be at dist/wardcliff
./dist/wardcliff --help
Running Tests
pip install -e ".[dev]"
pytest
Configuration
Environment Variables
Required:
OPENAI_API_KEY- Required for OpenAI Agents SDK
Optional:
DATABASE_URL- Database connection (default: SQLite)PARALLEL_API_KEY- For Parallel news monitoring
MCP Servers (21 local stdio via npx - set env var to enable):
| Category | Server | Env Var |
|---|---|---|
| Markets | Polymarket | (always on) |
| Alpha Vantage | ALPHAVANTAGE_API_KEY |
|
| Twelve Data | TWELVEDATA_API_KEY |
|
| Research | Brave Search | BRAVE_API_KEY |
| Tavily | TAVILY_API_KEY |
|
| Communication | Slack | SLACK_BOT_TOKEN + SLACK_TEAM_ID |
| Gmail | GMAIL_CREDENTIALS |
|
| Knowledge | Notion | NOTION_TOKEN |
| Google Drive | GOOGLE_CREDENTIALS |
|
| Project Mgmt | Linear | LINEAR_API_KEY |
| Jira | JIRA_API_TOKEN + JIRA_EMAIL + JIRA_HOST |
|
| Asana | ASANA_ACCESS_TOKEN |
|
| Development | GitHub | GITHUB_TOKEN |
| Sentry | SENTRY_AUTH_TOKEN |
|
| CRM | HubSpot | HUBSPOT_ACCESS_TOKEN |
| Expense | Brex | BREX_API_KEY |
| Ramp | RAMP_CLIENT_ID + RAMP_CLIENT_SECRET |
|
| Banking | Plaid | PLAID_CLIENT_ID + PLAID_SECRET |
| Mercury | MERCURY_API_KEY |
|
| HR | BambooHR | BAMBOOHR_API_KEY + BAMBOOHR_SUBDOMAIN |
| Payroll | ADP | ADP_API_KEY |
See src/cliff/integrations/mcp/external/github.py for full server list with sources.
Config Files
Wardcliff looks for configuration in:
~/.wardcliff/config.json- Global settings~/.wardcliff/mcp.json- MCP server configuration./.wardcliff.json- Project-specific settings
Available Events
Binary Events
fed-rate-dec-2025- Fed Rate Decision December 2025btc-150k-2025- Bitcoin $150K in 2025
Multi-Outcome Events
us-president-2028- US President 2028super-bowl-2026- Super Bowl LX Winner 2026ai-agi-2030- AGI by 2030next-fed-chair-2026- Next Fed Chair 2026
Architecture
src/cliff/
├── cli/ # Typer CLI commands
├── core/ # Market engine, events, metrics
├── agents/ # OpenAI Agents SDK trading agents
├── simulation/ # Controller and orchestration
├── streaming/ # Real-time event streaming
└── infrastructure/# Database, config, logging
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file wardcliff-0.1.1.tar.gz.
File metadata
- Download URL: wardcliff-0.1.1.tar.gz
- Upload date:
- Size: 106.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
54a5d1f7f1563a74e69266345d54ba2ee0e5125b929df09563d6b5580773081c
|
|
| MD5 |
b6360a3529ecf5e6c0a64877e3b6001b
|
|
| BLAKE2b-256 |
40e9f370b6042b5aa7fbca3f37395a9e3f1bec37de037d8bcb0446a01e4d99aa
|
File details
Details for the file wardcliff-0.1.1-py3-none-any.whl.
File metadata
- Download URL: wardcliff-0.1.1-py3-none-any.whl
- Upload date:
- Size: 122.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bd08c87fea766acdd65277428562a687528fba6cc5f22e1ca34c94ddb5bfbedd
|
|
| MD5 |
31fd65ccf73a980edff506695b53ab54
|
|
| BLAKE2b-256 |
6e8fa786d28d853f5ff9bfd54a3ac21de3da775e8dd411e44ddf3c0a76f83d48
|