Polymarket vs Kalshi: the books disagree on half the midterm races, and there is $372 to take

Two days before the 2026 midterms we matched 88 races and 116 games across Polymarket and Kalshi and read both order books. In 51 of the races the two books crossed. After taker fees, at the depth actually on offer, all of it together paid $372. Who can use each venue, what each charges, where the volume is, how the APIs differ for a bot, and why the gaps don't close.

By the POLBOTS editorPublished Nov 1, 202613 min read
On this page9 sections

The short answer

Polymarket and Kalshi list many of the same events, price them within a cent or two of each other, and differ mostly in who can use them, what they charge and what they're busy with. On November 1, 2026, two days before the US midterms, we matched the markets that exist on both and read both order books.

  • Who can use them. Kalshi is a US-regulated exchange that takes dollars. Polymarket's international book takes stablecoins and blocks the US. Its US arm is a separate exchange with its own book.
  • Fees. Both use the same fee curve. Kalshi charges takers 0.07 almost everywhere. Polymarket's rate depends on the category, from 0.07 in crypto down to zero in geopolitics. In sports and politics, taking costs less on Polymarket.
  • Volume. Polymarket's book did roughly twice Kalshi's 24-hour volume, on our measure. Kalshi is the sports venue: half its day was sports. In the matched midterm markets it had more volume 61% of the time.
  • Prices. The median gap between the two venues' mid prices was 1¢ in both games and midterm races. In sports, no gap paid after fees.
  • The midterms. The books crossed in 51 of 88 matched races, so you could buy both sides of a race for less than $1. After taker fees and at the depth actually on offer, those 51 crossings were worth $372 in total.

Who can use each

Polymarket (international)Kalshi
RegulatorNone in the US. The international book geo-blocks the US and several other countriesCFTC-regulated exchange (designated contract market)
US residentsNo. They can use Polymarket US, a separate CFTC-regulated exchange that opened in December 2025, with its own bookYes, with identity checks
Outside the USMost countries, outside the blocked list"Many countries", per its help centre. Non-US users fund by card, wire or crypto only
AccountA crypto walletIdentity check at signup, bank or card
MoneyStablecoin collateral on PolygonUS dollars: ACH, debit card, PayPal, Venmo, wire, crypto. $10 minimum deposit

The regulatory fight is about Kalshi's sports contracts. As of late October 2026, Kalshi had sued Missouri and Louisiana to stop them from treating those contracts as gambling, and Utah had filed criminal charges against the company and its founders. Federal courts have split. For a bot operator, a state ruling can close a market overnight. The rest of where Polymarket is and isn't open is in are bots allowed on Polymarket?

Everything below compares Kalshi with Polymarket's international book: the one nearly every bot in our catalog trades, and the one with public order-book data.

What each charges

Both venues charge takers on the same curve, rate × contracts × price × (1 − price), so the fee peaks at 50¢ and falls toward zero near 0 and 100. The rate is where they differ.

100 contracts at 50¢KalshiPolymarket
Taker, sports$1.75 ($0.875 on MLB)$1.25
Taker, politics$1.75$1.00
Taker, crypto$1.75$1.75
Taker, geopolitics$1.75$0
Maker$0 on most series. $0.44 on 160 series with maker fees, most of them sports, including NFL and college football games$0, plus a maker rebate of 15–25% of the taker's fee
Volume discountsHigher API rate limits, not lower feesTaker-fee rebates up to 50% at $10M+ of 30-day volume

The Kalshi rows come from its own data. Every Kalshi series carries a fee type and a multiplier, and we read all 15,581 of them. 15,386 charge takers the standard quadratic fee at full rate, 160 add maker fees, 19 are at half rate (mostly baseball), and 14 charge nothing. Kalshi's fee schedule puts the taker rate at 0.07 and the maker rate at a quarter of that. Polymarket's rates are from its fee docs.

For a sports bot, the difference is large. The same in-play taker strategy pays 40% more in fees on Kalshi, and on Kalshi's NFL books it pays even when it rests. Our sports guide works through what a 1.25% fee does to a thin edge. On Kalshi that fee is 1.75%.

Both venues pay for resting liquidity. Kalshi's Liquidity Incentive Program pays $1 to $1,000 per market per day for two-sided quotes, sampled every second. It is open to US members only and runs until January 1, 2027. Polymarket pays maker rebates and liquidity rewards worldwide; our rebates study measured $6.4M paid out in a month to its top wallets alone.

Where the volume is

24-hour volume on every open single market on each venue, by category, on November 1, 2026:

CategoryKalshiSharePolymarketShare
Sports$14.4M50.4%$21.7M35.6%
Politics$10.2M35.7%$29.8M48.9%
Crypto$1.1M3.7%$4.8M7.8%
Mentions$1.5M5.2%——
Weather$0.3M1.2%$1.5M2.5%
Finance and economy$0.7M2.3%$1.1M1.8%
Geopolitics——$1.1M1.8%
Culture, tech, other$0.4M1.5%$1.0M1.6%
Total$28.6M$61.0M

Read the totals loosely. Kalshi reports volume in contracts, which we priced at each market's last trade. Polymarket's figure is the 24-hour volume its Gamma API reports per event. Kalshi also has more than 2.3 million open combo markets (parlays), which we left out because walking them takes hours and almost none trade. It was a Sunday with an NFL slate and two days before an election, so sports and politics are both near their peak.

The shares are the useful part. Kalshi is a sports exchange that also lists politics, and it has a busy "mentions" category (will a speaker say a given word?) that Polymarket's international book barely has. Polymarket leans on politics, crypto and weather. Crypto was 8% of its day, much of it in the 5- and 15-minute windows that are the most bot-traded books it has. Kalshi lists 15-minute crypto markets too, but crypto was under 4% of its day.

The same markets, side by side

We matched every market we could find on both venues:

  • Games. Kalshi's NFL, NBA, NHL, college football and college basketball game markets against Polymarket moneylines, by league, team codes and date. Kalshi's "ARI vs DAL (Nov 1)" is Polymarket's nfl-ari-dal-2026-11-01. That matched 116 of Kalshi's 518 open games: nearly every NFL, NBA and NHL game, and few college ones, where the two venues use different team codes.
  • Midterms. Polymarket's midterm events against Kalshi's chamber-control, Senate, governor and House markets, by state and party. A pair counted only if the state and the candidate's name matched on both sides. That gave 88 races.

The name check mattered. Kalshi's SENATELA-26, which a script would read as Louisiana, is the Kentucky Senate race. We dropped it and nine other pairs where the names didn't match.

Sports: priced the same, traded differently

LeagueGamesMedian mid gapMedian spread, KalshiMedian spread, Polymarket24h volume, Kalshi24h volume, Polymarket
NFL200¢2¢4¢$854K$422K
NBA330.5¢2¢1¢$83K$184K
NHL361.5¢5¢1¢$8K$12K
College football172.5¢3¢23¢$44K$3K
College basketball63¢1¢13¢$3K$0

The two venues agree on NFL games to the cent, and Kalshi does twice the volume. Polymarket's NBA books are tighter and busier. In college sports, Kalshi's books are the only ones with a real spread. The wide gaps in the data are all in thin college games, where Polymarket's spread is 25¢ or more and the "price" is a guess. Only 2 of the 112 two-sided pairs crossed at all, and neither crossing survived both taker fees.

Midterms: crossed half the time, worth almost nothing

The election markets looked very different. In 51 of the 88 matched races, one venue's bid was above the other venue's ask: you could buy Yes on one side and No on the other for less than $1, and one of them pays $1.

Race typeMatched marketsMedian mid gapCrossedPaid after taker fees24h volume, Kalshi24h volume, Polymarket
Chamber control41.3¢22$1.2M$2.1M
Senate521.0¢3423$3.4M$2.8M
Governor631.2¢4630$2.0M$0.9M
House510.5¢42$33K$39K

Counts are markets, and each race has a Democratic and a Republican one, which are the same trade mirrored. We then re-read both books for every crossed pair and walked the actual depth, buying until a set stopped paying after both taker fees. Counting each race once:

  • 36 races still paid, using about $130,000 of capital in total.
  • The total profit was $372.
  • The Michigan Senate race was most of it. Kalshi had the Democrat at 75–76¢, Polymarket at 80–81¢. That gap held about 65,000 sets. Buying Rogers (R) at 20¢ on Polymarket and selling him at 24¢ on Kalshi used $64,023 and paid $258, or 0.4%.
  • Everything else was small. The New York governor's race paid $36 on $9,054. The House-control market paid $26 on $25,239. The rest paid single dollars.

The top of each book is thin. The first few hundred contracts at the crossing price pay 2¢ a set. Below that, the next levels pay a fraction of a cent once both fees are counted. A gap you can see is not a gap you can trade at size.

Why the gaps stay open

If 0.4% is free money, why doesn't anyone take it? Because it isn't free, for four reasons:

  1. Different people, different money. Kalshi's accounts are identity-checked and funded in dollars, and it is the venue Americans can use. Polymarket's international book is crypto-funded and closed to the US. Trading both books means accounts on both and capital split between them. Moving money from one to the other takes days, across a fiat-to-stablecoin conversion.
  2. The money is tied up. Kalshi's Senate markets resolve when the winner is sworn in, for the term beginning in 2027, so the Kalshi leg waits until January. 0.4% over two months is about 2.4% a year, below what cash pays.
  3. The rules aren't the same. Kalshi pays on who is sworn in. Polymarket pays on who wins the election, including run-offs, and says independents count as neither party. They agree nearly always. A cross-venue "hedge" is a bet that they agree this time, which is the risk our arbitrage guide and hedging guide warn about.
  4. Two sets of fees, both taker. The cheapest way to hold both sides is to rest orders on both venues, which a market maker does anyway. A taker crossing both books at 50¢ in a political market pays 2.75¢ a set in fees before anything is left.

So the gaps that persist are the ones that aren't worth closing. When one gets big, as Michigan's did, it holds only a few hundred contracts at the top, and the people who can trade both books take those first.

For a bot: the two APIs

PolymarketKalshi
Market dataPublic: Gamma, CLOB, Data API, WebSocketPublic REST (/markets, /events, /orderbook) and a WebSocket
Trading authOrders signed by a wallet key, plus L2 API credentialsAPI key with every request signed (Ed25519 recommended, or RSA)
Test environmentNone. The SDKs have no paper modeA full demo exchange with its own credentials
Order typesGTC, GTD, FOK, FAK, post-only (details)Limit orders with good-till-cancelled (optional expiry), fill-or-kill or immediate-or-cancel; post-only; reduce-only
Self-trade preventionNot documentedRequired on every order (taker_at_cross or maker)
Price and sizeTick 0.01 or 0.001; minimum size 5Dollar prices to 4 decimals within each market's price bands; contracts in steps of 0.01
Rate limits, new account40 orders/s (burst 60), 80 cancels/s200 read and 100 write tokens a second, 10 tokens per request by default: about 20 reads and 10 orders a second
Getting moreHigher buckets by volume"Advanced" after one API order; above that, by share of exchange volume, from 0.075%
AlsoOrder heartbeats that cancel everything if the bot goes quietFIX gateway, order groups, amend and decrease, subaccounts

Kalshi's API is built like a regulated futures exchange: it has a demo environment, FIX, required self-trade settings, and fractional contracts. Polymarket's is built like a crypto venue: you hold your own keys, and its order types are simpler but come with tighter rules. New accounts get more order throughput on Polymarket, and Kalshi's real limits come from volume share. A bot written for one does not port to the other. Prices, sizes, auth and order fields all differ, which is why the cross-venue tools in our catalog are separate products. The Polymarket API explained covers the Polymarket side end to end.

The tools that work on both

Our Kalshi category lists every tool in the catalog that reaches Kalshi. For trading the two venues against each other:

  • Cross-venue arbitrage. Arbitrage Agent sends Kalshi × Polymarket signals, EventArb is a free calculator for a pair you've found, and Rainmaker runs AI agents across venues. Our midterm numbers are what to measure their claims against: a crossing has to survive both fees and the depth, not just the top of the book.
  • Terminals. Kairos merges Kalshi, Polymarket and Predict.fun into one order book. Stand puts Polymarket and Kalshi in one interface.
  • Research. Octagon does AI research across both, with an open-source Kalshi command-line tool.

What this means for you

  • If you're in the US: Kalshi, or Polymarket US, which is a different book from the one this guide measures. A bot built for the international CLOB won't run on either without a rewrite.
  • If you trade sports: Polymarket's taker fee is lower, and NBA and NHL books are tighter there. Kalshi has the NFL volume and charges makers on those books.
  • If you're thinking about arbitrage: the gaps are real and mostly too small to matter. Check the depth, both fees, both rulebooks and how long the money is locked up before you believe a screenshot of a gap.
  • If you're building: pick one venue and do it well. The two APIs share almost nothing beyond the price curve.

Method

  • Pull. November 1, 2026, 08:38 UTC. Polymarket's Gamma API and CLOB, and Kalshi's Trade API (api.elections.kalshi.com/trade-api/v2). All public endpoints, no keys.
  • Games. Open events on Kalshi's KXNFLGAME, KXNBAGAME, KXNHLGAME, KXNCAAFGAME, KXNCAAMBGAME and KXMLBGAME series (518 games; no MLB games were open), matched to the Polymarket event {league}-{away}-{home}-{date}, either team order. 116 matched, 112 with both sides quoted.
  • Midterms. Polymarket events tagged midterms (1,256), matched to Kalshi's CONTROLH, CONTROLS, SENATE{state}, GOVPARTY{state} and HOUSE{state}{district} events. A pair counted only when Kalshi's event title named the same state and Kalshi's candidate surname appeared in Polymarket's market title. 171 markets in 88 races matched, and 10 pairs were rejected.
  • Gaps and crossings. Mid = (bid + ask) ÷ 2 on each venue. A pair is crossed when one venue's bid is above the other's ask. Fees are each venue's taker fee per contract at the traded price: 0.07 on Kalshi, the market's own rate on Polymarket.
  • Depth. For every crossed pair, both full books were re-read within minutes of the match. We walked Yes asks on one venue against Yes bids on the other, the No side priced as 1 − bid, and stopped when a set no longer paid after both fees. Races are counted once, on the side that paid more.
  • Volume. Every open single market on Kalshi (165,305 markets), with 24-hour contracts × last price, grouped by series category. Every open Polymarket event, with Gamma's 24-hour volume, grouped by tag. Kalshi combo markets are excluded.
  • Fees. Kalshi's fee type and multiplier for all 15,581 series, from its /series endpoint. Rates from Kalshi's fee schedule and Polymarket's fee docs. Kalshi's API, limits and programs are from docs.kalshi.com and help.kalshi.com, read on November 1, 2026.
  • Script. scripts/kalshi-compare.mjs in our repository does the pull, and --summary prints every table above. It is plain Node with no keys.

Frequently asked questions

Is Kalshi or Polymarket cheaper?
It depends on the category. Both venues charge takers a fee of rate × contracts × price × (1 − price) and charge most makers nothing. Kalshi's rate is 0.07 on almost every series, so 100 contracts at 50¢ cost $1.75 to take. Polymarket's rate varies by category: the same trade is $1.75 in crypto, $1.25 in sports, $1.00 in politics and free in geopolitics. Kalshi also charges makers on 160 of its 15,581 series, most of them sports, including NFL games. Polymarket pays its makers a rebate instead.
Can you arbitrage Polymarket and Kalshi?
Rarely for real money. On November 1, 2026, the books crossed in 51 of 88 matched midterm races, and 36 of them still paid after both taker fees. Walking the actual depth, the total profit came to $372 on about $130,000 committed. The biggest, the Michigan Senate race, was a 4–5¢ gap that paid 0.4% before the money came back at resolution. Kalshi settles Senate markets when the winner is sworn in, in January 2027. In 112 matched games, no gap survived fees.
Can Americans use Polymarket?
Not the international order book, which geo-blocks the US and is what our price comparison uses. Polymarket US, a separate CFTC-regulated exchange operated by QCX LLC, opened in December 2025, requires identity checks and runs its own book. Kalshi is also CFTC-regulated and open to US residents, and its help centre says it can be used from many other countries too.
Which has more volume, Polymarket or Kalshi?
Polymarket's international book, on our measure: about $61M of 24-hour volume on November 1, 2026 against about $29M on Kalshi's single markets. The two venues count volume differently, and Kalshi's millions of combo markets are left out. The mix differs more than the total. Sports was half of Kalshi's day and a third of Polymarket's. In the matched markets, Kalshi had more volume in 61% of midterm markets and in NFL games, while Polymarket led in NBA games.
Do Polymarket and Kalshi resolve markets the same way?
Not always, and that is the main risk in trading one against the other. Kalshi's Michigan Senate market resolves Yes if a Democrat is sworn in for the term beginning in 2027. Polymarket's resolves on the winner of the election, including run-offs, and says independents don't count as either party. Most of the time those agree. A cross-venue position is a bet that they will, and our matching also found tickers that don't mean what they look like: Kalshi's SENATELA-26 is the Kentucky race.

Read next

All guides
Strategies

Polymarket arbitrage: the four kinds, why the edge vanishes, and what it costs to chase

What arbitrage means on a prediction market — outcome sets priced under a dollar, multi-outcome books that don't sum, the same event priced differently on Kalshi — why those gaps appear, the fee and capital maths that decide whether a bot can take them, and the execution risks (legging, resolution mismatch) that turn a sure thing into a loss.

5 minAug 21, 2026
Start here

Are bots allowed on Polymarket? What the rules, the API and the geo-blocks actually say

Yes — the order book has a public API built for it. What is not allowed: manipulation, wash trading, insider trading, dodging geo-blocks and hammering the rate limits. Where the international CLOB is open, where it isn't, and how Polymarket US differs.

5 minAug 21, 2026
Running a bot

Polymarket order types: GTC, GTD, FOK, FAK, post-only, and why the fee should pick one

Polymarket has four order types and one flag. We pulled the order settings of all 17,905 markets that traded in the last 24 hours: every one has a minimum size of 5, the tick follows the price, a quarter of them hold marketable orders for a second, and in the 200 busiest books priced 10–90¢ the taker fee is bigger than half the spread 73% of the time. What each type does, the rules that get orders rejected, and which type each kind of bot should use.

11 minNov 1, 2026