Execution math for prediction markets: fees, rewards, fill/slippage and a go/no-go verdict.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
The full report: exact fill and slippage for your size, total cost including fees and builder fee, the breakeven probability you need to believe, reward eligibility and payout estimate, net edge against your own probability estimate, and a verdict (operate / operate_partial / do_not_operate / insufficient_data) with the reasons enumerated. Send your book and the market config; nothing is stored.
Market category, sets the fee rate
Order size in shares
Order book: bids and asks with price and size in shares
Your own probability estimate. Without it the report returns the breakeven and no verdict.
Pick your client. Values in capitals, like YOUR_TOKEN, are yours to fill in.
Run in a terminal
claude mcp add --transport http pricemyfill https://api.pricemyfill.workers.dev/mcp
The full report: exact fill and slippage for your size, total cost including fees and builder fee, the breakeven probability you need to believe, reward eligibility and payout estimate, net edge against your own probability estimate, and a verdict (operate / operate_partial / do_not_operate / insufficient_data) with the reasons enumerated. Send your book and the market config; nothing is stored.
| Argument | Type | Description |
|---|---|---|
| book | object | Order book: bids and asks with price and size in shares |
| role | string | |
| side | string | |
| rewards | object | |
| category* | string | Market category, sets the fee rate |
| question | string | |
| market_id | string | |
| price_hint | number | |
| builder_bps | number | |
| queue_ahead | number | |
| size_shares* | number | Order size in shares |
| your_probability | number | Your own probability estimate. Without it the report returns the breakeven and no verdict. |
{
"type": "object",
"required": [
"category",
"size_shares"
],
"properties": {
"book": {
"type": "object",
"properties": {
"asks": {
"type": "array",
"items": {
"type": "object",
"required": [
"price",
"size"
],
"properties": {
"size": {
"type": "number"
},
"price": {
"type": "number"
}
}
}
},
"bids": {
"type": "array",
"items": {
"type": "object",
"required": [
"price",
"size"
],
"properties": {
"size": {
"type": "number"
},
"price": {
"type": "number"
}
}
}
}
},
"description": "Order book: bids and asks with price and size in shares"
},
"role": {
"enum": [
"taker",
"maker"
],
"type": "string"
},
"side": {
"enum": [
"buy",
"sell"
],
"type": "string"
},
"rewards": {
"type": "object",
"properties": {
"daily_pot": {
"type": "number"
},
"spread_cents": {
"type": "number"
},
"competing_shares": {
"type": "number"
},
"rewards_min_size": {
"type": "number"
},
"rewards_max_spread": {
"type": "number"
}
}
},
"category": {
"enum": [
"crypto",
"sports",
"finance",
"politics",
"economics",
"culture",
"weather",
"other",
"mentions",
"tech",
"geopolitics",
"combos"
],
"type": "string",
"description": "Market category, sets the fee rate"
},
"question": {
"type": "string"
},
"market_id": {
"type": "string"
},
"price_hint": {
"type": "number"
},
"builder_bps": {
"type": "number"
},
"queue_ahead": {
"type": "number"
},
"size_shares": {
"type": "number",
"description": "Order size in shares"
},
"your_probability": {
"type": "number",
"description": "Your own probability estimate. Without it the report returns the breakeven and no verdict."
}
}
}Walks the order book level by level: VWAP, slippage in basis points against mid, what fills and what does not. Book arithmetic, not a fill-probability model.
| Argument | Type | Description |
|---|---|---|
| book* | object | Order book: bids and asks with price and size in shares |
| side | string | |
| price | number | |
| shares* | number | |
| queue_ahead | number |
{
"type": "object",
"required": [
"book",
"shares"
],
"properties": {
"book": {
"type": "object",
"properties": {
"asks": {
"type": "array",
"items": {
"type": "object",
"required": [
"price",
"size"
],
"properties": {
"size": {
"type": "number"
},
"price": {
"type": "number"
}
}
}
},
"bids": {
"type": "array",
"items": {
"type": "object",
"required": [
"price",
"size"
],
"properties": {
"size": {
"type": "number"
},
"price": {
"type": "number"
}
}
}
}
},
"description": "Order book: bids and asks with price and size in shares"
},
"side": {
"enum": [
"buy",
"sell"
],
"type": "string"
},
"price": {
"type": "number"
},
"shares": {
"type": "number"
},
"queue_ahead": {
"type": "number"
}
}
}Exact taker fee for a Polymarket trade: shares x feeRate x p(1-p). Makers pay nothing on the global exchange. Also returns maker rebate, optional builder fee and the fee as a percentage of notional.
| Argument | Type | Description |
|---|---|---|
| kind | string | |
| role | string | |
| side | string | |
| price* | number | |
| shares* | number | |
| category* | string | |
| builder_bps | number |
{
"type": "object",
"required": [
"category",
"shares",
"price"
],
"properties": {
"kind": {
"enum": [
"global",
"us"
],
"type": "string"
},
"role": {
"enum": [
"taker",
"maker"
],
"type": "string"
},
"side": {
"enum": [
"buy",
"sell"
],
"type": "string"
},
"price": {
"type": "number"
},
"shares": {
"type": "number"
},
"category": {
"enum": [
"crypto",
"sports",
"finance",
"politics",
"economics",
"culture",
"weather",
"other",
"mentions",
"tech",
"geopolitics",
"combos"
],
"type": "string"
},
"builder_bps": {
"type": "number"
}
}
}Whether a resting order qualifies for a market's daily liquidity rewards (minimum size, maximum distance to midpoint), exactly what is missing if it does not, and an estimate of the daily payout.
| Argument | Type | Description |
|---|---|---|
| shares* | number | |
| daily_pot | number | |
| spread_cents* | number | |
| competing_shares | number | |
| rewards_min_size* | number | |
| rewards_max_spread* | number |
{
"type": "object",
"required": [
"shares",
"spread_cents",
"rewards_min_size",
"rewards_max_spread"
],
"properties": {
"shares": {
"type": "number"
},
"daily_pot": {
"type": "number"
},
"spread_cents": {
"type": "number"
},
"competing_shares": {
"type": "number"
},
"rewards_min_size": {
"type": "number"
},
"rewards_max_spread": {
"type": "number"
}
}
}We read every tool's name, description and inputs the way the model will, looking for instructions hidden from you. A clean result means no warning signs, not a guarantee. Scanned Nov 12, 2026.