
Pm Constraint Arbitrage
Check whether prices of related prediction-market contracts violate a probability bound...
Install
npx skills add YichengYang-Ethan/oracle3-prediction-market-agent --skill pm-constraint-arbitrage -g -a claude-code -y- Repository
- YichengYang-Ethan/oracle3-prediction-market-agent560
- Category
- AI and agents
- Updated
- 24d ago
- License
- Apache-2.0
- Context cost
- Lightabout 544 tokens
- Runs scripts
- No, instructions only
What it does
Check whether prices of related prediction-market contracts violate a probability bound after venue fees, using the oracle3 MCP server or Python API. Paper trading only.
PM Constraint Arbitrage
Use this skill when the user asks whether related markets are mispriced relative to each other, for example "does P(A) exceed P(B) even though A implies B?", or whether a cross-venue price gap survives fees.
Tools
MCP server (pip install oracle3, then run oracle3-mcp):
search_markets,get_quote,get_orderbookto find markets and read executable prices.check_constraint_liveto fetch quotes and fee schedules and evaluate a relation.check_constraintto evaluate a relation on quotes you supply.trading_feeto price a single fill under a venue's schedule.paper_order,paper_portfolioto paper-trade the legs.
Python API: oracle3.arbitrage.check_constraint and oracle3.fees.
Relations
| Relation | Bound | Quotes, in order |
|---|---|---|
| implication | P(A) <= P(B) when A implies B | A, B |
| exclusivity | probabilities sum to at most 1 | every outcome |
| complement | P(A) + P(B) = 1 | A, B |
| same_event | P(A) = P(B), one event on two venues | A, B |
| event_sum | probabilities sum to exactly 1 | every outcome |
Steps
- Find the markets with
search_marketsand read both markets' resolution rules withget_market. - Decide which relation holds. This is a judgment about the contract wording, not something the tool can verify.
- Run
check_constraint_livewith the relation and the markets in the order above. - Read
best.gross_edge_per_contract(edge before fees),best.fees_per_contractandbest.net_edge_per_contract. - Only if the net edge is positive and the book is deep enough, paper-trade each leg with
paper_orderat a limit no worse than the quoted ask.

