How Prediction Market Fees Actually Work: Kalshi vs Polymarket
A trader's guide to fee structure on Kalshi and Polymarket. How fees scale, what makers and takers actually do, and the four ways to execute a position.
By Ritesh Malpani
Fees aren't a tax. They're a lever.
Fee structure is one of the hardest things for people to wrap their heads around, and also the key to maximizing profits. Most people treat fees as an annoying tax (which, to be fair, they are). Traders treat them as a lever.
People hear "fees" and assume Polymarket or Kalshi are extracting from them. The reality is that every venue charges, just differently. Trading costs money everywhere. Three models exist:
- Visible exchange fees (CME, Coinbase, Kalshi, Polymarket): you see the fee. The market maker is paid through the spread separately.
- Hidden routing fees (Robinhood, Webull, most "free" brokers): you pay through worse fill prices.
- Spread-baked fees (sportsbooks, FX brokers): the price you're quoted already includes a 4 to 10% house edge, the so called vig.
The exchanges that charge visible fees aren't more expensive. They're more honest. And once you can see the fee, you can trade around it.
Makers and takers
Every trade has two sides: a maker and a taker. You can't have a market without both.
Makers post resting orders and wait. They say "I'll buy YES at 47¢" or "I'll sell NO at 53¢" and let someone come to them. They provide the liquidity that makes the market a market.
Takers cross the spread and hit immediately. They want execution now and they pay for that immediacy.
Makers are taking real risk. Their resting orders can get picked off by someone with fresher information. They tie up capital while waiting. They're the reason a price even exists for takers to hit. Without makers, there's no book. Without a book, there's no market. Period.
Every exchange, from equities to crypto, pays makers better than takers. It's how the market stays alive: the people taking the most risk get the best terms.
Your macro thesis tells you what to trade. Your fee awareness tells you how to trade it. Both Polymarket and Kalshi reward patience and punish impatience, but they do it in very different ways.
Why both fee curves are shaped like P × (1 − P)
Before we get into specific numbers, it's worth understanding why both fee curves are shaped the way they are.
Both Kalshi and Polymarket charge fees that scale with P × (1 − P), where P is the price of the contract. That expression isn't arbitrary. It's the variance of a binary outcome, and it's maximized at exactly 50¢. A contract trading at 50¢ has the most genuine uncertainty in the market; a contract at 95¢ has almost none.
Charging fees in proportion to uncertainty does three things at once:
- It compensates makers for the higher adverse selection risk they take at the midpoint.
- It stops punishing high conviction trades at the extremes.
- It kills the latency arbitrage strategies that thrive in 50/50 markets.
The curve is tactical, and it's the correct shape for instruments bounded between $0 and $1. Equities can't do this. A stock at $400 has no natural variance term to price against. Prediction-market contracts are mathematically special, and both Kalshi and Polymarket exploit that.
Kalshi fee schedule: one formula, every market
Kalshi's entire fee schedule fits in two lines:
Maker fee = ceil(0.0175 × C × P × (1 − P))
Taker fee = ceil(0.07 × C × P × (1 − P))C is the number of contracts and P is the price in dollars. That's the whole thing. The same formula governs sports, politics, weather, crypto, and economic data. One fee structure, every market.
- Peak fee is $0.0175 per contract at 50¢, or 3.5% of trade value. On 100 contracts at 50¢, that's $1.75 in taker fees.
- Makers pay exactly 25% of takers, a clean 4:1 ratio that creates a real but bounded incentive to provide liquidity.
The curve is perfectly symmetric: a trade at 30¢ costs the same as one at 70¢, because buying YES at 30¢ is economically identical to selling NO at 70¢, and the formula respects that. S&P 500 and Nasdaq-100 markets run at half rate, a clear gesture toward institutional traders who'd otherwise route through CME.
Fun fact: Kalshi reimburses any excess rounding fees monthly if they exceed $10 per user.
Polymarket fee structure: eleven categories, eleven dials
Polymarket spent most of its history charging zero. Fees were quietly introduced on 15-minute crypto markets in early 2026, then expanded into a full structured rollout on March 30, 2026. The new schedule has eleven categories, each with its own parameters.
Polymarket's general formula:
Maker fee = none
Taker fee = C × P × feeRate × (P × (1 − P))^exponentThree knobs per category: rate sets the absolute level, exponent sets the shape of the curve, and maker rebate share sets the cut of fees paid back to liquidity providers daily.
Three structural choices stand out, and each says something about what Polymarket is actually doing:
- Makers pay nothing, and get paid. No symmetric maker fee like Kalshi. Takers fund a daily USDC rebate pool that gets redistributed to makers based on filled liquidity. Most categories rebate 20 to 25%. Finance, conspicuously, rebates 50%, by far the highest.
- Geopolitical and world-events markets are permanently free. Polymarket explicitly does not charge fees on the markets that built the brand: elections, geopolitical events, world events. The platform is forgoing revenue on its highest-volume category to preserve the zero-friction trading experience that made it culturally dominant.
- The exponent reshapes the curve per category. Exponent 1 gives a standard parabola. Exponent 2 (Mentions, Other) creates a sharper peak with steeper falloff, concentrating fees aggressively at the midpoint where latency arbitrage strategies live. Exponent 0.5 (Economics, Weather) produces a flatter, broader fee zone, distributing the burden more evenly.
Polymarket isn't just charging fees. It's running a per-category control panel: eleven parameter triples for eleven different market microstructures. The trade-off is the inverse of Kalshi's: maximum tunability, but no trader can compute their exact fee without looking up the table.
Slippage: the fee neither venue prints on the receipt
Every Kalshi and Polymarket fee we've covered so far is the visible fee, the one printed on your trade confirmation. Slippage is the second, invisible fee. It's the gap between the price you saw on the screen and the price you actually filled at, and on prediction markets it can easily exceed the visible fee on a single trade.
Slippage shows up when the order book is thin. You hit the best ask, but there are only 200 contracts there. Your remaining 800 walk up to the next level, then the next, until they're filled. Net result: you paid the displayed fee, plus an effective price markup of one to several cents per contract. On a 5¢ contract, two cents of slippage is a 40% hit on cost basis, far worse than the printed fee.
Both Kalshi and Polymarket are vulnerable to it, with the most slippage risk concentrated in low-volume markets and at the extreme ends of the price curve. The fix is the same fix that minimises explicit fees: post a resting limit order, wait for it to fill, and let the spread come to you instead of you crossing it.
Head-to-head: Kalshi vs Polymarket trading fees on 100 contracts
At the price point where most volume actually trades, Kalshi is structurally 3.5× more expensive than Polymarket Politics on a like-for-like trade. Even Kalshi's discounted index markets, the cheapest thing they offer, are still 1.75× Polymarket Politics.
The gap closes at the extremes (both round to near-zero on contracts trading at 5¢ or 95¢) and matters most in the 30 to 70¢ band where genuine uncertainty lives. That's also where most of the volume actually trades.
The bottom line: four ways to execute
Two superficially similar curves hide two genuinely different exchanges. Kalshi sells predictability: one formula, every market, full stop. Polymarket sells tunability: eleven categories, eleven dials, a control panel for liquidity. Neither is wrong. They're optimizing for different traders.
But the deeper lesson is in how you actually trade either one. There are four ways to execute a position, and they form a strict ordering:
- 12 feesTake entry, take exitYou pay the fee twice.
- 21 feeTake entry, hold to resolutionYou pay it once.
- 31 feeMake entry, take exitYou pay it once, on the wrong side.
- 40 feesMake entry, make exitYou pay zero, and you might even earn rebates.
Same thesis, same conviction, same trade, and a 2 to 3% P&L swing depending on which row you default to. Most retail traders live in row one. Most professionals live in row four. That's most of the gap.
One last thing worth sitting with: prediction markets are the only retail trading venue where fees can be mathematically fair. Stocks don't have a variance term to price against. Sportsbooks bake a flat 4 to 10% vig into every line and call it a day. Only here, where every contract is bounded between $0 and $1, can fees actually scale with the uncertainty in the trade.
The curves you've just spent this article studying aren't a quirk of these platforms. They're the correct shape for what these markets actually are.
Trade accordingly.
Frequently asked questions about Kalshi and Polymarket fees
How to avoid fees on Kalshi?
You can't fully avoid Kalshi fees, but you can minimise them. Maker fees are 25% of taker fees on the same trade, so posting a limit order and waiting to be filled cuts your fee by 4×. Holding to resolution rather than exiting saves a second fee. And trading at the price extremes (under 10¢ or over 90¢) costs less than trading near 50¢ because Kalshi's fee scales with P × (1 − P).
Why does Kalshi have so many fees?
Kalshi technically only has one fee: a single per-trade, per-side fee that scales with contract price. The reason it feels like many is that the fee is charged on every leg of every position. Enter the trade: pay once. Exit before resolution: pay again. Both takers and makers are charged, just at different rates (7% vs 1.75% of the variance term). It's one formula applied symmetrically across every market and every action.
How does Polymarket make money with no fees?
Polymarket did make money with no fees for most of its history. The platform earned float on the USDC users deposited, and Polygon transaction revenue from the network the trades settled on. As of March 30, 2026, Polymarket also charges per-category trading fees on most markets (Crypto, Sports, Finance, Politics, etc.). Geopolitical and world-events markets remain permanently free.
Does Polymarket take a fee?
Yes, since March 30, 2026, Polymarket charges fees on most categories. Each category has its own rate and exponent: Crypto 0.072, Politics 0.040, Sports 0.030, Mentions 0.250, etc. Geopolitical and world-events markets are explicitly free. Makers pay nothing per trade and instead earn rebates from a daily USDC rebate pool funded by takers.
SEE THE NUMBERS LIVE
Compare Kalshi and Polymarket prices in real time.
Oddpool aggregates every market on both venues. Watch spreads, find arbitrage, and follow whale flow. All on one screen.