Kalshi 15-minute crypto markets, perps funding, liquidation math and bitcoin model edges.
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.
Use for "is this contract mispriced" and "what is my edge". Give a Kalshi or Polymarket price in cents and your own probability; returns the % expected-value edge and a BUY / SELL / SKIP read.
Current contract price in cents (1–99), equal to the implied probability in %. Required for a real answer. Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) — all read as 55%.
Your own estimate of the true probability the contract resolves YES, in % (0–100). Required for a real answer. Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) — all read as 55%.
Use for "is this contract mispriced" and "what is my edge". Give a Kalshi or Polymarket price in cents and your own probability; returns the % expected-value edge and a BUY / SELL / SKIP read.
| Argument | Type | Description |
|---|---|---|
| marketPrice | number | string | Current contract price in cents (1–99), equal to the implied probability in %. Required for a real answer. Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) — all read as 55%. |
| yourProbability | number | string | Your own estimate of the true probability the contract resolves YES, in % (0–100). Required for a real answer. Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) — all read as 55%. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"marketPrice": {
"type": [
"number",
"string"
],
"description": "Current contract price in cents (1–99), equal to the implied probability in %. Required for a real answer. Accepts 55, \"55%\", \"55¢\", \"$0.55\", 0.55 or American odds (+120 / -150) — all read as 55%."
},
"yourProbability": {
"type": [
"number",
"string"
],
"description": "Your own estimate of the true probability the contract resolves YES, in % (0–100). Required for a real answer. Accepts 55, \"55%\", \"55¢\", \"$0.55\", 0.55 or American odds (+120 / -150) — all read as 55%."
}
}
}Use for "gold edge today" and "oil or bitcoin trade signal". The Kalshi daily gold, silver or WTI strike, or hourly bitcoin strike, with the largest PMP model edge, as a ticket: side, entry price, resolve criterion, model probability, edge, tier and quarter-Kelly size. Pass tickers[] to check a watchlist. Pro — sign in with PredictionMarketsPicks, or a Pro API key.
| Argument | Type | Description |
|---|---|---|
| tickers | array | Optional Kalshi ticker watchlist (up to 25) — e.g. paste the tickers from your Kalshi Pro screener or Canvas to get PMP's edge on exactly those markets. Full market or 3-segment event tickers both work. Tickers PMP doesn't model are returned as not_covered (never a fabricated edge). |
| commodity | any | Which commodity edge to read (needed for a real answer). One of: silver · bitcoin · gold · oil. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"tickers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional Kalshi ticker watchlist (up to 25) — e.g. paste the tickers from your Kalshi Pro screener or Canvas to get PMP's edge on exactly those markets. Full market or 3-segment event tickers both work. Tickers PMP doesn't model are returned as not_covered (never a fabricated edge)."
},
"commodity": {
"anyOf": [
{
"type": "string"
},
{
"enum": [
"silver",
"bitcoin",
"gold",
"oil"
],
"type": "string"
}
],
"description": "Which commodity edge to read (needed for a real answer). One of: silver · bitcoin · gold · oil."
}
}
}Convert between implied probability, American odds, and decimal odds. Give one value and its format and get all three back (American odds carry no commas, e.g. +441 or -200). Use for "what is +150 as a probability", "convert 62% to American odds", "decimal to implied odds".
| Argument | Type | Description |
|---|---|---|
| value | number | string | The numeric value to convert. Needed for a real answer, with format. Accepts a number or a numeric string ("+150", "62%", "2.5"). |
| format | any | Format of `value`: probability (0–100 %), american (e.g. -200 / +150), or decimal (e.g. 2.5). One of: probability · american · decimal. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"value": {
"type": [
"number",
"string"
],
"description": "The numeric value to convert. Needed for a real answer, with format. Accepts a number or a numeric string (\"+150\", \"62%\", \"2.5\")."
},
"format": {
"anyOf": [
{
"type": "string"
},
{
"enum": [
"probability",
"american",
"decimal"
],
"type": "string"
}
],
"description": "Format of `value`: probability (0–100 %), american (e.g. -200 / +150), or decimal (e.g. 2.5). One of: probability · american · decimal."
}
}
}Use for "what is the ETH 15-minute market doing" and "which Kalshi 15-minute markets are open". Every Kalshi 15-minute up-or-down series — crypto, metals, energy, FX — with window status, YES price, close time, target price, what it settles on and the up rate over the last 96 windows, plus the same window on Polymarket (international) for BTC, ETH, SOL and XRP with each venue's settlement index and a graded record of the two venues on the same Bitcoin windows, and our Bitcoin top-of-hour strategy (v2 — the version our bot trades live, with its live and paper record). Pass series ("eth", "KXBTC15M") or asset_class.
| Argument | Type | Description |
|---|---|---|
| limit | number | string | null | Max rows (default 30). Values above 40 are clamped to 40. |
| series | string | One series: ticker (KXETH15M) or asset ("eth", "gold", "euro"). |
| open_only | boolean | Only series with a window open right now (default false). |
| asset_class | any | crypto · commodity · currency · all (default all). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"limit": {
"type": [
"number",
"string",
"null"
],
"description": "Max rows (default 30). Values above 40 are clamped to 40."
},
"series": {
"type": "string",
"maxLength": 40,
"description": "One series: ticker (KXETH15M) or asset (\"eth\", \"gold\", \"euro\")."
},
"open_only": {
"type": "boolean",
"description": "Only series with a window open right now (default false)."
},
"asset_class": {
"anyOf": [
{
"type": "string"
},
{
"enum": [
"crypto",
"commodity",
"currency",
"all"
],
"type": "string"
}
],
"description": "crypto · commodity · currency · all (default all)."
}
}
}Compute the optimal Kelly position size for a prediction-market contract. Given your win probability, the market price (which sets the payout), your bankroll, and a Kelly fraction (full / half / quarter / eighth), returns the dollar stake and a risk rating. Use for "how much should I stake", "what is my position size", "Kelly sizing for this trade".
| Argument | Type | Description |
|---|---|---|
| bankroll | number | string | Total bankroll in dollars (e.g. 1000). Optional — omit it and the result is the % of bankroll to stake, without a dollar figure. Accepts a number or a numeric string ("1000", "$1,000"). |
| fraction | any | Kelly fraction to apply. Half-Kelly is the common sharp-money default. One of: full · half · quarter · eighth. |
| marketPrice* | number | string | Contract price in cents (1–99). Sets the payout ratio. Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) — all read as 55%. |
| winProbability* | number | string | Your probability the contract resolves YES, in % (0–100). Accepts 55, "55%", "55¢", "$0.55", 0.55 or American odds (+120 / -150) — all read as 55%. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"winProbability",
"marketPrice"
],
"properties": {
"bankroll": {
"type": [
"number",
"string"
],
"description": "Total bankroll in dollars (e.g. 1000). Optional — omit it and the result is the % of bankroll to stake, without a dollar figure. Accepts a number or a numeric string (\"1000\", \"$1,000\")."
},
"fraction": {
"anyOf": [
{
"type": "string"
},
{
"enum": [
"full",
"half",
"quarter",
"eighth"
],
"type": "string"
}
],
"description": "Kelly fraction to apply. Half-Kelly is the common sharp-money default. One of: full · half · quarter · eighth."
},
"marketPrice": {
"type": [
"number",
"string"
],
"description": "Contract price in cents (1–99). Sets the payout ratio. Accepts 55, \"55%\", \"55¢\", \"$0.55\", 0.55 or American odds (+120 / -150) — all read as 55%."
},
"winProbability": {
"type": [
"number",
"string"
],
"description": "Your probability the contract resolves YES, in % (0–100). Accepts 55, \"55%\", \"55¢\", \"$0.55\", 0.55 or American odds (+120 / -150) — all read as 55%."
}
}
}Use for "where does a 5x bitcoin long liquidate on Kalshi". Estimates a Kalshi perp's liquidation price and the % move to it from Kalshi's risk parameters (a 5x BTC long is about 8% away, not the 20% the 100÷leverage rule implies), plus fees and expected funding. An estimate; Kalshi's app shows the exact one. Assets: btc, eth, sol, xrp, doge, hype, link, gold, silver, platinum, palladium. Free.
| Argument | Type | Description |
|---|---|---|
| side | any | Direction. One of: long · short. |
| asset | any | The perp. One of: btc · eth · sol · xrp · doge · hype · link · gold · silver · platinum · palladium. |
| entry | number | string | Entry price (default: the live price). Accepts a number or a numeric string ("+150", "62%", "2.5"). |
| margin | number | string | Margin in dollars (default 1000). Accepts a number or a numeric string ("+150", "62%", "2.5"). |
| leverage | number | string | Leverage, e.g. 5 or "5x". Capped at Kalshi’s maximum for the size and side. |
| hold_days | number | Days held, for the funding estimate (default 7). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"side": {
"anyOf": [
{
"type": "string"
},
{
"enum": [
"long",
"short"
],
"type": "string"
}
],
"description": "Direction. One of: long · short."
},
"asset": {
"anyOf": [
{
"type": "string"
},
{
"enum": [
"btc",
"eth",
"sol",
"xrp",
"doge",
"hype",
"link",
"gold",
"silver",
"platinum",
"palladium"
],
"type": "string"
}
],
"description": "The perp. One of: btc · eth · sol · xrp · doge · hype · link · gold · silver · platinum · palladium."
},
"entry": {
"type": [
"number",
"string"
],
"description": "Entry price (default: the live price). Accepts a number or a numeric string (\"+150\", \"62%\", \"2.5\")."
},
"margin": {
"type": [
"number",
"string"
],
"description": "Margin in dollars (default 1000). Accepts a number or a numeric string (\"+150\", \"62%\", \"2.5\")."
},
"leverage": {
"type": [
"number",
"string"
],
"description": "Leverage, e.g. 5 or \"5x\". Capped at Kalshi’s maximum for the size and side."
},
"hold_days": {
"type": "number",
"default": 7,
"maximum": 365,
"minimum": 0,
"description": "Days held, for the funding estimate (default 7)."
}
}
}Use for "Kalshi perps funding rate" and "how much leverage on Kalshi gold perps". Every Kalshi perpetual future: price, 24h volume, open interest, max leverage long and short, funding cadence, and what funding has cost a long since launch. Pass asset ("btc", "gold") for one.
| Argument | Type | Description |
|---|---|---|
| asset | string | One perp: symbol or name ("btc", "gold", "XAG"). |
| limit | number | string | null | Max rows (default 25). Values above 30 are clamped to 30. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"asset": {
"type": "string",
"maxLength": 30,
"description": "One perp: symbol or name (\"btc\", \"gold\", \"XAG\")."
},
"limit": {
"type": [
"number",
"string",
"null"
],
"description": "Max rows (default 25). Values above 30 are clamped to 30."
}
}
}