prediction-markets
by Br0ski777
README.md
# Prediction Markets API
[](https://prediction-markets.api.klymax402.com/mcp)
[](https://x402.org)
[](LICENSE)
Real-time prediction market odds from Polymarket and Kalshi. Active markets, probabilities, volume, categories. The betting intelligence layer agents need for event forecasting. Pay-per-call via [x402](https://x402.org) (USDC on Base L2) -- no API key, no signup, no rate-limit wall.
Part of the [klymax402](https://klymax402.com) marketplace -- 100 x402 micropayment APIs for AI agents, one wallet, USDC on Base.
## Quickstart -- MCP
Add to your MCP client config (Claude Desktop, Cursor, ElizaOS, etc.):
```json
{
"mcpServers": {
"prediction-markets": {
"url": "https://prediction-markets.api.klymax402.com/mcp"
}
}
}
```
## Quickstart -- HTTP (x402)
```bash
curl -X POST "https://prediction-markets.api.klymax402.com/api/markets" \
-H "Content-Type: application/json" \
-d '{}'
# -> 402 Payment Required, with an x402 payment challenge in the response body
```
Any x402-aware client ([`@x402/fetch`](https://www.npmjs.com/package/@x402/fetch), [`x402-agent-tools`](https://www.npmjs.com/package/x402-agent-tools), ATXP) handles the 402 -> sign -> retry cycle automatically.
## Tools
| Tool | Method | Path | Price | Description |
|---|---|---|---|---|
| `prediction_list_markets` | POST | `/api/markets` | $0.012 | List active prediction markets from Polymarket and Kalshi with current odds, volume, and categories. Filter by topic, platform, and sort by volume, newest, or closing soon. |
| `prediction_get_market_odds` | POST | `/api/odds` | $0.012 | Get detailed odds and trading data for a specific prediction market by ID or search query. Searches both Polymarket and Kalshi. |
| `prediction_trending_markets` | POST | `/api/trending` | $0.008 | Top trending prediction markets from Polymarket and Kalshi ranked by volume and engagement. |
### `prediction_list_markets`
Use this when you need to browse active prediction markets or find betting odds on real-world events. Returns a list of active markets from Polymarket and Kalshi with current probabilities, trading volume, and metadata.
**Parameters**
| Name | Type | Required | Description |
|---|---|---|---|
| `category` | string | no | Filter markets by topic category. Omit for all categories. |
| `limit` | number | no | Number of markets to return (1-50). Default: 20. |
| `sort` | string | no | Sort order. 'volume' = highest traded, 'newest' = recently created, 'closing_soon' = ending soonest. Default: volume. |
| `source` | string | no | Filter by platform. Omit to get markets from both Polymarket and Kalshi. |
**Returns**
- `question` -- the prediction market question (e.g. "Will Bitcoin reach $100k by December 2026?")
- `outcomePrices` -- probability for each outcome as decimal (0.65 = 65% chance YES)
- `volume` -- total trading volume in USD
- `liquidity` -- current available liquidity in USD
- `endDate` -- when the market resolves
- `category` -- topic category (politics, crypto, sports, science, culture)
- `active` -- whether the market is currently trading
- `source` -- data source -- "polymarket" or "kalshi"
Example response:
```json
{ markets: [{ question: "Will Trump win 2028?", outcomePrices: { "Yes": 0.42, "No": 0.58 }, volume: 15420000, liquidity: 890000, endDate: "2028-11-06", category: "politics", source: "polymarket" }] }
```
**Not for**: crypto price data (use `token_get_price`), crypto news (use `crypto_get_news`), stock prices (use `stock_get_quote`), DeFi yields (use `defi_find_best_yields`), Hyperliquid perp data (use `hyperliquid_get_market_data`).
### `prediction_get_market_odds`
Use this when you need detailed odds, probabilities, and trading data for a specific prediction market. Searches both Polymarket and Kalshi to find the best match by market ID or question text.
**Parameters**
| Name | Type | Required | Description |
|---|---|---|---|
| `marketId` | string | no | Polymarket condition ID or Kalshi ticker. Use this if you already know the market ID. |
| `query` | string | no | Search query to find a market by question text (e.g. 'bitcoin 100k', 'trump election'). Used when marketId is not known. |
**Returns**
- `question` -- the full prediction market question text
- `outcomes` -- array of possible outcomes with their current probabilities
- `outcomePrices` -- decimal probabilities per outcome (0.72 = 72% implied probability)
- `volume` -- total all-time trading volume in USD
- `volume24h` -- trading volume in the last 24 hours
- `liquidity` -- current depth of the order book in USD
- `endDate` -- resolution date of the market
- `description` -- detailed market description and resolution criteria
- `active` -- whether the market is currently open for trading
- `source` -- which platform the market is from -- "polymarket" or "kalshi"
Example response:
```json
{ question: "Will ETH flip BTC by 2027?", outcomes: ["Yes", "No"], outcomePrices: { "Yes": 0.08, "No": 0.92 }, volume: 2340000, volume24h: 45000, liquidity: 120000, endDate: "2027-12-31", active: true, source: "polymarket" }
```
**Not for**: crypto price data (use `token_get_price`), crypto news (use `crypto_get_news`), stock prices (use `stock_get_quote`), DeFi yields (use `defi_find_best_yields`), Hyperliquid perp data (use `hyperliquid_get_market_data`).
### `prediction_trending_markets`
Use this when you need to see what prediction markets are trending right now. Returns the hottest markets from both Polymarket and Kalshi ranked by recent trading volume and activity.
**Parameters**
| Name | Type | Required | Description |
|---|---|---|---|
| `limit` | number | no | Number of trending markets to return (1-30). Default: 10. |
| `source` | string | no | Filter by platform. Omit to get trending markets from both Polymarket and Kalshi. |
**Returns**
- `question` -- the market question
- `probability` -- current implied probability for the leading outcome (decimal)
- `volume24h` -- trading volume in the last 24 hours in USD
- `totalVolume` -- all-time trading volume in USD
- `priceChange24h` -- change in probability over the last 24 hours (e.g. +0.05 = probability rose 5%)
- `category` -- topic category
- `endDate` -- when the market resolves
- `source` -- data source -- "polymarket" or "kalshi"
Example response:
```json
{ trending: [{ question: "Will Fed cut rates in July 2026?", probability: 0.73, volume24h: 890000, totalVolume: 12500000, priceChange24h: 0.08, category: "politics", endDate: "2026-07-31", source: "polymarket" }] }
```
**Not for**: crypto price data (use `token_get_price`), crypto news (use `crypto_get_news`), stock prices (use `stock_get_quote`), DeFi yields (use `defi_find_best_yields`), Hyperliquid perp data (use `hyperliquid_get_market_data`).
## Example agent prompts
- "Browse active prediction markets or find betting odds on real-world events"
- "Detailed odds, probabilities, and trading data for a specific prediction market"
- "See what prediction markets are trending right now"
## Payment
- Protocol: [x402](https://x402.org) -- HTTP-native pay-per-call, no signup, no API key
- Network: Base L2 (`eip155:8453`)
- Asset: USDC
- Facilitator: Coinbase CDP (primary), PayAI (fallback)
- Also reachable via [ATXP](https://atxp.ai) (OAuth-wrapped x402, RFC 9728 protected-resource metadata)
## Part of klymax402
100 x402 micropayment APIs for AI agents -- one wallet, USDC on Base, zero signup.
- Catalog: https://klymax402.com/llms.txt
- Full API reference: https://klymax402.com/llms-full.txt
- Live stats: https://klymax402.com/stats
## License
MIT
This server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues