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.2.tar.gz (106.6 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.2-py3-none-any.whl (122.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: wardcliff-0.1.2.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

Hashes for wardcliff-0.1.2.tar.gz
Algorithm Hash digest
SHA256 2df7c6135d1a6d55e9a06794c4e1f0cec8d33a82ed1b88090527dc90840d7d0b
MD5 6c2f9d9e1a016f7047f0fd32b2007d7e
BLAKE2b-256 412fea72586766698d3d090be32f5554fcabd945a802329f21a671b89fb62fc9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: wardcliff-0.1.2-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

Hashes for wardcliff-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 efcb05213811be6107bf92bfe15f836988a47db13f8a7f8e906d33b61c967ed8
MD5 f3f13ffb8656f4b766fb7d42f2bfd378
BLAKE2b-256 8ee806ae510035385b3bc021db9a56bf8b0095a3af84983b236b7d5a6ab66731

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