TL;DR — one API for all platforms
What this page covers
- Platform comparison table — auth, endpoints, IDs, rate limits, fees, SDKs for all three platforms
- Kalshi API walkthrough — RSA-PSS auth, REST endpoints, ticker format, Python examples
- Polymarket API walkthrough — Gamma API for discovery, CLOB API for trading, HMAC signing
- Robinhood API walkthrough — event contract endpoints, slug-based IDs, access limitations
- The fragmentation problem — what it takes to build cross-platform tooling from raw APIs
- Unified approach — how a single API call replaces three integrations and adds intelligence on top
Platform comparison
| Feature | Kalshi | Polymarket | Robinhood |
|---|---|---|---|
| Regulation | CFTC-regulated US exchange | Crypto-native (Polygon L2) | FINRA-registered broker-dealer |
| Base URL | trading-api.kalshi.com | gamma-api.polymarket.com (discovery) / clob.polymarket.com (trading) | api.robinhood.com (general) |
| Auth method | API key + RSA-PSS signed headers | API key + HMAC-SHA256 | OAuth 2.0 bearer token |
| Market ID format | Ticker string (KXFED-26MAR19) | Hex condition ID (0x1a2b...) | Event slug (fed-rate-cut-march-2026) |
| Order types | Limit, market | Limit (CLOB) | Market (via app/web) |
| Python SDK | kalshi-python (community) | py-clob-client (official) | No official prediction market SDK |
| WebSocket support | Yes (order book, fills) | Yes (CLOB order book) | No public WebSocket for events |
| Rate limits | ~10 req/s | ~10 req/s (Gamma), stricter on CLOB | Standard Robinhood limits |
| Fee structure | Maker: free / Taker: 0.07 * p * (1-p) | Gas fees on Polygon + market spread | Commission-free, built into spread |
| Programmatic trading | Yes (full API) | Yes (CLOB API) | No public trading API for events |
| Data access | Full (markets, orderbook, history) | Full (markets, orderbook, trades) | Limited (event listings, prices) |
All three platforms serve different audiences. Kalshi targets US-regulated traders, Polymarket attracts crypto-native users and high-volume markets, and Robinhood brings prediction markets to mainstream retail. Building on all three gives you the widest market coverage.
Kalshi
Kalshi is a CFTC-regulated designated contract market (DCM) based in the US. Its REST API attrading-api.kalshi.com provides full programmatic access to market data, order placement, and portfolio management.
Authentication
Kalshi uses RSA-PSS signatures. You generate an RSA key pair, upload the public key to your Kalshi account, and sign every request with the private key. The signature covers the timestamp, HTTP method, and path.Market data
Kalshi markets use ticker strings. Series tickers (e.g.,KXFED) group related markets, and each event gets a specific ticker like KXFED-26MAR19 (Fed rate decision, March 19, 2026). Prices are in cents (0-100), so divide by 100 for probability.
Key endpoints:
| Endpoint | Method | Description |
|---|---|---|
/trade-api/v2/markets | GET | List markets with filters |
/trade-api/v2/markets/{ticker} | GET | Single market detail |
/trade-api/v2/markets/{ticker}/orderbook | GET | Current order book |
/trade-api/v2/portfolio/orders | POST | Place an order |
/trade-api/v2/portfolio/positions | GET | Your open positions |
Fees
Kalshi’s fee model favors makers. Posting limit orders that rest on the book (maker orders) is free. Taking liquidity costs0.07 * price * (1 - price), maxing out at $0.0175 per contract at the 50-cent mark and falling to zero near 0 or 100. This matters for automated systems: if you can post limit orders and wait for fills, you avoid fees entirely.
Limitations
Kalshi’s API gives you raw market data and order execution. It does not provide analytics, cross-platform comparison, probability estimates independent of market price, or edge detection. You get prices, not intelligence.Polymarket
Polymarket is a crypto-native prediction market on Polygon (Ethereum L2). It splits functionality across two APIs: the Gamma Markets API for market discovery and the CLOB API for order placement and execution.Gamma API (market discovery)
The Gamma API atgamma-api.polymarket.com is the simplest way to browse Polymarket data. It requires no authentication for basic reads.
CLOB API (trading)
The CLOB API atclob.polymarket.com handles order book operations. It requires an API key and HMAC-SHA256 signed requests. You need a funded Polygon wallet to trade.
Key endpoints:
| Endpoint | Method | Description |
|---|---|---|
/markets (Gamma) | GET | Browse markets, filter by active/volume |
/markets/{condition_id} (Gamma) | GET | Single market detail with outcomes |
/order (CLOB) | POST | Place a limit order |
/orders (CLOB) | GET | List your open orders |
/book (CLOB) | GET | Order book for a token |
Market identifiers
Polymarket uses hex condition IDs (0x1a2b3c...) for markets and separate token IDs for YES and NO outcomes. A single question (e.g., “Will the Fed cut rates?”) maps to a condition ID, and each outcome has its own ERC-1155 token. This two-layer ID system means you need to resolve condition IDs to token IDs before placing orders.
Limitations
Polymarket’s split API design adds complexity. Market discovery and trading are separate services with different auth, different ID systems, and different rate limits. There is no built-in analytics, no probability model beyond raw market price, and no cross-platform data. Volume data can lag.Robinhood
Robinhood launched event contracts in 2024, bringing prediction markets to its existing user base of retail traders. The platform offers a mobile-first experience with a growing selection of markets.API access
Robinhood does not offer a dedicated public API for prediction market trading. Event contract data is accessible through the general Robinhood API, but programmatic order placement for event contracts is not publicly supported. Market data can be fetched for display and analysis purposes.Market identifiers
Robinhood uses human-readable event slugs (e.g.,fed-rate-cut-march-2026). This is the most readable ID format of the three platforms, but there is no public ticker registry or API to search by slug pattern.
Strengths
Robinhood’s advantage is distribution. With millions of active users, event contracts on Robinhood can see significant retail volume. The commission-free model (fees built into the spread) is familiar to Robinhood’s existing equity trading users. Market creation is curated, so listed events tend to have clear resolution criteria.Limitations
The biggest gap is programmatic access. Without a public trading API for event contracts, you cannot build automated strategies directly on Robinhood. Data access is also more limited than Kalshi or Polymarket — no public order book, no WebSocket feeds, and no official SDK. For automated systems, Robinhood data is useful as a price reference and volume indicator, but not as a trading venue.The fragmentation problem
Building a cross-platform prediction market system means maintaining three separate integrations. Each platform has its own authentication scheme, data format, ID system, and API semantics. Here is what listing markets with basic edge detection looks like across all three:title vs question, yes_bid vs outcomePrices, volume vs volume24hr). Price formats differ (cents vs decimals). ID formats differ (tickers vs hex hashes vs slugs).
This is before you add any intelligence. Cross-platform arbitrage, probability estimation, edge detection, Kelly sizing — each of these requires another layer of code on top of the normalization.
Unified intelligence layer
Rekko normalizes market data from all three platforms into a single schema and layers AI analysis on top. The same query that took 60+ lines above becomes:Adding intelligence
The real value is not just normalization. Rekko runs a multi-stage research pipeline that produces independent probability estimates, edge calculations, and trading signals. Here is the full workflow — list markets, get an analysis, and generate a signal:Cross-platform arbitrage
When the same event is listed on multiple platforms, prices can diverge. A Fed rate decision might trade at 62 cents on Kalshi and 58 cents on Polymarket. That 4-point spread is a potential arbitrage opportunity. Detecting these manually requires fetching data from both platforms, fuzzy-matching event titles (Kalshi says “Fed rate cut”, Polymarket says “Will the Federal Reserve lower interest rates?”), and comparing prices while accounting for fee differences. Rekko handles the matching and surfaces arbitrage opportunities directly:Raw APIs vs Rekko: capability comparison
| Capability | Raw platform APIs | Rekko API |
|---|---|---|
| Cross-platform market listing | Build and maintain 3 integrations | Single GET /markets call |
| Normalized data schema | Manual normalization per platform | Consistent Market object |
| AI probability estimates | Not available | Independent of market price |
| Edge detection | Calculate manually after building a model | edge field on every analysis |
| Causal factor decomposition | Not available | ?expand=causal on analyses |
| Trading signals with Kelly sizing | Implement Kelly criterion yourself | POST /signals with size_pct |
| Cross-platform arbitrage | Fuzzy-match titles, compare prices manually | GET /arbitrage |
| Resolution intelligence | Track manually | Time decay, key dates, determination likelihood |
| Market screening | Query each platform separately | POST /screen with filters across all platforms |
| Correlation analysis | Not available | GET /correlation between markets |
| Sentiment analysis | Not available | Social and news sentiment scoring |
| Authentication | 3 different auth schemes (RSA-PSS, HMAC, OAuth) | Single Bearer token |
| Rate limit management | 3 separate rate limiters | One rate limit, managed server-side |
| Historical data | Per-platform queries with different schemas | GET /markets/{platform}/{id}/history |
| Webhook alerts | Not available | Price movement, arbitrage, and resolution webhooks |
| SSE streaming | Kalshi and Polymarket WebSocket (different protocols) | Unified SSE stream |
Authentication comparison
Each platform requires a different authentication setup. Here is what you need to get started with each.Kalshi
- Create an account at kalshi.com
- Generate an RSA key pair (2048-bit minimum)
- Upload the public key to your Kalshi account settings
- Sign every request with the private key using RSA-PSS (SHA-256)
- Send the key ID, signature, and timestamp as custom headers
Polymarket
- Create a funded Polygon wallet
- Register for API access at docs.polymarket.com
- Generate an API key and secret
- Sign requests with HMAC-SHA256 using your secret
- The Gamma API (read-only market data) requires no auth
Robinhood
- Have an existing Robinhood brokerage account
- Authenticate via OAuth 2.0 (device code flow or web flow)
- Pass the bearer token with each request
- Token refresh is required periodically
Rekko
- Sign up with your email (no wallet, no RSA keys, no brokerage account)
- Get a Bearer token in the response
- Pass it as
Authorization: Bearer YOUR_API_KEY
Fee comparison
Fees affect edge calculations directly. A market with a 3% edge but 2% round-trip fees leaves only 1% net.| Platform | Maker fee | Taker fee | Other costs |
|---|---|---|---|
| Kalshi | Free | 0.07 * p * (1-p) (max $0.0175/contract) | None |
| Polymarket | Market spread | Market spread + Polygon gas (~$0.01) | ETH/USDC bridge costs |
| Robinhood | N/A | Built into spread | None visible |
Rate limits and throughput
| Platform | Read limit | Write limit | Notes |
|---|---|---|---|
| Kalshi | ~10 req/s | ~10 req/s | Shared across reads and writes |
| Polymarket (Gamma) | ~10 req/s | N/A (read-only) | Separate from CLOB limits |
| Polymarket (CLOB) | Stricter | Stricter | Per-endpoint, varies |
| Robinhood | Standard | N/A for events | General Robinhood rate limits |
| Rekko (Free) | 30 req/min | 30 req/min | Includes all endpoint tiers |
| Rekko (Pro) | 120 req/min | 120 req/min | Strategy endpoints: 5 req/min |
GET /markets, Rekko manages pagination, retries, and rate compliance across all three platforms behind the scenes. You only need to respect one rate limit.
SDK and library comparison
| Platform | Official SDK | Language | Status |
|---|---|---|---|
| Kalshi | kalshi-python (community) | Python | Actively maintained, covers most endpoints |
| Polymarket | py-clob-client | Python | Official, focused on CLOB trading |
| Robinhood | None for events | — | General Robinhood wrappers exist but lack event contract support |
| Rekko | Any HTTP client | Any | Standard REST — use httpx, fetch, curl, or any HTTP library |
httpx because it supports both sync and async patterns, but requests, urllib3, or any other HTTP library works identically.
When to use raw platform APIs vs Rekko
Use raw platform APIs when:- You need direct order placement on a specific platform (Rekko is intelligence, not an order router)
- You are building exchange-specific features like order book visualization
- You need sub-second WebSocket data for high-frequency strategies
- You want to manage your own market data infrastructure
- You want cross-platform market coverage without maintaining three integrations
- You need AI-driven probability estimates and edge detection
- You are building a trading bot and want pre-computed signals with position sizing
- You want arbitrage detection across platforms
- You are researching markets and want causal factor analysis
- You need webhook alerts for price movements or resolution events
Frequently asked questions
Can I trade through the Rekko API? Rekko provides intelligence, not order execution. Use Rekko to identify opportunities and generate signals, then execute trades on Kalshi, Polymarket, or Robinhood directly. The execution guidance endpoint provides platform-specific order parameters to simplify this handoff. How fresh is the market data? Market listings refresh on a regular cadence. Each market object includes anupdated_at timestamp. For real-time price monitoring, use the SSE streaming endpoint or set up webhooks.
Does Rekko support other platforms?
Rekko currently covers Kalshi, Polymarket, and Robinhood. Platform coverage is expanding. Join the Discord to request a platform.
Is there a free tier?
Yes. The free plan includes 100 market listing calls and 10 AI analysis calls per month with no credit card required. See pricing for details.
Can I use Rekko from my AI coding assistant?
Yes. Rekko offers an MCP server that works with Claude Code, Cursor, and other MCP-compatible tools. You can query markets, trigger analyses, and get signals directly from your editor.
What’s next
Build a trading bot
End-to-end Python tutorial using Rekko signals for automated trading.
Kalshi API deep dive
Detailed guide to Kalshi’s REST API, auth, and order types.
Polymarket API deep dive
Gamma API, CLOB API, wallet setup, and trading flow.
Cross-platform arbitrage
Find and exploit price divergences across platforms.
Kelly criterion sizing
Optimal position sizing for prediction market trades.
Quickstart
Get your API key and make your first call in 5 minutes.