Skip to main content

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 2025
  • btc-150k-2025 - Bitcoin $150K in 2025

Multi-Outcome Events

  • us-president-2028 - US President 2028
  • super-bowl-2026 - Super Bowl LX Winner 2026
  • ai-agi-2030 - AGI by 2030
  • next-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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

wardcliff-0.1.0.tar.gz (106.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

wardcliff-0.1.0-py3-none-any.whl (121.9 kB view details)

Uploaded Python 3

File details

Details for the file wardcliff-0.1.0.tar.gz.

File metadata

  • Download URL: wardcliff-0.1.0.tar.gz
  • Upload date:
  • Size: 106.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for wardcliff-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ab02650b1427eda2412838a206129606d60d552483fb229ea08a3e2c0d24a4fa
MD5 692305c53f886d73cbefdf919b4ad360
BLAKE2b-256 451d4a6fcd28d7a87b6c35d27114bd1c0b5133ed510a675c7ac9678b66def218

See more details on using hashes here.

File details

Details for the file wardcliff-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: wardcliff-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 121.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.6

File hashes

Hashes for wardcliff-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6f4d6427c4d0176cc8038f92ff3893b406c46138a3211fac017f1599e062427c
MD5 40432e92e2a2ea365b78c4d5db1ed39e
BLAKE2b-256 b2e2615387f0cc0739c5a021159e343f01a32b4d858936264bde23918a0ee5f6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page