// COMPARE
Kalshi vs Polymarket fees compared
Kalshi charges an explicit, formula-based trading fee. Polymarket charges no exchange trading fee on most markets. Read those two sentences quickly and Polymarket sounds free — which is exactly the mistake this page exists to correct. The venues have opposite cost models: one prices execution as a visible fee, the other prices it as spread, depth, and gas. Comparing them per trade takes arithmetic, so let's do the arithmetic.
Kalshi: the taker fee formula
Kalshi's standard taker fee is:
fee = 0.07 × contracts × price × (1 − price)
with price in dollars (a 42¢ contract is 0.42), and the result rounded up to the next cent. Two properties matter:
- It peaks at 50¢. The
price × (1 − price)term is maximized at 0.5, so the fee is highest exactly where markets are most uncertain, and shrinks toward both tails. - It rounds up. On small orders the round-up is a meaningful bump — a fee of 0.63¢ becomes a full 1¢, roughly a 59% surcharge on the raw formula for a single contract.
Worked examples
Buying one contract:
| Price | Raw formula (0.07 × 1 × p × (1−p)) | Fee after round-up |
|---|---|---|
| 10¢ | 0.63¢ | 1¢ |
| 30¢ | 1.47¢ | 2¢ |
| 50¢ | 1.75¢ | 2¢ |
| 70¢ | 1.47¢ | 2¢ |
| 90¢ | 0.63¢ | 1¢ |
Buying 100 contracts (round-up nearly disappears at size):
| Price | Cost of contracts | Taker fee | Fee as % of notional |
|---|---|---|---|
| 10¢ | $10.00 | $0.63 | 6.3% |
| 30¢ | $30.00 | $1.47 | 4.9% |
| 50¢ | $50.00 | $1.75 | 3.5% |
| 70¢ | $70.00 | $1.47 | 2.1% |
| 90¢ | $90.00 | $0.63 | 0.7% |
Note the asymmetry: in absolute cents the fee is symmetric around 50¢, but as a percentage of the cash you put down it's brutal on cheap contracts — 6.3% of notional at 10¢ vs 0.7% at 90¢. Longshot strategies pay proportionally the most. Run your own numbers in the Kalshi fee calculator.
Makers ride (mostly) free
The formula above is the taker fee. Resting limit orders that provide liquidity generally pay no trading fee on most Kalshi markets (a small set of markets has non-standard schedules — check Kalshi's current fee docs). That makes patience a fee strategy: posting at your price instead of crossing the spread can erase the largest single cost of the trade, at the risk of not getting filled. The maker/taker distinction is covered in the glossary, and the strategy angle in Kalshi fees explained.
Polymarket: zero fee, nonzero cost
Polymarket charges no exchange trading fee on most markets today. The costs are structural instead:
- The spread. A market order buys at the ask, not the midpoint. On a liquid market that's a cent or less of round-trip cost; on a thin one it can be several cents — far more than Kalshi's fee would have been.
- Price impact. Displayed top-of-book depth can be modest. Buying more than the ask shows walks up the book, and each level costs real money.
- Polygon gas. Settlement happens on-chain. Gas on Polygon is typically small per transaction, but it's nonzero, varies with network conditions, and adds up for high-frequency strategies — and depending on your setup, approvals and transfers cost gas too.
None of these appear as a fee line, which is why they're systematically underweighted. The breakdown is in Polymarket fees and gas explained, with a calculator at /tools/polymarket-fee-calculator.
Side by side: net cost of the same trade
Suppose the same event trades on both venues and you want 100 YES at roughly 50¢. Kalshi shows 50¢; Polymarket shows 0.495 at the top of the book, but only 40 contracts deep, with the next level at 0.505.
| Kalshi | Polymarket | |
|---|---|---|
| Displayed price | 50¢ | 49.5¢ |
| Contracts × price | $50.00 | 40 × $0.495 + 60 × $0.505 = $50.10 |
| Exchange fee | $1.75 | $0 |
| Gas | $0 | small but nonzero |
| Net cost | $51.75 | ≈ $50.10 + gas |
| Effective price / contract | 51.75¢ | ≈ 50.1¢ |
Here Polymarket wins despite the depth penalty — Kalshi's 50¢ fee peak is hard to beat at mid prices. Now move the same trade to a 90¢ contract with Polymarket showing 89.5¢ but only 20 contracts before the book jumps to 91¢:
| Kalshi | Polymarket | |
|---|---|---|
| Displayed price | 90¢ | 89.5¢ |
| Contracts × price | $90.00 | 20 × $0.895 + 80 × $0.91 = $90.70 |
| Exchange fee | $0.63 | $0 |
| Net cost | $90.63 | ≈ $90.70 + gas |
The displayed-cheaper venue is the net-more-expensive one. These numbers are illustrative, not live quotes — but the pattern is real and it flips constantly with price level, book depth, and order size.
When the displayed-cheaper venue costs more
Rules of thumb for when the cheaper-looking price lies:
- Near 50¢, Kalshi's fee is at its 1.75¢/contract peak — Polymarket can be net-cheaper even a full cent worse on screen, if the depth is there.
- Near the tails, Kalshi's fee shrinks toward zero — a Polymarket price advantage of half a cent evaporates if you eat any book impact at all.
- At size, depth dominates fees. The fee is linear in contracts; price impact is not. Big orders care more about the shape of the book than the fee schedule — which is an argument for working the order rather than crossing (see slippage in thin markets).
- As a maker, Kalshi's fee mostly vanishes — the comparison collapses to fill probability and spread capture on each book.
If you're checking a specific cross-venue spread, the arbitrage calculator nets both venues' costs for you; the strategy behind it is in Kalshi–Polymarket arbitrage.
Doing this on every order
Every example above is one comparison: fee formula on one side, spread × depth × gas on the other, at your size, at this moment's book. Doing it once is arithmetic; doing it on every order is infrastructure. That per-order comparison is exactly what fee-aware smart order routing automates — Mithril runs it across both venues on each order and shows the result on an execution receipt, so the netting is your number, not a claim.
Fee schedules change. Details above reflect public documentation as of July 2026 — always confirm against the venues' own docs before trading real money.
Route for the best net price, automatically
Mithril compares fees, spread, and depth across Kalshi and Polymarket on every order — and proves it on the receipt. Free during beta.