If you're building on prediction markets, you've likely looked at both Polymarket and Kalshi. They're the two largest platforms, but they take very different approaches. Here's a developer-focused comparison.
Platform Overview
Polymarket is a crypto-native platform built on Polygon. It uses a CLOB (central limit order book) model and settles in USDC. Markets are based on UMA's optimistic oracle for resolution.
Kalshi is a CFTC-regulated exchange based in the US. It operates as a traditional exchange with USD settlement and its own resolution process.
API Design
Polymarket's API is split across multiple services — the CLOB API for trading, a separate gamma markets API for market data, and on-chain contracts for settlement. Authentication uses API keys with HMAC signing.
Kalshi provides a single REST API with WebSocket support. Authentication uses a session token from email/password login or API keys. The API is well-documented and follows conventional REST patterns.
Trading Mechanics
On Polymarket, you trade outcome tokens on a CLOB. Prices range from $0 to $1, and you can provide liquidity by placing limit orders. The order matching happens off-chain with on-chain settlement.
Kalshi uses a traditional order book model with binary contracts priced from $0.01 to $0.99. Orders are matched on their internal engine. One key difference: Kalshi enforces position limits on certain markets.
Data Access
Both platforms provide market data through REST APIs. Polymarket's data is also available on-chain, which is useful for historical analysis. Kalshi provides historical data through their API with some rate limiting.
Where PAPI Fits In
This is exactly why we built PAPI. Instead of maintaining integrations with both platforms (and handling their different auth flows, data formats, and trading mechanics), you use one API. PAPI normalises everything behind a consistent interface so you can focus on your strategy, not your plumbing.
Check out the documentation to see how PAPI unifies these platforms.



