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.5.tar.gz (109.0 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.5-py3-none-any.whl (124.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wardcliff-0.1.5.tar.gz
  • Upload date:
  • Size: 109.0 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.5.tar.gz
Algorithm Hash digest
SHA256 63a98bfc775ae4ea7d5c603a6df23ca57941b13e59f870ac9d34fd7899e53d33
MD5 1e0ea2034a935464ef87595fc5d9247c
BLAKE2b-256 37cb15b8092fea976ed988b7d22ce14bc6e5c5b6cfc9d2402164c06544c829b5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wardcliff-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 124.5 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 fcd11b43549b7c5a98c83cbda3994b38b085699625aa169d83625cdc3e7b6413
MD5 20f3214ec6f23a4801620a58f8765da0
BLAKE2b-256 b54a5f42abcbf3e9f618c2749d96ea3383f94c9b1690549f25447e66aaed1fbe

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