Kalshi vs Polymarket vs a sportsbook: two of the three are exchanges, and the third is your counterparty
A sportsbook takes the other side and prices its margin into the line. Kalshi and Polymarket match you against another trader and publish the fee.
On Kalshi and on Polymarket the person on the other side of your trade is another trader, and the venue takes a fee at the moment the trade happens. On Polymarket that fee is 0.00 for makers and 0.00 to 0.07 for takers depending on category: 0.07 on crypto, 0.05 on sports, economics, culture, weather and other, 0.04 on finance, politics, mentions and tech, and 0.00 on geopolitical. On Kalshi the taker rate is 0.07, applied as roundup(0.07 x C x P x (1 - P)).
What Kalshi charges a maker is not a settled fact, and it is the most interesting thing on this page. Kalshi's newsroom says resting orders are fee-exempt. Kalshi's help centre says maker fees are charged. The two cannot both be true, we have found no public reconciliation of them, and no competitor page we audited mentions the conflict at all. So three of the four fee positions in this comparison can be computed before you click, and the fourth is an open question that the venue's own documentation asks and does not answer.
On a sportsbook the operator posts both prices and takes the other side of your bet. Its margin is inside the number you are looking at, it is not itemised anywhere, and we hold no verified margin figure for any named operator, so this page does not print one. What it gives you instead is the arithmetic to work it out yourself on the book you actually use.
Status as of 19 August 2026. Polymarket coefficients were read from each market's feeSchedule object on the Gamma API on 4 August 2026, schedule version 2026-08-04.a. Kalshi's taker formula is documented at docs.kalshi.com. Nothing has been re-read since 5 August 2026.
Kalshi's own documentation contradicts itself on maker fees, and nobody has reconciled it
This is the part to read if you post limit orders, and it is the part every other comparison page skips.
Kalshi publishes a taker rate. It is 0.07, it is applied quadratically, and it is computable to the cent before you send an order. On the maker side there is no equivalent. One Kalshi publication says resting orders are fee-exempt. Another Kalshi publication says maker fees are charged. Nobody outside the company has reconciled the two in public, and the underlying problem is structural rather than accidental: Kalshi's HTML fee page is a stub that punts to a rate-limited PDF, so no fee table, no per-price grid and no worked example exists on the indexable web at all. That is also why a 404 page once ranked in the top ten for kalshi fees.
Our scanner has to put a number somewhere in order to run. scanner/fees.py:74 carries a 0.0175 quadratic coefficient for Kalshi makers, marked in the file as a coefficient rather than a flat percentage. That number is our working assumption. We chose it. Kalshi does not publish it, we do not attribute it to Kalshi, and it should not be quoted as a Kalshi rate by anyone, including us.
Three positions, and which one is true changes what a resting order on Kalshi costs you:
| If the newsroom is right | If the help centre is right | What our scanner actually does |
|---|---|---|
| Resting orders are fee-exempt. A maker fill costs 0.00 and your only cost is the half-spread you collected rather than paid | Makers are charged something. The amount has never been published in any form we have been able to read, so the cost is unknown rather than small | Applies a 0.0175 coefficient, our own assumption, so our maker-side output is too high if the newsroom is right and unverifiable either way |
Read that table as three open positions, not as three estimates. Nothing in it is a Kalshi price. Any Kalshi maker cost you see anywhere on this site, in our scanner output, or in a rival's comparison table, is an assumption wearing the clothes of a rate until one of the first two columns is confirmed against a primary source. If you trade Kalshi as a maker at size, that reconciliation is worth more to you than any fee table, and you will have to get it from Kalshi support in writing.
The Polymarket side of the same question is not ambiguous. Makers are charged 0.00. That is zero, not a discount, not a rebate and not a tier. It is in the published schedule and in every per-market feeSchedule object we have read. See maker vs taker for what that does to strategy.
Six questions, and the sign-up bonus is not one of them
Comparison pages in this niche compare bonuses. The six rows below decide what a trade costs you and who gets to say whether you won.
| Question | Kalshi | Polymarket | A sportsbook |
|---|---|---|---|
| Who is on the other side | Another trader, on an order book | Another trader, on an order book | The operator |
| How the price is set | Resting bids and asks | Resting bids and asks, YES and NO out of one book | The operator posts both sides |
| Does the venue hold a position | No. It is paid a fee at trade time | No. Same | Yes, by construction |
| What you pay | Taker: roundup(0.07 x C x P x (1 - P)). Maker: unresolved, see the section above | 0.00 as maker, 0.00 to 0.07 as taker by category | Inside the posted price, not itemised |
| Who decides settlement | Kalshi, for its own contracts | The venue's oracle | Not verified by us |
| Appeal in a dispute | None documented outside Kalshi | None documented | Not verified by us |
The Kalshi maker cell is open on purpose and cannot be filled from any source we hold. Two further cells say "not verified by us". Three of twenty-four cells left open is the honest state of our reading rather than a gap we have papered over, and it is three more than any competitor page in this cluster admits to.
Your counterparty is another trader on two of these three
When you buy YES at 50 cents on Kalshi, somebody sold it to you at 50 cents. That somebody is another trader. Kalshi's revenue is the fee charged per contract at the moment of the trade, and it is charged whether the contract eventually settles in your favour or against you.
Polymarket is the same shape with an extra property that you can check yourself. Every open binary contract there is fully collateralized: if you hold YES at $0.63, somebody holds NO at $0.37, and the dollar that pays the winner is already locked in the contract before anything resolves. Our own collector confirmed it from a different direction on 31 July 2026, because Polymarket's Gamma API publishes only bestBid and bestAsk and the NO price is the arithmetic complement of YES, so yes_ask + no_ask = 1 + spread by construction. Where that money physically sits is a separate question, covered in where your money sits.
That single fact kills a trade a lot of people arrive looking for. If the two sides always sum to exactly $1.00, buying both for less than a dollar does not occur. Intra-market arbitrage is dead on modern Polymarket, and what our own scanner actually finds is momentum, not arbitrage. We say so on every page because the site was originally built on the opposite assumption.
A sportsbook is the other thing. The operator posts both prices and stands behind both, so it is the party you are trading against rather than a venue standing between two traders. How any individual book manages the position it takes is not something we have read at source.
The price is set by a book on two of them, and by one party on the third
On an order book, the price is whatever two strangers most recently agreed on, and the gap between the best bid and the best ask is the spread. Cross it and you have paid the half-spread before any fee at all. Worked with illustrative prices: YES best bid $0.58, best ask $0.62, midpoint $0.60, spread 4 cents, half-spread 2 cents. Taking the ask costs 2 cents on a 60 cent position, which is 3.3% of stake before the fee. Nobody in this community calls that a trading fee. They call it the half-spread, and it is the largest cost on most small trades.
On Polymarket, and this is the part most comparisons get wrong, that spread is earned by whoever posted the resting order. It is the maker's income, not the venue's, and Polymarket charges makers 0.00. Compute an overround on a prediction market and you have measured other traders' spread, not the house's cut, because there is no house. The same logic holds on Kalshi for the spread itself. What a Kalshi maker then pays the venue on top of it is the open question above.
On a sportsbook the two posted prices come from one party. The amount by which the two sides' implied probabilities exceed 100% is that party's margin, and unlike the half-spread on an exchange it does not go to another customer.
How to compute it on your own book. Convert each side's price to an implied probability, add the two together, and subtract 100%. What is left is the margin, expressed in percentage points. As a demonstration of the arithmetic only: if one side implies 55% and the other implies 50%, the sum is 105% and the margin is 5 points. Those two inputs are arbitrary numbers chosen to show the method. They are not a reading from any operator, and we publish no figure for any named book because we have not measured one.
What you pay is a line item on two of them, and part of the price on the third
Polymarket stores its taker coefficient per market, in a feeSchedule object. Eleven categories carry four distinct values. Because contracts cancel out of the formula, the fee as a share of your stake is simply rate x (1 - P), a derived result rather than a published one, which means entry price moves your cost far more than order size does.
| Category | Taker coefficient | Cost of a $100 taker fill at $0.30 | At $0.90 |
|---|---|---|---|
| Crypto | 0.07 | $4.90 | $0.70 |
| Sports, economics, culture, weather, other | 0.05 | $3.50 | $0.50 |
| Finance, politics, mentions, tech | 0.04 | $2.80 | $0.40 |
| Geopolitical | 0.00 | $0.00 | $0.00 |
| Any maker fill, any category | 0.00 | $0.00 | $0.00 |
Every figure in that table is Polymarket's own, from the published schedule and from the per-market objects. Run your own numbers through the Polymarket fee calculator.
Kalshi charges a taker rate of 0.07 through roundup(0.07 x C x P x (1 - P)), where C is contracts and P is the price in dollars, rounded up to the whole cent on the order rather than per contract. This page prints no Kalshi maker rate, for the reason set out above: one Kalshi publication says resting orders are fee-exempt, another says maker fees are charged, and neither quantifies the second position anywhere we can read. The taker arithmetic is worked step by step in Kalshi fee math and runs in the Kalshi fee calculator, and both of those stop at the taker side for the same reason.
The consequence the two venues' taker rates share, and it is the opposite of most people's intuition:
| Entry price | Break-even at taker 0.07 | At taker 0.05 | At taker 0.04 |
|---|---|---|---|
| $0.90 | 0.70% | 0.50% | 0.40% |
| $0.60 | 2.80% | 2.00% | 1.60% |
| $0.30 | 4.90% | 3.50% | 2.80% |
| $0.10 | 6.30% | 4.50% | 3.60% |
Taker coefficients only. There is no maker column here because Polymarket's would be a column of zeroes and Kalshi's cannot be computed from anything published.
The cheap contract in the longshot corner of the board is the expensive one per dollar risked. On Kalshi the rounding rule makes it worse on small orders: one contract at $0.05 generates a taker fee of a third of a cent and is charged a full cent, so the all-in cost reaches 20% of a five cent stake.
We know this from our own losses rather than from theory. Of the five positions our paper trader had open on 28 July 2026 against $500 deployed, one was entered at $0.2965 on a claimed edge of 1.20% when the fee alone was 2.81% of stake and the trade needed a 3.52% gross edge to break even on one leg. It was a guaranteed loss at the moment of entry, before the market moved at all, and the cause was a flat percentage threshold in our own scanner that ignores the price-dependence of the fee. A second position opened the same day carried the identical 1.20% claimed edge at an entry of $0.8693 and was profitable, which is the whole point: the same edge number sits on opposite sides of break-even depending only on where the entry falls on the curve.
On a sportsbook there is no equivalent table to publish, because the number is not published. That is the difference this whole page is about: on an exchange the taker cost is a formula you can run before you trade, and on a book it is a residual you can only infer from the prices.
Whether the operator has a position is the difference that survives all the others
Every row above reduces to this one. An exchange is paid the same fee whether you win or lose, because the fee is charged at trade time and comes out of the trade rather than out of the payout. A book that sets both prices and takes the other side is holding the opposite position to yours by construction.
It is also why vig and house edge fit neither exchange. A house edge is a fixed margin an operator holds on every wager, and neither venue takes the other side, so there is no such percentage to hold. What you pay as a taker varies by roughly ten times across the price range at one coefficient, and on Polymarket you can cut it to zero by resting an order instead of taking one. On Kalshi you can cut out the half-spread the same way. Whether you also cut the venue fee to zero is the unresolved question, and anyone who tells you otherwise is quoting an assumption.
Settlement is decided by the venue on both exchanges, and we cannot tell you who decides it on a book
Whoever controls the oracle decides who was right. On a CFTC-designated contract market the exchange itself is that mechanism, which is the arrangement the Massachusetts Attorney General's complaint describes as writing the rules for the contract and determining the basis for settlement with no independent intermediary. We have not pulled that docket, so we hold no case caption and no number for it. The general mechanics are in how event contracts settle, and reading the rules text before you trade is covered in how to read a markets rulebook.
Two documented cases show why the resolution source is the trade rather than a footnote to it:
- A market on the Iranian leadership settled at 39.5% rather than YES on a death carveout that our corpus records as allegedly not disclosed until after airstrike reports circulated. We have not pulled that market's rules text.
- A Spotify market paid out minutes before Spotify deleted 523,000 fraudulent streams, so the contract settled correctly against a data point that later changed.
Neither venue publishes post-mortems on contested resolutions, and structurally neither can, because each is a party to every dispute on its own book. The equivalent question on a sportsbook is what its house rules say about voids, postponements and corrected results. We have read no sportsbook's rulebook, so this page has nothing to tell you about it and the row in the table stays empty rather than getting filled with a guess.
In a dispute, the exchange is your counterparty, the rulemaker and the appeal
There is no independent intermediary on either exchange, and we have found zero documented appeal paths outside the venue itself for a disputed settlement on either one. Whether an appeal path exists at all is one of the questions the community asks constantly and nobody answers.
What the public record does contain is a responsiveness number. Kalshi's Better Business Bureau profile records 214 complaints, of which 174 are closed without a response from the business, which is 81%. Name that metric precisely: it counts complaints the business did not answer on the BBB channel. It is not a fraud rate, it is not a satisfaction score, and it has no denominator, because Kalshi does not publish an active-trader count anywhere we have found. The dominant theme in the one-star record on both the BBB and Trustpilot is withdrawals and identity verification holds, which is also the subject of withdrawals and KYC.
The escalation route named in our own brief runs exchange support, then the BBB, then CFTC reparations, then a state attorney general, then the NFA. We have not tested any step of it and hold no case in which it produced a reversal. We also hold no filing fee, no filing deadline and no dollar threshold for any of those steps, and we have not invented one to fill the gap. What we can tell you is that each of those bodies exists, that each accepts complaints, and the order in which people report using them. Treat it as a list of doors rather than a documented remedy, and read support escalation before you start knocking.
Where the book genuinely beats the exchange: you always get filled
An honest comparison has to include the direction this runs the other way, and there are two.
Liquidity. A book quotes you a price and takes your money at it. On an exchange you need a counterparty, and if the book is thin your order moves the price against you the moment you send it. One trader in our corpus reported finding about ten markets that met all of their size criteria, which is one person's count and not a measurement of anything. Thin books, dead brackets and fill haircuts are the everyday texture of trading an exchange and they have no equivalent on a venue that always takes the other side.
Capital. Full collateralization means the money that backs your position sits locked for the life of the market earning nothing. Traders raise the cost of that constantly, and nobody has quantified it, including us.
One access constraint belongs here too. Polymarket's own geoblock endpoint, read at source on 5 August 2026, listed the United States and the United Kingdom as close-only on both the frontend and the API, alongside 31 other jurisdictions in that category. That page carries no date and no version number, which is why we re-read it rather than citing our own note.
What we could not verify
This section is the point of the page.
- What Kalshi charges a maker. Its newsroom says resting orders are fee-exempt, its help centre says maker fees are charged, and no public reconciliation exists that we have found. Our scanner assumes a 0.0175 coefficient so that it can run. That is our assumption, not a Kalshi rate, and it is the single largest unknown on this page.
- Kalshi's special-event fee tiers. Acknowledged to exist for elections, awards ceremonies and large sporting championships, and never quantified anywhere public. We have not invented a tier.
- Any sportsbook's margin, hold or overround. We hold no verified figure for any named operator and have therefore made no cost comparison to one. The method above is offered so you can measure it yourself.
- Any sportsbook's house rules on settlement, voids or corrected results. We have read none. Two rows of the comparison table are empty for this reason.
- How a book manages the position it takes. Not read at source, not described here.
- The CFTC register entry behind Kalshi's designated contract market status. The register is public and we have not stamped its URL and read date onto this page.
- Any fee, deadline or dollar threshold attached to a CFTC, state attorney general or NFA complaint. We hold none of them, so this page prints none of them.
- The Massachusetts Attorney General's complaint. Quoted for its characterisation of the settlement arrangement. No caption, no docket number, no link.
- The BBB read date. The 174 of 214 count comes from our own source review. Our notes do not preserve the date it was read, and complaint counts move.
- Position limits on either venue. Not pulled, which is why no numbers for them appear above.
- Polymarket custody. We hold no statement of it read at source. Full collateralization is a property of the contract, which is a different claim.
- Tax treatment of any of this. Kalshi has three help articles in total; Polymarket has none anywhere. What we do and do not know is in taxes on prediction market winnings.
- Every keyword figure in the front matter. Pulled 26 to 29 July 2026 and not re-pulled since.
Nobody pays us for this page, and our own log is down $28.30
PredictionEdge currently takes no referral revenue, and whether it ever will is undecided. A Polymarket referral code does exist on our scanner page, and it has earned nothing to date. This page carries no sign-up link, no promo code and no bonus table, and nothing in the comparison above changes depending on which venue you pick.
Our own paper trade log stands at 10 trades, 6 closed, net -$28.30 on $500 deployed as of 4 August 2026. Our scanner still publishes a flat 1.0% minimum edge threshold while the real fee-adjusted taker break-evens are 3.63%, 2.56% and 2.04% depending on venue and category. That is a defect in our tool, it is not fixed yet, and the losing trade it opened stays in the log.
If a comparison page cannot tell you what it gets paid, that is the first thing to check about the page. If it prints a Kalshi maker rate as a fact, that is the second.
The questions people actually type before choosing
Is Kalshi or Polymarket cheaper than a sportsbook? That cannot be answered as a single number, because the two things are not the same kind of cost. Kalshi and Polymarket charge a published taker fee at trade time: 0.07 on Kalshi, 0.00 to 0.07 by category on Polymarket, and 0.00 for Polymarket makers. A sportsbook's margin is inside the posted price and we hold no verified figure for any operator.
Do Kalshi and Polymarket charge vig? No. Both are order-book exchanges, so no operator takes the other side and no margin is baked into the price. The amount by which two sides sum above $1.00 is the bid-ask spread, and it is earned by whoever is quoting, whom Polymarket charges 0.00. The venue's take is a separate taker fee of up to 0.07, and it is published.
Who is my counterparty on a prediction market? Another trader. On Polymarket the position is fully collateralized, so if you hold YES at $0.63 someone holds NO at $0.37 and the $1.00 that pays the winner is locked in the contract before settlement. On a sportsbook the operator posts both prices and takes the other side of your bet itself.
What is Kalshi's maker fee? Unresolved, and anyone quoting you a number is quoting an assumption. Kalshi's newsroom says resting orders are fee-exempt, its help centre says maker fees are charged, and no amount is published in any form we have read. Our own scanner uses a 0.0175 coefficient as a working assumption we chose. Polymarket's maker fee, by contrast, is 0.00 and is published.
Which is cheaper, a limit order or a market order? The limit order, and on Polymarket the margin is settled: makers are charged 0.00, which is zero rather than a discount, against a taker rate of up to 0.07. On Kalshi the taker rate is 0.07 and the maker cost is unresolved. Either way you skip the half-spread: on a $0.58 bid and $0.62 ask, crossing costs 2 cents on a 60 cent position, 3.3% of stake.
Why do cheap contracts cost more in fees? Because the taker formula contains 1 - P, so the fee as a share of your stake is rate x (1 - P). At a 0.07 coefficient a $0.90 entry costs 0.70% of stake and a $0.10 entry costs 6.30%. Kalshi rounds up on top of that: one contract at $0.05 is charged a full cent, which is 20% of the stake.
Who decides whether I won? The venue, on both exchanges. On a CFTC-designated contract market the exchange is the resolution mechanism for its own contracts, the arrangement the Massachusetts Attorney General's complaint describes as having no independent intermediary. We have found zero documented appeal paths outside either venue, and Kalshi's BBB profile shows 174 of 214 complaints closed unanswered.
Is a prediction market legal where a sportsbook is not, or the other way round? That is a state-law question and it is separate from every mechanic on this page. Eleven competitor pages we audited contradict each other on five states: Montana, Illinois, New Jersey, Minnesota and Connecticut, and not one of the eleven cited a case name, docket number or statute section. We have not pulled the dockets either, so we point you at the question rather than answering it here.
Sources
4 of these 13 entries are held in our notes but the primary document has not been re-read and linked yet. They are marked below rather than mixed in with the rest.
- https://docs.polymarket.com/ Polymarket developer documentation. Gamma API, per-market feeSchedule object, bestBid and bestAsk fields. Coefficients read 4 August 2026, schedule version 2026-08-04.a.
- https://docs.polymarket.com/api-reference/geoblock country status endpoint, read 5 August 2026. Carries no date and no version number.
- https://docs.polymarket.com/programs/referral-program referral terms, effective 28 May 2026, read 5 August 2026.
- https://docs.kalshi.com/ Kalshi developer documentation. Taker fee formula, sub-penny fee rounding, whole-cent rebate accumulator. Read for the taker side only. No maker rate is taken from this source.
- https://help.kalshi.com/ Kalshi Help Centre. Cited ONLY as one half of the documented maker-fee contradiction, for the position that maker fees are charged. No coefficient is taken from it. Referral Program FAQ read direct 5 August 2026.
- Kalshi newsroom statement that resting orders are fee-exempt : the other half of the contradiction. URL to be stamped before publishnot yet stamped
- scanner/fees.py:74, this project's own source code : KALSHI_MAKER_RATE = 0.0175, marked in the file as a quadratic coefficient and not a flat percentage. This is OUR working assumption so that the scanner can run. It is not a Kalshi publication and is never presented here as one.
- https://kalshi.com/affiliates cited as a source we could NOT read. HTTP 429 on four separate attempts across two research phases. No content has ever been retrieved from this URL by this project.
- Kalshi fee schedule, version 2026-08-04.a : Kalshi's HTML fee page is a stub that redirects to a rate-limited PDF, and no stable URL for that PDF is recorded in our source file. The taker rate is the only rate we take from it.
- Commonwealth of Massachusetts Attorney General, complaint concerning Kalshi : case caption and docket number to be stamped before publishnot yet stamped
- Better Business Bureau complaint record, 174 of 214 closed without a business response : profile URL and read date to be stamped before publishnot yet stamped
- CFTC register of designated contract markets, cftc.gov : URL and re-read date to be stamped before publishnot yet stamped
- Any named sportsbook's published house rules, settlement policy or margin figure : we have read none. This is listed as the source this page does not have, rather than left out.