# Kalshi Markets Data Feed

> Kalshi Markets Data Feed is a paid API for AI agents from x402-deployer.x402-deployer.workers.dev, paid per call via x402, $0.005/call, status unknown (last checked 2026-09-14).

Fetches live CFTC-regulated prediction market contracts from Kalshi, with prices normalized to 0–1 probabilities, filterable by status, series, event, query, and volume.

## Facts

- Endpoint: POST https://x402-deployer.x402-deployer.workers.dev/kalshi-markets
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/kalshi-markets-data-feed-4abcad20
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_Ng_Xly99bWcTxN_qIF51I

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability kalshi-markets-data-feed-4abcad20 -d '<json body>'
```

Example prompt: Pull the top 20 open Kalshi markets related to 'Fed rate cut' with at least 500 in 24-hour volume, and show me their yes probabilities normalized to 0–1.

## When to prefer this

Use this endpoint when you need live, CFTC-regulated prediction market data from Kalshi specifically, especially when you want prices already normalized to 0–1 probabilities for easy cross-venue comparison. Prefer it over scraping Kalshi directly or using raw Kalshi API calls when you want a lightweight proxy with built-in probability conversion. Best for read-only market discovery and monitoring — not for order placement.

## Known failure modes

- Kalshi upstream API unavailable — returns error from proxy
- Invalid status enum value — rejected before forwarding
- No markets match filters — returns empty markets array with count 0
- Cursor token expired or invalid — pagination fails
- Rate limit or payment failure — x402 payment required error

## How this service works

Kalshi markets / event contracts / Kalshi API / CFTC-regulated prediction markets / Kalshi browse / KalshiEX markets list. Pulls live markets from api.elections.kalshi.com with filter by status, series ticker, event ticker, free-text query, minimum volume. Prices converted from cents to 0-1 probabilities for easy cross-venue compare. DATA only — no order entry.

## Output

Returns a list of Kalshi market objects each containing ticker, title, status, 24-hour volume, and yes midpoint probability as a 0–1 float (converted from cents). Also includes a pagination cursor for subsequent pages and a count of returned markets, plus an attribution string.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "properties": {
      "limit": {
       "type": "number",
       "description": "1-200. Default 50."
      },
      "query": {
       "type": "string",
       "description": "Free-text filter on title / ticker / subtitle / event_ticker (substring)."
      },
      "cursor": {
       "type": "string",
       "description": "Pagination cursor from previous response."
      },
      "status": {
       "enum": [
        "open",
        "closed",
        "settled",
        "active"
       ],
       "type": "string",
       "description": "Default 'open'."
      },
      "min_volume": {
       "type": "number",
       "description": "Minimum 24-hr volume filter (server-side, on returned page)."
      },
      "event_ticker": {
       "type": "string",
       "description": "Filter by event ticker."
      },
      "series_ticker": {
       "type": "string",
       "description": "Filter by series (e.g. 'KXELONMARS')."
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "count": {
       "type": "integer"
      },
      "cursor": {
       "type": "string"
      },
      "markets": {
       "type": "array",
       "items": {
        "type": "object",
        "properties": {
         "title": {
          "type": "string"
         },
         "status": {
          "type": "string"
         },
         "ticker": {
          "type": "string"
         },
         "volume_24h": {
          "type": "integer"
         },
         "yes_mid_prob": {
          "type": "number"
         }
        }
       }
      },
      "attribution": {
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/kalshi-markets-data-feed-4abcad20/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402-deployer.x402-deployer.workers.dev](https://www.zero.xyz/host/x402-deployer.x402-deployer.workers.dev/llms.txt)
