API + MCP live · talk to us

// EXECUTION & FEES

Kalshi fees explained (with worked examples)

2026-07-16 · Mithril

Kalshi's trading fee is not a flat rate, not a percentage of notional, and not a per-order charge. It is a formula that depends on the contract price — and if you trade without internalizing its shape, you will systematically overpay in exactly the markets where most of the volume is. This post walks through the formula, the rounding rule that bites small orders, how makers are treated, and worked examples at three price points.

The formula

Kalshi's standard taker fee is:

text
fee = 0.07 × contracts × price × (1 − price)

with price expressed in dollars (a 42¢ contract is 0.42), and the result rounded up to the next cent. A few fee schedules differ by market series, so treat 0.07 as the standard rate and check the venue's fee schedule for the specific market you trade.

The interesting part is the price × (1 − price) term. It is the variance of a binary contract, and it peaks at 0.25 when the price is 50¢, falling toward zero at both tails:

Priceprice × (1 − price)Fee per contract (before rounding)
0.0475$0.003325
10¢0.09$0.0063
30¢0.21$0.0147
50¢0.25$0.0175
70¢0.21$0.0147
90¢0.09$0.0063
95¢0.0475$0.003325

The fee is symmetric — buying YES at 90¢ costs the same fee as buying YES at 10¢ — and it is nearly three times larger at 50¢ than at 10¢. Coin-flip markets are the most expensive place on the exchange to take liquidity.

Worked examples

All examples use the standard 0.07 rate and 100 contracts.

100 contracts at 10¢

text
fee = 0.07 × 100 × 0.10 × 0.90 = $0.63

Notional at risk is $10.00, so the fee is 6.3% of premium — but only 0.63¢ per contract, or 0.63% of the $100 maximum payout.

100 contracts at 50¢

text
fee = 0.07 × 100 × 0.50 × 0.50 = $1.75

That is 1.75¢ per contract. If your modeled edge on a 50¢ market is 2¢, the taker fee just consumed most of it — before spread and impact.

100 contracts at 90¢

text
fee = 0.07 × 100 × 0.90 × 0.10 = $0.63

Identical to the 10¢ case. Note, though, that as a fraction of possible profit it stings more: buying at 90¢ your maximum gain is 10¢ per contract, and the fee eats 6.3% of it.

The round-up rule punishes small orders

The fee is rounded up to the next cent on the order. One contract at 50¢ has a raw fee of $0.0175, which rounds up to $0.02 — an effective rate of 0.08, not 0.07. One contract at 10¢ has a raw fee of $0.0063, rounding up to $0.01 — an effective rate near 0.111, roughly 59% above the nominal rate.

The distortion shrinks as size grows (the round-up is at most one cent per order), but it means two things for small traders and for bots that slice orders into many child orders: per-order rounding is a real cost, and slicing an order into N pieces can add up to N−1 extra cents of rounding. Batch where you can.

Makers generally pay nothing

On most Kalshi markets, resting limit orders that provide liquidity pay no trading fee — the taker on the other side pays. (A small set of market series has maker fees; check the fee schedule for your specific market.)

This asymmetry is large. On a 50¢ market, crossing the spread costs you the spread plus 1.75¢ per contract in fees; posting at the bid and getting filled costs you neither. The catch is the usual maker's dilemma: you may not get filled, and when you do get filled quickly it is often because the market moved against you. But for any strategy that is not latency-sensitive, defaulting to passive orders on Kalshi is close to free money relative to habitual taking.

Settlement and other fees

Kalshi has historically not charged a fee for holding contracts to settlement on most markets — your 100 YES contracts that resolve in your favor pay $100 with the trading fee having been charged at trade time. Specific series and fee schedules have changed over time, so verify the current schedule in Kalshi's documentation rather than assuming.

Withdrawal and funding mechanics (ACH, wire, debit) carry their own costs and are outside the trading fee schedule entirely.

What this means for how you trade

  1. The fee curve should shape your expression. If two markets express the same view — one near 50¢, one near a tail — the tail market is taxed at a fraction of the rate.
  2. Post when you can, take when you must. Maker treatment on most markets makes passive orders dramatically cheaper.
  3. Batch child orders. The round-up rule charges per order.
  4. Compare net, not displayed, prices across venues. Kalshi's fee can make its displayed-cheaper price net-more-expensive than Polymarket's — the crossover math is in Kalshi vs Polymarket fees.

To sanity-check any specific trade, plug the numbers into the Kalshi fee calculator — it applies the formula and the round-up rule for you.

If you trade both venues, this comparison is worth automating: Mithril's router computes the net price after fees on Kalshi and Polymarket for every order and fills wherever it is actually cheaper, with the fee itemized on the execution receipt. It is free during beta.

Fee schedules change. Figures above reflect Kalshi's public documentation as of July 2026 — always confirm against the venue's own fee schedule before trading real money.

One API + MCP for Kalshi and Polymarket

Fee-aware routing, unified market IDs, and hard server-side risk limits — live today, free during beta.