Kalshi and Polymarket fee calculator (2026)

Kalshi charges a flat 7% taker fee on every contract, documented from its published schedule but unverified since that PDF has returned HTTP 429 since 2026-09-21. Polymarket charges per market category instead, from 0% fee-free to 7% on crypto, measured from a 20,000-row sample of its 138,876-row catalog on 2026-09-23. Both fees peak at 50c.

  • On $100 at 50¢ you pay $3.50 in fees on Kalshi

    1.75¢ per contract · 200 contracts

  • On $100 at 50¢ you pay $2.50 in fees on Polymarket US

    1.25¢ per contract · 200 contracts

Polymarket rate read from the catalog for sports_fees_v3 (13,936 markets in a sample of 20,000 rows drawn from 11,637,244 in the archive). Kalshi's rate is its published general schedule; the PDF has been rate-limiting fetches, so it is documented rather than verified.

Exchange-side taker fees per each venue's published formula (rate × contracts × price × (1 − price)); contracts = stake ÷ price, rounded down to whole contracts. Fees peak at 50¢ and shrink toward the extremes. Most quoted cross-venue “arbs” are negative-EV after these fees; the taker-fee breakeven on a Kalshi/Polymarket pair is roughly 3.5–4¢.

How is the taker fee calculated?

Both venues charge takers the same shape of fee: rate x contracts x P x (1 - P), where P is the contract price in dollars and rate is set by the venue. The fee is largest when P is 0.50 and shrinks toward either end of the price range, because P x (1 - P) itself peaks at 0.25 when P is 0.50 and falls toward 0 as the price approaches 0c or 100c. Neither venue charges a maker fee; only the side that takes liquidity pays.

Kalshi's rate is one flat number, 0.07, applied to every contract on every series unless a series carries its own multiplier (Kalshi publishes those per series; TapeXray's archive has none on file yet, so every Kalshi figure on this site assumes a multiplier of 1.0). Kalshi also rounds the fee on an order up to the next whole cent. Polymarket reads a rate per market from that market's own Gamma catalog row instead of one constant: 0.03 to 0.07 depending on category, and 0.0 on markets flagged fee-free. Polymarket does not round its fee up. The Kalshi page and the Polymarket page each work through one venue's rate in full.

What does a $100 stake cost at 50 cents on each venue?

A $100 stake at a 50c price buys 200 contracts, the canonical example for comparing venues because 50c is where the fee is largest on both. The table below prices that exact order on Kalshi and on four Polymarket category rates, using the same rate x contracts x P x (1 - P) formula the site's own fee calculator runs, applied once to the whole 200-contract order rather than summed contract by contract (summing 200 separately rounded contracts would overstate the true order cost).

Taker fee on a $100 stake at 50c (200 contracts), by venue and category
VenueRateFee on 200 contracts at 50c
Kalshi (general schedule)7%$3.50
Polymarket, crypto7%$3.50
Polymarket, sports/culture/weather5%$2.50
Polymarket, politics/tech/finance4%$2.00
Polymarket, fee-free markets0%$0.00
Source: Computed from src/pmsite/fees.py's KALSHI_GENERAL_RATE and the measured Polymarket category rates in fees.json, 2026-09-23.

Is either venue's published rate actually verified?

No, not fully, and this page says so rather than implying otherwise. Kalshi's 0.07 general rate comes from its own published fee-schedule PDF, but that PDF has returned HTTP 429 on every automated fetch attempt since 2026-09-21, so the figure on this page is documented from that schedule, not independently re-verified against a live response. It is still the best available number: Kalshi has not announced a change, and the rate matches what the exchange itself has published.

Polymarket's rate table is measured, not typed. Every market publishes its own fee schedule on its Gamma catalog row, and TapeXray reads a 20,000-row sample of the 138,876-row catalog rather than trusting a hand-written category list, because a hand-typed table cannot notice when Polymarket adds a category. That sample is a sample, not a census: it covers about 14% of the catalog, so a rare category with only a handful of markets could be under-represented or absent from a single day's read. The Polymarket fee page publishes the full measured distribution with its row counts.

Does the fee math make cross-venue arbitrage easy to find?

No. The fee formulas above explain what a trade costs once a matching pair is found; they say nothing about how often one exists. TapeXray's own live board checked 10,869 matched pairs on 2026-09-23 and rejected 7,218 of them as suspect (a weak title match, a stale or one-sided order book, or a gap so large it is almost certainly two different bets). Of the pairs that survived, only 6 were gated as the same real bet on both venues, 4 of those sat inside the combined round-trip fee cost, and just 2 were still positive after fees.

That is the honest shape of most days: a real, fee-adjusted gap between two venues pricing the same event is rare, not routine. The fee tables on this page exist to answer "what would this trade cost", not to suggest a gap is waiting. For the current count and the markets archive behind it, and for a fuller walk-through of the two venues' rate schedules, see Kalshi vs Polymarket fees in 2026.

By The TapeXray deskLast verified