The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Oracle3 prediction Market arbitrage checks listing page.
Build prediction-market agents that discover markets, analyze opportunities, and test strategies.
Connect AI agents to Kalshi and Polymarket through MCP. Give them reusable Skills for market research and strategy development, then build on a Python engine for paper and live execution.
13 MCP tools · 6 agent Skills · Kalshi & Polymarket data · Python 3.10+
Quickstart · MCP tools · Agent Skills · Project and contributions · Documentation
Public Kalshi and Polymarket market reads need no exchange credentials. MCP provides market data, calculations, and a local paper ledger; real-order execution uses the separate CLI/Python engine.
Install the current development checkout:
Connect it to Claude Code from this directory:
For other MCP clients, configure the absolute path to .venv/bin/oracle3-mcp as the command with an empty argument list. On Windows, use .venv\Scripts\python.exe and .venv\Scripts\oracle3-mcp.exe.
Client configuration and first tool call · Published-package installation
Find Kalshi and Polymarket contracts about the next Fed rate decision. Compare their outcome definitions, resolution rules, and order-book quotes. Summarize the markets with their IDs, prices, and the assumptions needed to compare them.
For a calculation that works offline after installation:
Use Oracle3 to check an implication: A implies B. A has a YES bid of $0.60 and B has a YES ask of $0.55. Use the default Kalshi taker fee schedule and 100 contracts per leg. Show the basket, gross edge, fees, and net edge.
The synthetic example returns $5.00 gross edge − $3.4125 fees = $1.5875 calculated net edge, conditional on the supplied implication and quotes. See exact inputs and output.
| Task | Tools | Result |
|---|---|---|
| Discover markets | search_markets, get_market | Contracts, metadata, and available resolution rules |
| Inspect market conditions | get_quote, get_orderbook | Prices, fee information, and displayed depth |
| Analyze related contracts | check_constraint, check_constraint_live | Baskets and net edge under a stated relationship |
| Calculate fees and model values | trading_fee, fair_value | Fee estimates and parameterized model outputs |
| Try a paper entry | paper_order, paper_portfolio | Simulated fills and holdings in a local ledger |
Relationship checks cover implication, exclusivity, complement, same event, and event sum. They expose assumptions with their results, giving agents and researchers a common calculation layer.
All 13 MCP tools · Workflow examples
The repository includes six workflows that help agents move from individual tool calls to complete tasks:
| Skill | Use it to |
|---|---|
| Data discovery | Find markets and organize research inputs |
| Constraint arbitrage | Examine related contracts and calculate fee-aware baskets |
| Quant strategy authoring | Develop strategies with Oracle3's Python interfaces |
| Agent strategy authoring | Build agent-driven decision workflows |
| Paper operations | Run and inspect simulated trading sessions |
| Live operations | Configure and operate the separate live engine |
Claude Code project copies are included in .claude/skills/. Open the checkout as your project, or use your client's supported Skill installation mechanism. Skill setup.
For AI agents: start with llms.txt for task routing, the MCP reference for tool schemas, and AGENTS.md for contributing code.
Use the same project for research scripts, agent strategies, and engine operations:
| Component | Build with it |
|---|---|
| MCP server | Structured market access and local paper operations for agents |
| Relations and fees | Shared calculations for related-contract strategies |
| Strategies | Logical-relation, statistical, and model-driven approaches |
| Trading engine | Paper/live adapters for Kalshi, Polymarket, and Solana via DFlow |
| Pricing | Wang-transform models and estimators for research |
| oracle3-extras | Optional venue, data-provider, and wallet integrations |
CLI guide · Integration guide · Execution reference
Oracle3 combines a concrete decision environment with structured tools, observable state, and a software validation harness. This supports work on agent interfaces, workflow guidance, and reproducible evaluation.
CI runs automated tests and checks the built package through real MCP sessions on SDK 1.x and 2.x. The harness documentation explains the reproducible checks. Model-level agent evaluation is a next research direction.
Project overview and Yicheng Yang's contributions · Fee-frontier study · Companion pricing research
Help build better agent workflows, labeled evaluation tasks, strategy examples, and client integrations. New venue, data-provider, and wallet integrations start in oracle3-extras.
Contributing guide · Open problems · Discussions
Oracle3 began as ulab-uiuc/oracle3, developed by Yicheng Yang and Haofei Yu at U Lab (University of Illinois Urbana-Champaign). It also bundles the lab's Coinjure package. Yicheng Yang continues to develop and maintain the extensions in this repository. Read the project story and contributions.
We acknowledge the foundational work of the Coinjure team at the University of Illinois Urbana-Champaign—Haofei Yu, Yicheng Yang, Yuxiang Liu, and Prof. Jiaxuan You—on which Oracle3 builds.
For software citation, use CITATION.cff and Zenodo. For the pricing model, see the working paper.
Apache 2.0; see LICENSE. Original U Lab and Coinjure portions retain their MIT license in NOTICE.
This software is for research and education. Trading involves financial risk.