Fees and costs

Kalshi vs Polymarket fees in 2026: which is cheaper?

Kalshi charges takers 0.07 x P x (1 - P) per contract per side, with a 1.75c peak at 50c. Polymarket also charges takers, but its category rate changes: 0.07 for crypto, 0.05 for sports, and 0.04 for politics. Polymarket is cheaper outside crypto and free geopolitics.

By The TapeXray deskLast verified 7 min read

What this page found

  • Kalshi's taker fee peaks at 1.75c per contract per side when the contract trades at 50c.
  • Polymarket's published taker rates run from 0.00 on geopolitics to 0.07 on crypto, with 0.05 on sports and 0.04 on politics.
  • At 50c, the unrounded fee is 1.75c on Kalshi, 1.75c on Polymarket crypto, 1.25c on Polymarket sports, and 1.00c on Polymarket politics.
  • TapeXray's live gap board uses a flat 6% Polymarket taker estimate inside fee-adjusted gap math, which is an internal approximation rather than Polymarket's fee schedule.
1.75cKalshi peak taker fee at 50cKalshi fee schedule, verified 2026-09-22
0.07Kalshi flat taker-fee rateKalshi fee schedule, verified 2026-09-22
0.04Polymarket politics taker-fee ratePolymarket fee docs, verified 2026-09-22
6%TapeXray board's Polymarket gap estimateTapeXray live board note, verified 2026-09-21
236,027Markets tracked across both venuesTapeXray archive, updated 2026-09-21

What does Kalshi charge?

Kalshi's published fee is a taker fee. Makers are listed at 0.0, and takers pay on entry and exit. The economic shape is simple: 0.07 x P x (1 - P) per contract per side, where P is the contract price in dollars. A 50c contract has P = 0.50, so the unrounded fee is 0.07 x 0.50 x 0.50 = $0.0175, or 1.75c. The fee gets smaller as the contract moves toward either end of the board.

Kalshi also publishes the fee with a ceiling function: fee = ceil(0.07 x C x P x (1 - P)) cents, where C is the number of contracts. That order-level rounding matters most on small tickets. The main comparison still starts with the same curve: the highest fee is near 50c, not near 10c or 90c. For live cross-venue context, the gap board uses Kalshi's 0.07 rate in its displayed fee-adjusted spread math.

Kalshi fee curve per contract per side before order-level rounding
PriceP x (1 - P)0.07 x P x (1 - P)Displayed cents
10c0.090.0063 dollars0.63c
25c0.18750.013125 dollars1.31c
50c0.250.0175 dollars1.75c
75c0.18750.013125 dollars1.31c
90c0.090.0063 dollars0.63c
Source: Kalshi fee schedule, verified 2026-09-22; arithmetic shown from 0.07 x P x (1 - P).

What does Polymarket charge?

Polymarket also lists maker fees at 0.0 and taker fees as the relevant charge. The difference is that Polymarket's rate is not one flat number across the board. Its formula is C x rate x P x (1 - P), with the rate set by market category. That is the point most stale fee pages miss.

Crypto is 0.07, which matches Kalshi's rate before rounding. Sports, culture, economics, other, and weather are 0.05. Politics, finance, mentions, and tech are 0.04. Geopolitics is 0.0. That means the same 50c price can cost 1.75c in a crypto market, 1.25c in a sports market, 1.00c in a politics market, or 0.00c in a geopolitics market.

The price curve is still the same P x (1 - P) curve. The fee is largest at 50c and lower at 10c, 25c, 75c, and 90c. The category rate decides how tall that curve is.

Polymarket published taker-fee rates by category
CategoryRate50c fee per contract
Crypto0.071.75c
Culture0.051.25c
Economics0.051.25c
Finance0.041.00c
Geopolitics0.000.00c
Politics0.041.00c
Sports0.051.25c
Tech0.041.00c
Weather0.051.25c
Source: Polymarket trading-fee documentation, verified 2026-09-22; 50c fee equals 100 x rate x 0.50 x 0.50.

Which venue is cheaper at 10c, 25c, 50c, 75c, and 90c?

At the same price, Polymarket is cheaper than Kalshi in every category with a rate below 0.07, equal before rounding in crypto, and cheaper still in geopolitics. That statement is just arithmetic on the published rates. It is not a statement about available liquidity, bid-ask width, state access, or whether the market definitions match.

The table below uses one contract, one side, and the unrounded fee curve. Kalshi order-level rounding can change the charged cents on a small ticket because its published formula uses a ceiling function. Polymarket's cost changes by category, so the table shows four useful buckets: crypto at 0.07, the 0.05 categories, the 0.04 categories, and geopolitics at 0.00.

The practical bettor's answer is still line shopping. A fee edge of 0.50c at 50c does not beat a worse price by multiple cents. The fee table tells what the vig costs once the price is equal.

Fee per contract per side at common prices
PriceKalshi 0.07Polymarket crypto 0.07Polymarket sports/other 0.05Polymarket politics/tech 0.04Polymarket geopolitics 0.00
10c0.63c0.63c0.45c0.36c0.00c
25c1.31c1.31c0.94c0.75c0.00c
50c1.75c1.75c1.25c1.00c0.00c
75c1.31c1.31c0.94c0.75c0.00c
90c0.63c0.63c0.45c0.36c0.00c
Source: Kalshi fee schedule and Polymarket fee documentation, both verified 2026-09-22; arithmetic uses 100 x rate x P x (1 - P).

Why does the TapeXray board use a 6% Polymarket estimate?

The live board has two different jobs. It compares live prices across venues, and it has to do that even when a Polymarket category mapping is not yet clean enough for a per-category fee. For the fee-adjusted gap line, TapeXray charges the Polymarket leg a flat 6% taker estimate. That is an approximation inside TapeXray's gap math, not Polymarket's published fee schedule.

The displayed fee-adjusted gap formula is: fee_adjusted_cents = |mid_k - mid_p| - 200 x (0.07 x Pk x (1 - Pk) + 0.06 x Pp x (1 - Pp)). Pk and Pp are the Kalshi and Polymarket mid prices in dollars. The 200 multiplier reflects entry plus exit in cents across both venues.

Fork math is different. A locked fork holds to resolution, so TapeXray subtracts one-way taker fees per leg rather than a round trip. The fork net uses Kalshi ceil(7 x P x (1 - P)) cents and Polymarket PM_TAKER_FEE_RATE x P x (1 - P) x 100 cents, priced off executable YES and NO quotes rather than mids.

How big is the tape behind the comparison?

The fee schedule is static, but the usefulness of a fee comparison depends on what is actually trading. TapeXray's archive tracked 236,027 markets across two venues as of the 2026-09-21 archive update. The catalog listed 94,209 active Kalshi markets and 138,833 active Polymarket markets. It also listed 24-hour volume of $79,251,622 on Kalshi and $31,756,150 on Polymarket.

Those numbers do not mean every market can be crossed cleanly. The cross-venue board matched markets by title and rejected suspect pairs. On the 2026-09-21 board snapshot, there were 100 suspect pairs rejected, 6 pairs gated total, 4 pairs inside the fee line, and 2 pairs positive after fees. That is the usual lesson: most days there is nothing here. Fees matter most when a real price is available on both sides and the definitions match.

For venue availability by state, use the state pages. For archived market pages, use the markets hub. For plain-English fee and odds primers, use the guides hub.

Questions people ask

Is Kalshi cheaper than Polymarket?

Not usually on fees alone. Kalshi uses a flat 0.07 taker-fee rate, while Polymarket uses category rates. Polymarket crypto is also 0.07, so it is equal before rounding. Polymarket sports is 0.05, politics is 0.04, and geopolitics is 0.00, so those categories are cheaper at the same price.

Why do both fees peak at 50c?

Both schedules use the P x (1 - P) shape. At 50c, P is 0.50 and P x (1 - P) is 0.25, the largest value on the curve. At 10c or 90c, P x (1 - P) is 0.09, so the fee is lower even though the contract still pays $1 if it wins.

Do maker orders pay fees on Kalshi or Polymarket?

The verified fee documents list maker fees at 0.0 for both Kalshi and Polymarket. The comparison here is about taker fees, because takers pay the explicit trading fee. A maker order can still face execution risk, adverse selection, and a missed fill, so 0.0 maker fee is not the same as free edge.

Why does TapeXray show 6% for Polymarket on the live board?

TapeXray's live gap board uses a flat 6% Polymarket taker estimate inside its fee-adjusted gap formula. That is a screening approximation, not Polymarket's published schedule. Polymarket's actual published rates are category-based: 0.07 for crypto, 0.05 for sports, 0.04 for politics, and 0.00 for geopolitics.

Should a bettor choose the lower-fee venue every time?

No. The lower-fee venue can still have the worse all-in price. A 0.50c fee advantage at 50c is beaten by a 1c worse line. The bettor's calculation is the executable price, the fee, the bid-ask spread, the limits, and whether both contracts resolve on the same event definition.

Sources

Independent archive. No referral links in editorial copy, no paid placements, and nothing here is legal, tax or financial advice. Found an error? Tell us and we will date the correction.

Related reading

See today's board

Every pair on this page is scored live against the same fee line, refreshed with each deploy. No referral links, no rankings we were paid for.

Open the board

Free Telegram alerts. Example:

Polymarket moved 8¢ on US recession in 2026? in the last 60 minutes (12¢ → 20¢). Kalshi hasn't caught up — still sitting at 14¢.Get alerts (opens in a new tab)

All articles