The formula, the three tiers, and the rounding detail that makes the published table wrong for small trades.
Kalshi's fee schedule is short, and most of it is one equation. What follows is that equation, what the multipliers actually default to, and one detail about rounding that cost me a rebuilt calculator to discover.
Fees are charged per fill, and they depend on the price you trade at:
taker = ceil( M × 0.07 × C × P × (1 - P) )
maker = ceil( M × 0.0175 × C × P × (1 - P) )
C = number of contracts
P = price in dollars (a 40¢ contract is P = 0.40)
M = a per-series multiplier
The P × (1 - P) term is the interesting part. It peaks at 50¢
and collapses toward either end, so a trade at 50¢ carries the maximum fee and a
trade at 5¢ or 95¢ carries very little. Fees are highest exactly where you
are most uncertain.
On most series the multipliers are 1 for takers and 0 for makers. Zero for makers is not a typo: on standard series, resting an order that someone else crosses costs you nothing at all.
But that is only the default. Kalshi publishes per-series multipliers, and they fall into three groups:
| Tier | Taker | Maker | What it means |
|---|---|---|---|
| Standard | 1 | 0 | Most series. Crossing the spread costs; resting is free. |
| Non-standard | 1 | 1 | Both sides pay. Resting is no longer free. |
| Free | 0 | 0 | A small number of series charge nothing either way. |
The middle tier is the one that catches people. A strategy whose economics depend on resting orders being free will quietly lose money on a series where the maker multiplier is 1, and nothing in the order ticket warns you.
Kalshi's published fee schedule includes a table of worked examples. I built a calculator against that table, matched all twenty-one rows exactly, and concluded it was correct.
It wasn't. The fee rounds up to a hundredth of a cent — a centicent, $0.0001 — not to a whole cent. The published table shows cent-rounded figures because that is how you print a table. The actual charge is the raw number.
At mid-market the difference is small. At the wings it is not:
| Price | Raw fee, 1 contract | Actual charge | If rounded to a cent |
|---|---|---|---|
| 50¢ | $0.0175 | $0.0175 | $0.02 |
| 90¢ | $0.0063 | $0.0063 | $0.01 |
| 99¢ | $0.000693 | $0.0007 | $0.01 |
At 99¢ that is a fourteen-fold overstatement. For anything trading in size at the wings, a cent-rounded model tells you a strategy is unprofitable when it isn't.
Because the fee is charged per contract, break-even has a pleasingly simple form:
break-even price = entry price + fee per contract
Buy at 50¢ as a taker and you pay 1.75¢ per contract, so the trade needs to be right 51.75% of the time rather than 50%. The rate is identical whether you trade one contract or a thousand — size changes the total, never the break-even.
Selling before settlement means a second fee, so a round trip crosses twice. The calculator works both out, including the exit leg.
So the fee model really is just the one equation, applied per fill, with a per-series multiplier and a rounding rule that is easy to get wrong.