Does Kalshi charge maker fees? On about 130 markets, yes

Makers trade free on 13,003 Kalshi series and pay a quarter of the taker rate on 130 of them. The full list, the rounding trap, and the prefix trap, verified against real fills.

Short answer: yes, on 130 of its listed series, and no everywhere else. 99.0% of Kalshi markets charge a resting order nothing at all. The rest quietly charge a quarter of the taker rate, and the exchange does not make the list easy to find. This page is that list, in full, swept from the API on 18 August 2026.

The two schedules

Every Kalshi series carries a fee_type field in the public API. It takes one of two values.

quadratic, the default, on 13,003 of the 13,133 series listed at the time of the sweep. Takers pay ceil(0.07 × contracts × P × (1−P)) in cents, where P is the price. Makers pay zero. If your order rested in the book and someone else crossed it, the fill is free.

quadratic_with_maker_fees, on 130 series. Takers pay the same as above. Makers pay ceil(0.0175 × contracts × P × (1−P)), a quarter of the taker rate.

The series that charge makers are concentrated where the volume is: major sports and the marquee economics markets. Here is every one of them as of 18 August 2026.

Series charging maker fees
American football KXHEISMAN, KXNCAAF, KXNCAAFACC, KXNCAAFB10, KXNCAAFB12, KXNCAAFGAME, KXNCAAFPLAYOFF, KXNCAAFSEC, KXNCAAFSPREAD, KXNCAAFTOTAL, KXNFL2TD, KXNFLAFCCHAMP, KXNFLAFCEAST, KXNFLAFCNORTH, KXNFLAFCSOUTH, KXNFLAFCWEST, KXNFLANYTD, KXNFLCOTY, KXNFLCPOTY, KXNFLDPOTY, KXNFLDROTY, KXNFLFIRSTTD, KXNFLGAME, KXNFLMVP, KXNFLNFCCHAMP, KXNFLNFCEAST, KXNFLNFCNORTH, KXNFLNFCSOUTH, KXNFLNFCWEST, KXNFLOPOTY, KXNFLOROTY, KXNFLSPREAD, KXNFLTOTAL, KXSB, KXSUPERBOWLHEADLINE
Basketball KXCONNSMYTHE, KXNBA, KXNBACOY, KXNBAEAST, KXNBAFINALSMVP, KXNBAGAME, KXNBAMVP, KXNBAROY, KXNBASERIES, KXNBASPREAD, KXNBATOTAL, KXNBAWEST, KXNCAAMBGAME, KXNCAAMBSPREAD, KXNCAAMBTOTAL, KXWNBA, KXWNBAGAME
Baseball KXMLB, KXMLBAL, KXMLBASGAME, KXMLBGAME, KXMLBHRDERBY, KXMLBNL, KXMLBSERIES, KXNATHANDOGS, KXNATHANSHD
Hockey KXNHL, KXNHLEAST, KXNHLGAME, KXNHLSERIES, KXNHLWEST
Soccer KXBALLONDOR, KXBUNDESLIGA, KXBUNDESLIGAGAME, KXCLUBWC, KXEPLGAME, KXEPLTOP4, KXLALIGA, KXLALIGAGAME, KXLIGUE1, KXLIGUE1GAME, KXMENWORLDCUP, KXSERIEA, KXSERIEAGAME, KXUCL, KXUCLGAME, KXUEFACL, KXWCGAME
Tennis KXAOMENSINGLES, KXATPMATCH, KXFOMEN, KXFOMENSINGLES, KXFOWOMEN, KXFOWOMENSINGLES, KXUSOMENSINGLES, KXUSOPEN, KXUSOWOMENSINGLES, KXWMENSINGLES, KXWTAMATCH, KXWWOMENSINGLES
Golf KXPGA, KXPGARYDER, KXPGASOLHEIM, KXPGATOUR, KXTHEOPEN
Motorsport & cycling KXF1RACE, KXF1RACEPODIUM, KXINDY500, KXNASCAR, KXNASCARRACE, KXNASCARRACEOLD, KXTOURDEFRANCE
Economics & rates KXCPI, KXCPIYOY, KXEGGS, KXFED, KXFEDDECISION, KXGDP, KXPAYROLLS, KXRATECUTCOUNT, KXU3
Index & markets KXBTCMAX125, KXBTCMAX150, KXINXY, KXIPO, KXNASDAQ100Y
Awards & entertainment KXAAAGASM, KXEMMYCACTO, KXEMMYCACTR, KXEMMYCSERIES, KXEMMYDACTO, KXEMMYDACTR, KXEMMYDSERIES, KXLLM1, KXMARMAD

Everything else is free for makers, including the ones this lab trades and has verified against real fills: KXBTC15M, KXETH15M, KXSOL15M, KXBTCD, KXETHD, KXSOLD, KXATPCHALLENGERMATCH, KXCS2GAME, KXLOLGAME, KXHIGHNY, KXUFCFIGHT, KXMLSGAME.

A note for anyone automating against this. Kalshi adds and retires series constantly, and the count moved from 10,600 to 13,133 in the fortnight either side of this page first going up. Treat the list above as a dated snapshot rather than a constant, and re-sweep before you trust it with size.

The rounding trap

That ceil matters more than it looks. At one contract, the raw maker fee is a fraction of a cent at every price, and the exchange rounds it up. So on a maker fee series, one lot pays a flat 1¢ per fill at every price from 1¢ to 99¢. A small quote trying to earn a spread of a cent or two hands most or all of it back. At size the rounding washes out and the effective rate falls toward the true quarter of taker. On these series, small makers pay proportionally the most.

The prefix trap

Fee type belongs to the exact series, not to the family it looks like it belongs to. The clearest pair the lab has verified live: KXATPMATCH, tour level tennis, charges makers. KXATPCHALLENGERMATCH, the challenger circuit, does not. Both start with KXATP. Any code or mental model that matches on a prefix will price one of them wrong. Resolve the exact series ticker, every time.

How this lab got it wrong first

Honesty section. In early August this lab wrote that Kalshi charges makers nothing, based on hundreds of real resting fills that had all been charged exactly $0.00. The observation was correct and the conclusion was wrong: every one of those fills happened to be in quadratic series, while the maker fee schedule had already existed for almost a month. Two paper desks were mispriced in opposite directions before the module that now checks fee_type per series existed. One was undercharging itself on economics markets that in fact cost a flat cent per lot. The other was overcharging itself with the taker formula on markets that were actually free. The correction is why this page can be specific.

This lab has 3,432 real resting fills on the exchange, all in series of the free kind, and the total fee charged across every one of them is $0.00. The 123 times it crossed the spread instead, it paid $3.20. The schedule is real and the exchange applies it exactly.

Why any of this matters

The fee is the only opponent you face on every single trade. In the week to 18 August 2026 this lab settled 31,341 simulated trades. Before fees the book came out at +$21.39. The fee bill was $244.29, which moved the final figure to −$222.90. Whatever opinion you hold about any single market, at volume the fee is the largest position you own.

One seat here buys every contract priced above 90¢ in the final minutes. Across 1,530 settled trades it has won 91% of them and it sits at −$32.70 all time, having paid $15.30 in fees. Winning nine times in ten is not enough when you risk 90 to make 10 and the toll lands on every fill.

That asymmetry is the entire case for understanding the maker schedule. On 98% of this exchange, resting orders trade free and crossing the spread does not. Where your strategy can wait instead of chase, the fee column reads zero. Where it cannot, the fee compounds with volume whether you are right or not.

Check it yourself

The field is public. GET /trade-api/v2/series/{ticker} returns fee_type for any series, and paging GET /trade-api/v2/series/ reproduces the whole table above in about a minute; nothing here has to be taken on trust. The sweep behind this page ran 2026-08-18T09:43:14Z, and exchanges change their schedules, so treat the API as the source of truth and this page as the map.

The lab's full board, with every seat's fees printed next to its results, publishes every Sunday. The Seats lists what each seat does.