Prediction Market Exit-Cost Calculator
See what closing a Kalshi or Polymarket position pays right now, after the spread and trading fee.
This prices one immediate close of a position you already hold, at the prices you enter, on the fee schedule you select. It does not model an order resting on the book, a partial fill, or a contract carried to resolution.
Net proceeds if you close now
$58.32
vs $62.00 the mid price implies
One contract, on the book
net proceedsgap (spread + fee, broken out below)
Total gap
$3.68
spread cost plus fee cost
P&L the screen implies$17.00
P&L you'd actually walk away with$13.32
Both against the $45.00 the position cost to enter.
This prices closing the position now, at the bid you enter. It is not a view on whether closing now is a good idea, only on what it costs.
Your position
Every fee schedule, at this trade
Neither platform prices itself against the other, so this runs your own contracts and bid through every published rate tier rather than the FAQ’s old fixed 100-contracts-at-50-cents illustration. Your selected schedule is marked.
| Schedule | Rate | Fee |
|---|---|---|
| Kalshi standardyour schedule | 7.0% | $1.68 |
| Kalshi S&P 500 / Nasdaq-100 | 3.5% | $0.84 |
| Polymarket Crypto | 7.0% | $1.68 |
| Polymarket Sports, Economics, Culture, Weather, Other / General | 5% | $1.20 |
| Polymarket Finance, Politics, Mentions, Tech | 4% | $0.96 |
| Polymarket Geopolitics | 0% | $0.00 |
Kalshi rounds its fee up to the next cent; Polymarket rounds to the nearest 0.00001 USDC and never up, which is why the two can differ by a cent even at a matching rate. Polymarket’s own four rates rank the same way at any price or contract count, since they scale off one formula, but ranking across platforms does not: Kalshi’s round-up-to-the-cent rule makes it relatively more expensive the smaller the trade, enough to move a Kalshi tier above or below where it sits in the table above. A rate shown here for illustration may not match a specific market’s own posted parameters, and neither platform’s trading fee is the whole cost of exiting a position.
Written and reviewed by Alexander Korsager · last reviewed October 7, 2026 · corrections
The idea
What this tool shows
A prediction market screen shows one price, the mid, and that is not the price closing your position pays. Selling now trades into the best bid on the book, which sits below the mid by the spread, and the platform then charges its own trading fee on top of that. Two deductions, from two different causes, and most explainers of this cost fold them into one number or skip the fee entirely.
Both Kalshi and Polymarket fee a trade the same shape: a rate times the number of contracts times price times one minus price, which is zero at either end of the price range and largest at a 50-cent contract, exactly where the outcome is least certain. Kalshi charges 7% of that on an ordinary market and 3.5% on its S&P 500 and Nasdaq-100 contracts, rounded up to the next cent. Polymarket charges a rate that varies by category, from 7% on Crypto markets down to nothing at all on Geopolitics, and only when the trade takes liquidity from the book rather than resting on it.
Enter what you paid, the mid price the screen is showing, and the best bid actually available, and the panel prices the trade rather than the screen: the spread cost, the fee cost, and what would actually land in the account.
FAQ
Questions players ask
Why is the bid a separate field from the mid price?
Because they answer different questions. The mid is the midpoint of the book and is what most interfaces display as "the price". The bid is the highest price a seller can actually trade into right now, and it is always at or below the mid. Closing a position sells at the bid, not the mid, and the gap between them is a real cost even before any fee applies.
Why does the fee peak at a 50-cent price?
Both platforms fee price times (1 minus price), which is largest exactly at 50 cents and falls toward zero as a contract approaches either 1 cent or 99 cents. A coin-flip-priced contract is the most expensive one on the book to trade out of; a near-certain one is the cheapest, fee-wise, which is also the one where the spread tends to be tightest.
Does this apply if I'm not closing early, just letting the contract resolve?
No. A contract that resolves settles at $1 or $0 with no trade and no fee on either platform's general schedule. This page prices the specific decision to trade out of a position before that happens, at whatever the book will currently pay.
Which Polymarket category should I pick?
Whichever the market itself is listed under; the platform's own documentation states the rate per market rather than one flat rate. If you are unsure, the Other/General rate is the same as several of the named categories and a reasonable default, but check the market's own fee parameters if the trade is large enough for the difference to matter.
Is Kalshi or Polymarket cheaper to exit early?
It depends on the category, and the two platforms' own fee schedules don't put a number to each other. Kalshi's standard rate is 7%, halved to 3.5% on its S&P 500 and Nasdaq-100 markets. Polymarket's eleven categories collapse to four distinct rates: 7% on Crypto, matching Kalshi's standard rate exactly; 5% on Sports, Economics, Culture, Weather and Other; 4% on Finance, Politics, Mentions and Tech; and 0% on Geopolitics. The fee-schedule table prices all six against the contracts and bid you actually entered above, with your own schedule marked, rather than a fixed illustration. Polymarket's own four rates rank the same way at any price or contract count, since they scale off one formula; ranking across platforms does not hold the same way, because Kalshi rounds its fee up to the next whole cent and Polymarket does not, which makes Kalshi relatively more expensive the smaller the trade.
Methodology
How this is calculated
The panel prices one trade: closing contracts at the best available bid, against what the screen's mid price implies. Naive value is contracts times the mid price, the number a reader would assume by glancing at the screen. Gross proceeds is contracts times the bid, the price a market close actually fills at.
Spread cost is the difference between those two; it exists before any fee does. The platform's fee is then computed on the bid: Kalshi's own published formula is a coefficient times contracts times price times one minus price, rounded up to the next cent, 7% on an ordinary market and 3.5% on its S&P 500 and Nasdaq-100 markets.
Polymarket's published formula is the same shape, rounded to the nearest 0.00001 USDC per its own documented precision rule, at a rate that varies by category and applies only to a taker, which is what closing a position immediately is.
Net proceeds subtracts that fee from gross proceeds, and the total gap the panel reports, naive value minus net proceeds, is exactly the spread cost plus the fee cost by construction; nothing else moves money in this model.
Common misreadings2
- A large total gap is not itself evidence of a bad trade. On a large position at a near-50-cent price, both the spread cost and the fee cost scale with contracts, and a bigger number here is showing the same rate applied to more contracts, not a worse rate.
- The net proceeds this page prices are what a reader keeps from closing the position now. They are not a recommendation to close it. Whether the fee and spread shown here are worth paying to exit before resolution depends on a view about where the contract is headed, which this page has none of and states none of.
Assumptions7
- Closing now means taking the best bid immediately, which is a taker trade on both platforms. Polymarket's fee schedule states plainly that only a taker pays, so a resting order there costs nothing whether it is later filled or canceled. Kalshi's is narrower than that: canceling a resting order before it fills is free, but Kalshi's own help center states that some markets carry a maker fee, charged only once a resting order is actually filled, at a rate the general schedule this page implements does not publish (help.kalshi.com, retrieved 2026-09-16). A resting order that never fills is priced by neither fee nor this page, and one that fills on Kalshi may owe a maker fee this page does not model. The taker coefficients this page implements are pinned to Kalshi's CFTC-filed Fee Schedule (2nd Iteration, 2022-09-22), and Kalshi's own currently published Fee Schedule is indexed at kalshi.com/docs/kalshi-fee-schedule.pdf as a July 2026 update, dated 2026-07-07 per that listing's own title. We have not been able to retrieve the document itself to confirm the taker rates below are still what it publishes (retrieval attempted 2026-09-29). Both gaps, the undocumented maker fee and the unconfirmed taker rate, wait on the same source.
- The bid you enter is the price your close actually fills at, in full, for every contract entered. A real book has depth: closing a large position can walk through several price levels below the best bid, and this page prices the trade at one price throughout.
- The mid price is read from the screen at the moment you enter it. Both platforms' books move continuously, so the naive value and the spread cost are only as current as that reading.
- Kalshi's fee is computed and rounded on the full trade (contracts times price times one minus price), not per contract and then summed; the worked table in its own fee schedule confirms this is the intended reading, and kalshiFee.test.ts pins several rows of that table directly.
- Polymarket's fee rate is the one published for the market's category. The platform states these per market rather than as one flat schedule, so a rate chosen here for illustration may not match a specific market's own posted parameters.
- Polymarket rounds the computed fee to the nearest 0.00001 USDC (its own documented precision, re-checked 2026-09-22), with anything smaller rounding to zero. Every fee this page can produce, at 1-99 cent prices and a minimum nonzero category rate of 4%, sits well above that floor, so it is never rounded to zero. It can still move the two-decimal dollar figure the panel displays by a cent: when the unrounded fee falls extremely close to a half-cent boundary, rounding to five decimal places lands it on the other side.
- The fee-schedule table prices all six rate tiers at the contracts and bid you entered above, through the same kalshiFee and polymarketFee functions the panel itself uses, not a separate estimate. It does not claim any of the six is the cheapest venue for a specific market: a rate shown there for illustration may not match that market's own posted parameters, per the note above.
Limits3
- Neither platform's fee is the whole cost of trading. Kalshi charges a separate flat $2 withdrawal fee, unrelated to any single trade; Polymarket settles in USDC on a public blockchain and a withdrawal or an on-chain interaction can carry its own network cost. Neither is priced here, because neither is a function of the position being closed.
- Polymarket funds a Maker Rebate Program from the fees it collects, redistributed to resting orders that provided the liquidity a taker traded against. That rebate is paid to the other side of the trade this page prices, not to the reader closing a position, so it is not a discount available here.
- The fee formula is symmetric around a 50-cent price, but the two prices a reader is likely to enter, entry and current, rarely are. A position that has moved a long way from its entry price toward either 1 cent or 99 cents is cheaper to exit, fee-wise, than one still sitting near even odds, independent of whether that move was favorable.
Evidence
The figures come from exitCost in math.ts. kalshiFee and polymarketFee implement each platform's own published formula and are tested separately: kalshiFee is pinned against sixteen rows transcribed directly from Kalshi's CFTC-filed Fee Schedule (2nd Iteration, 2022-09-22, retrieved 2026-09-13) at both its 7% general rate and its 3.5% S&P 500/Nasdaq-100 rate, covering the full price range from 1 cent to 99 cents and both a single contract and a hundred; polymarketFee is checked against the same formula computed independently for several categories, including that Geopolitics prices at exactly zero, and against the platform's documented rounding to the nearest 0.00001 USDC (docs.polymarket.com/trading/fees, retrieved 2026-09-13, re-checked 2026-09-22). math.test.ts then asserts the identity the whole page rests on, that naive value minus net proceeds equals spread cost plus fee cost exactly, across a sweep of platforms, contract counts, and prices.
A passing test means the code computes each platform's own published formula correctly, not that the price you enter is a price you will be filled at.
Gambling can cause serious harm. The National Problem Gambling Helpline is free, confidential and open 24/7, call or text 1-800-MY-RESET (1-800-697-3738), or chat at ncpgambling.org/chat.
Read up
Go deeper
- Our researchThe longshot gap, and the spread that swallows itThe academic literature reports that prediction-market longshots are mispriced. We checked it on 12,755 settled Kalshi contracts, priced a day before they closed, and then did the part nobody had done: measured what reaching the mispricing would have cost at the same price, at the same moment, out of the same rows. In 10 price buckets out of 10, the cost was larger than the gap.
- GuideTurn $1,000 Into $5,000? Here's What the Odds Actually SayThe real odds of turning $1,000 into $5,000 gambling, computed from this site's own risk-of-ruin math, and why grinding it out in small bets makes them worse.
Related tools
Try next
- Hedge & Cash-Out CalculatorThe stake that locks in equal profit either way a bet lands, and whether the cash-out offer beats it.
- Lay Bet & Matched Betting CalculatorGet the exchange lay stake, liability and locked-in result for a qualifying bet or a free bet.
- Free Bet Value CalculatorWhat a stake-not-returned free bet is actually worth, and the lay odds that turn it into guaranteed cash.
- Arbitrage CalculatorCheck whether two or more prices on the same event lock in a profit, and get the stake for each side.
- Dutching CalculatorSplit one stake across several selections so you collect the same amount whichever one wins.