Kalshi vs Polymarket is the defining comparison in prediction markets — a CFTC-regulated fiat exchange versus a blockchain-based protocol on Polygon with the broadest category coverage in the industry. Bloomberg reported that an August 31, 2026 funding round led by 1789 Capital valued Polymarket at about $21 billion post-money; Kalshi’s headline private-market valuation figures are not confirmed from primary company filings for this comparison. This guide compares them across every dimension that matters to traders and agent builders: regulation, fees, markets, APIs, liquidity, and bot compatibility.
Regulation and Legal Structure
Kalshi has operated as a CFTC Designated Contract Market (DCM) and Derivatives Clearing Organization (DCO) since 2020. Founded in 2018 by Tarek Mansour and Luana Lopes Lara (YC W19), it remains a privately held CFTC-regulated exchange. Kalshi’s core legal argument is federal preemption: the Commodity Exchange Act grants the CFTC exclusive jurisdiction over event contracts traded on designated exchanges, so state gambling laws don’t apply.
Update (September 2026): That preemption argument does not uniformly prevail for sports contracts. On August 28, 2026, a unanimous Ninth Circuit panel in KalshiEX, LLC v. Assad, No. 25-7516, affirmed dissolving Kalshi’s preliminary injunction against Nevada gaming enforcement as applied to sports-related event contracts. The panel held that Kalshi did not show a likelihood that the CEA preempts Nevada’s gaming laws for those sports contracts, concluding the contracts are likely not “swaps” under CEA § 1a(47)(A)(ii). The dissolved injunction was Kalshi’s protective order against Nevada — not a lifting of Nevada’s sports restriction. Nevada sports access remains restricted. Election-contract issues in Nevada were remanded. The result conflicts with the Third Circuit’s April 2026 Flaherty ruling favoring Kalshi on New Jersey sports preemption — a circuit split this page does not resolve with any claimed Supreme Court cert outcome. Opinion PDF: cdn.ca9.uscourts.gov …/25-7516.pdf.
As of September 2026, Kalshi still faces active legal challenges in a dozen-plus states. Arizona filed 20 criminal misdemeanor counts on March 17, 2026 — the first-ever criminal charges against a prediction market — alleging illegal gambling and election wagering (treat Arizona as contested). Nevada users remain barred from sports contracts via registration-based restriction. Massachusetts issued a preliminary injunction blocking sports contracts, with the case heading toward the state Supreme Judicial Court. On the winning side of the split, a Tennessee federal court granted Kalshi a preliminary injunction on February 19, 2026, finding that sports event contracts are “likely swaps” under the CEA and that federal law likely preempts state regulation.
Polymarket took a different path. The global platform operates on the Polygon blockchain outside the US regulatory framework; after the April 2026 CLOB V2 cutover, trading collateral is pUSD (Polymarket USD — a USDC-backed ERC-20), not bridged USDC.e for day-to-day trading. To enter the US market, Polymarket acquired QCEX — a CFTC-licensed exchange and clearinghouse — for $112M in mid-2025. The CFTC issued a no-action letter in September 2025 and an Amended Order of Designation in November 2025. Polymarket US launched in beta in January 2026 with sports contracts only, gated behind an invite-only waitlist. The global platform remains accessible to non-US users without restriction. Update (September 2026): Bloomberg reported an August 31, 2026 funding round led by 1789 Capital that valued Polymarket at about $21 billion post-money (primary Bloomberg URL paywalled/bot-challenged this cycle; confirmable via Bloomberg syndication).
CFTC chair Michael Selig (Trump appointee, sole commissioner on a 5-seat body) has actively defended CFTC exclusive jurisdiction, calling Arizona’s criminal charges “entirely inappropriate” and directing staff to draft new event contract rulemaking. Three federal bills threaten restrictions — the BETS OFF Act (Murphy), the Prediction Markets Are Gambling Act (Schiff/Curtis, introduced March 23, 2026), and the STOP Corrupt Bets Act (Merkley/Raskin) — but none have passed.
On May 26, 2026, Spain announced a temporary block of both Kalshi and Polymarket over gambling-license issues — the first major non-US enforcement action affecting either platform. This is the rare cross-platform regulatory event that lands on both venues equally, and it signals that international jurisdictions with established gambling-licensing frameworks may begin treating CFTC and offshore prediction markets as functionally identical for licensing purposes. See our news coverage of the Spain block for full context. Agents routing through Spanish IPs or accounts should expect access disruption on both platforms.
For agents, the regulatory landscape determines which states bots can execute trades from. Kalshi’s state-by-state — and now circuit-level — litigation means geofencing awareness is essential: automating REST/WebSocket/FIX order flow against documented APIs is supported; bypassing KYC, registration-state blocks, or geo/compliance gates is an account and legal risk, not an API feature. After Assad, sports-contract bots also need circuit-aware controls. See our Kalshi legal state tracker for current status and the KYC compliance guide for identity-layer implications.
Market Coverage and Categories
Kalshi lists over 350,000 active markets. Sports dominates at 75-90% of total volume — NFL, NBA, MLB, NHL, college football, college basketball, soccer, golf, tennis, and MMA. Contract types include game outcomes (moneyline equivalents), spreads, totals, player props, and combos (parlay equivalents launched in 2025). Beyond sports, Kalshi covers politics, economics (Fed rate decisions, CPI, payroll — where the platform started), crypto price thresholds, weather events, entertainment, and mention markets.
Polymarket Global has fewer total markets but distributes volume more broadly: approximately 40% sports, 21% miscellaneous, 15% politics, 12% crypto, and 12% economics. This means Polymarket covers categories Kalshi cannot list due to CFTC constraints — geopolitics, long-tail global events, and deeper crypto markets. Polymarket also introduced minute markets in early 2026: 5-15 minute crypto direction contracts with taker fees.
Polymarket US is sports-only during its beta phase, with NBA, NHL, MLB, and NCAA tournament markets available to invited users.
| Category | Kalshi | Polymarket Global | Polymarket US |
|---|---|---|---|
| Sports | 75-90% of volume, full contract types | ~40% of volume | Sports only (beta) |
| Politics | Yes | Yes (~15%) | No |
| Economics | Yes (origin category) | Yes (~12%) | No |
| Crypto | BTC/ETH thresholds | Yes (~12%), plus minute markets | No |
| Weather | Yes (unique) | Limited | No |
| Geopolitics | No (CFTC limits) | Yes (free, no fees) | No |
| Entertainment | Yes | Yes | No |
Fee Structure
This is where the platforms diverge most sharply — and where the math matters most for automated strategies.
Kalshi charges formula-based taker fees with a maximum of $0.02 per contract. The fee curve is parabolic, peaking at 50¢ contracts (maximum uncertainty) and declining toward price extremes. Maker fees apply on select markets, charged only when resting limit orders execute — never on placement or cancellation. There are no settlement fees.
Polymarket Global historically charged zero trading fees on most markets — long a major advantage for high-frequency agents. That changed in 2026. Since March 30, 2026, Polymarket charges category-based taker fees: 1.80% on crypto markets, 1.00% on politics, and tiered fees on sports (introduced February 18, 2026). Makers pay 0% and earn rebates. Geopolitics markets remain fee-free, and Polymarket projected $800K–$1M in daily fee revenue from the rollout. See the Polymarket changelog for the live schedule.
Polymarket US charges a probability-scaled taker fee (0.05 coefficient — peak ≈1.25% effective at 50¢, capped at $1.25 per 100 contracts) and pays makers a 25% rebate, effective April 3, 2026.
| Contract Price | Kalshi Taker Fee | Polymarket (legacy, zero-fee) | Polymarket (politics, current) |
|---|---|---|---|
| 10¢ | ~$0.63/100 contracts | $0 | $0.90/100 contracts |
| 25¢ | ~$1.31/100 contracts | $0 | $1.88/100 contracts |
| 50¢ | ~$1.75/100 contracts | $0 | $2.50/100 contracts |
| 75¢ | ~$1.31/100 contracts | $0 | $1.88/100 contracts |
| 90¢ | ~$0.63/100 contracts | $0 | $0.90/100 contracts |
Deposits and withdrawals add another layer. Kalshi accepts ACH (free), wire (free from Kalshi), debit card (2% fee), and crypto (network fees only). Polymarket Global funding typically starts with USDC on Polygon that wraps into pUSD trading collateral — meaning users pay gas fees and bridge costs. Polymarket US accepts USD deposits directly.
For a Python implementation of fee-adjusted edge calculations, see the Kalshi fees guide (covering both platforms) and the prediction market math guide.
API Architecture
The API story is one of simplicity vs. flexibility.
Kalshi consolidates everything into a single API. REST v2 handles market data, order management, positions, and account operations. Update (September 2026): Recommended production base URL is https://external-api.kalshi.com/trade-api/v2 (legacy https://api.elections.kalshi.com/trade-api/v2 remains supported). WebSocket provides real-time streaming — orderbook deltas, ticker updates, trade feed, and fill notifications — with recommended host wss://external-api-ws.kalshi.com/trade-api/ws/v2 (legacy elections WebSocket still supported). FIX (FIXT.1.1 / FIX50SP2) serves institutional traders needing low-latency execution. Authentication uses RSA-PSS signing: generate a key pair in account settings, then sign each request.
The demo sandbox at recommended https://external-api.demo.kalshi.co/trade-api/v2 (legacy demo-api.kalshi.co still supported) mirrors the production API surface with fake money — an invaluable testing environment that Polymarket lacks entirely.
# Kalshi: Get market price (single API, single auth)
import requests
from kalshi_auth import sign_request
headers = sign_request("GET", "/trade-api/v2/markets/KXBTC-26MAR27")
resp = requests.get(
"https://external-api.kalshi.com/trade-api/v2/markets/KXBTC-26MAR27",
headers=headers
)
market = resp.json()["market"]
print(f"Yes: ${market['yes_ask_dollars']} No: ${market['no_ask_dollars']}")
Polymarket splits functionality across three APIs. The CLOB API (clob.polymarket.com) handles trading — prices, order books, order placement, and cancellation. The Gamma API (gamma-api.polymarket.com) provides market discovery and metadata. The Data API (data-api.polymarket.com) serves user positions and trade history. The global platform authenticates via EIP-712 signatures with HMAC headers; the US platform uses Ed25519. Update (September 2026): Official docs point to the unified SDK — Python polymarket-client (AsyncPublicClient / AsyncSecureClient) and TypeScript @polymarket/client (createPublicClient / createSecureClient). Uninstall superseded py-clob-client-v2 / @polymarket/clob-client-v2 (and related builder packages) per the SDK migration guide.
# Polymarket: Get order book (unified SDK — public reads need no keys)
import asyncio
from polymarket import AsyncPublicClient
async def main():
client = AsyncPublicClient()
# Resolve token_id via Gamma/market discovery first, then:
order_book = await client.get_order_book(token_id="TOKEN_ID")
print(order_book)
asyncio.run(main())
| Feature | Kalshi | Polymarket |
|---|---|---|
| API count | 1 (REST v2) | 3 (CLOB + Gamma + Data) |
| Streaming | WebSocket + FIX (FIXT.1.1 / FIX50SP2) | WebSocket channels |
| Auth method | RSA-PSS | EIP-712/HMAC (global), Ed25519 (US) |
| Demo sandbox | Yes (external-api.demo.kalshi.co; legacy demo-api.kalshi.co supported) | No |
| Official SDK | kalshi_python_sync | polymarket-client / @polymarket/client (unified; supersedes py-clob-client-v2) |
| Read access | Requires auth | Permissionless (Level 0) |
| Rate limits | Per-endpoint, documented | Per-endpoint, documented |
For full API walkthroughs, see the Kalshi API guide and the Polymarket API guide. The API reference hub covers both platforms plus DraftKings.
Liquidity and Volume
Kalshi processed $23.8B in total trading volume during 2025 — a 1,100%+ year-over-year increase. By early 2026, monthly volume exceeded $10B, with weekly volume consistently surpassing $2.3B. Daily notional hit $291M on January 1, 2026, and peaked at $381.7M on December 21, 2025. Open interest sits around $400M. During the 2026 NCAA tournament, Kalshi recorded its second-biggest single day at approximately $600M.
Polymarket runs approximately $1.2B in weekly volume with open interest around $360M. Over the September 2025 to February 2026 period, Polymarket processed $31B in total volume, capturing roughly one-third of the broader prediction market sector.
The liquidity profiles differ by category. Kalshi dominates sports — NFL and NBA game outcomes carry institutional-grade depth. Polymarket leads on political, crypto, and geopolitical markets where its global user base concentrates. On overlapping markets, the price differences between platforms create the arbitrage opportunities that cross-market agents exploit.
A critical dependency for Kalshi: Robinhood routes over 50% of retail volume through the platform via a $0.02/contract fee-split partnership. Robinhood acquired MIAXdx in January 2026 and plans to launch its own exchange later in 2026 — creating competitive uncertainty around Kalshi’s primary distribution channel.
Settlement and Wallet Infrastructure
Kalshi settles in USD through traditional banking rails. Deposits via ACH, wire, debit card, PayPal, Venmo, and crypto are all supported. Withdrawals process through ACH (free) or debit ($2 flat). The custodial model means no crypto wallet is required — agents interact with a standard fiat account.
Update (September 2026): Polymarket Global settles trading activity in pUSD on Polygon (USDC-backed collateral token; see Polymarket USD docs). Users still need a crypto wallet and typically fund via USDC.e that wraps into pUSD, plus gas for on-chain actions. This adds friction for non-crypto-native users but enables permissionless access without KYC on the global platform.
Polymarket US uses a custodial USD model — deposits via fiat, no wallet required — functioning more like Kalshi’s infrastructure.
For agent wallet architecture across platforms, see the agent wallet comparison guide.
Which Platform for Which Strategy
Different strategies map to different platforms. Here is the breakdown:
| Strategy | Best Platform | Why |
|---|---|---|
| Cross-market arbitrage | Both | Price and fee differentials create opportunities on overlapping markets |
| Market making | Kalshi | Simpler single-API, maker fee incentives |
| News-driven trading | Kalshi | Deeper sports liquidity, established news bot tooling |
| Research / signal generation | Polymarket | Permissionless Level 0 read access, broader categories |
| Sports betting agents | Kalshi | 75-90% volume is sports, institutional depth on NFL/NBA — but availability is state- and circuit-dependent after Assad |
| Political / macro | Depends | Polymarket leads on global political markets; Kalshi on US economics |
| High-frequency strategies | Depends | Polymarket’s former zero-fee edge now applies only to geopolitics; compare per-category taker fees |
| Crypto direction | Polymarket | Minute markets, deeper crypto category liquidity |
For the bot-specific comparison with code examples and architecture patterns, see Polymarket vs Kalshi Bots. For cross-market strategies specifically, see the cross-market arbitrage guide and the arbitrage betting guide.
Bottom Line
Kalshi is the right choice for US-regulated fiat trading, sports-heavy strategies (where sports contracts are available), simpler API integration, and institutional-grade compliance. The demo sandbox alone makes it the faster platform to build on. The risks are state and circuit litigation uncertainty — especially Nevada sports after Assad — and Robinhood dependency.
Polymarket is the right choice for broader category coverage, crypto-native infrastructure (pUSD collateral + unified SDKs), permissionless data access, and historically low fees (trading was zero-fee through 2025; category-based taker fees now apply, with geopolitics still free). The risks are regulatory ambiguity on the global platform and the still-limited US beta.
Most serious agent builders connect to both. The platforms complement each other — Kalshi for sports depth and regulatory clarity where available, Polymarket for category breadth and data access. Cross-platform arbitrage between them is a standalone strategy category. Start with the agent betting stack for the architectural overview, or jump to the three-way comparison that adds DraftKings Predictions to the analysis.
For another CFTC-regulated alternative, see OG.com — a Crypto.com-backed platform focused on sports contracts with parlay support, though without API access for bots.
