Odds Converter
workflow.run_odds_converterConverts one probability into decimal odds, American odds, and breakeven win rate: either from a manually supplied probability, or from one market read live from Kalshi, Polymarket, ADI Predictstreet, Limitless, or Myriad (five independent crypto-price prediction market venues, all public keyless market data). One market on one venue per call; it does not compare prices across venues (to compare the same bet on two or more venues, see workflow.run_spread_reader). When a Kalshi, Polymarket, Limitless, or Myriad source is supplied, also returns the vig (the exchange's built-in edge), computed from the market's own YES+NO prices, not estimated; ADI Predictstreet's crypto contracts currently have no live trading volume on any venue, so this returns available:false with an explanation rather than a fake price (use workflow.run_window_fair_value for a theoretical price on those instead). Edge cases: probability strictly between 0.0001 and 0.9999 (a decimal, 0.35 is 35%); give exactly one source, never none and never two; a market that cannot be read live, or a two-sided source with no usable prices, returns available false with the reason; vig is null for a manual probability. Not covered: fees and slippage, depth of the order book, matching the same bet across venues, and any claim that the probability is correct. Use when user asks "what odds does a 35% probability work out to?" or "what's the vig on this Kalshi/Polymarket/Limitless/Myriad market?". Provide exactly one of probability/kalshiTicker/polymarketSlug/adiSymbol/limitlessSlug/myriadSlug. Returns: probability, decimalOdds, americanOdds, breakevenWinRatePct, vigPct (null unless a live two-sided source was used), source (manual/kalshi/polymarket/adi/limitless/myriad), identifier, label. If available is false, do not use any result field (computed figures and any verdict are null or empty), so read available first.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "workflow.run_odds_converter"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| adiSymbol | No | An ADI Predictstreet market symbol (e.g. BTC1D-20260920T0000). Currently always returns available:false; these contracts have no live trading volume yet. | |
| myriadSlug | No | A Myriad Markets market slug, from the market URL (e.g. eth-at-three-digits-when-bitcoin-goes-below-50k), to fetch a live price from. On-chain (Abstract L2); not every market has a Yes/No outcome, some are multi-outcome ladders. | |
| probability | No | Probability as a decimal 0-1 (e.g. 0.35). Use this OR one of the live sources below, not both. | |
| kalshiTicker | No | A Kalshi market ticker (e.g. KXBTCY-27JAN0100-T149999.99) to fetch a live price from. One market only; for the same bet on several venues use workflow.run_spread_reader. | |
| limitlessSlug | No | A Limitless Exchange market slug, from the market URL (e.g. btc-up-or-down-5-min-1790249100), to fetch a live price from. On-chain (Base), mostly short-duration (5min/15min/daily) crypto up/down contracts. | |
| polymarketSlug | No | A Polymarket market slug, from the market URL (e.g. will-bitcoin-reach-100k-in-september-2026), to fetch a live price from. One market only; for the same bet on several venues use workflow.run_spread_reader. |