Maker/Taker Math on Kalshi
fees vs adverse selection
Disclosure: I run Kalshinomics.com, which may earn Kalshi referral fees. I may trade event contracts on Kalshi and securities on other platforms. Readers should consider this relationship when evaluating my analysis. For educational purposes only, not investment advice.
If you’ve traded on Kalshi you’ve noticed a unique fee schedule for takers. The basic formula is 0.07 * P * (1-P) where P is the contract price. Plotted vs the price of the contract it looks like a parabola -> it expands to 0.07P - 0.07P2. The max fee is at 50¢ of 1.75¢ per contract. As you get close to 0 or 100%, the fee becomes smaller - imagine if instead it had a 1¢ fee per contract - trading contracts priced at 2¢ or 98¢ would become prohibitively expensive. Personally I like this structure and it enables more trading around the tails of the distribution. (additionally the 4% interest on positions is important for making longer-term positions more cost-effective)
And as a % of the contract price:
How does this affect decision-making? Here’s an orderbook snapshot:
*some Kalshi markets have a maker fee but let’s ignore that for now. We’re also going to ignore rounding.
Let’s say you want to buy 63 contracts and you think it’s worth 52¢ (I’m starting with a tiny size for example). You could
A. Pay 49¢-> given the fee is 0.07*49¢*0.51= 1.75¢, so net price = 50.75¢
B. Limit Bid 48¢-> net price 48¢, BUT only if you get filled (you’re the best bid but exposed to some adverse selection)
C. Limit Bid 47¢ -> net price 47¢, BUT only if you get filled - an even smaller probability of getting filled vs B. Look at that huge 47 bid for over 20k!
D. Wait for lower offers
So what do you want to do? As always it depends.
Rather than provide an answer let’s propose a few factors to consider
What do I think it’s worth now and how confident am I?
Do I expect the price to quickly converge to my fair value?
How much does the contract trade? (look at the average volume and how chunky it is)
How much does it move around? Does it sit in one spot forever or move all over the place? We can quantify these things but start by ballparking.
Hmm the 47¢ bid and 51¢ ask look quite symmetric. This is probably a market maker quoting around their fair value of roughly 49¢, this is a good reference for what at least one professional thinks its worth. Note the 50¢ offer also stands out vs the other price points.
Given those big orders in the book, let's say the world thinks it's worth just under 49¢, and let’s pretend the contract trades lots and lots of volume. If I bid 48¢ for 63 contracts and get filled - is it likely the state of the world changed significantly since I bid….. Probably not (though there’s going to be some adverse selection always).
If I bid 47¢ and get hit… What does the state of the world look like? Well that 47¢ bid is probably lower or has gotten taken out. (Kalshi fills first by price then by time). The fair value of the world conditional on me being filled at 47¢ is probably worse when I get filled at 48¢.
Whenever we post a limit order, we are exposed to adverse selection. By adverse selection I mean - the times our order gets filled - the fair value or state of the world on average is worse than when we don’t get filled. Imagine there are two traders, Noisy Nick and Sharp Steve.
Noisy Nick randomly buys or sells a small amount every hour, his trades have no information.
Sharp Steve knows exactly what the contract is worth, has an infinite bankroll, and only trades when the true fair value is lower or higher than your limit price. (note he may or may not pay fees depending on if he’s a pro market-maker or not).
So if you do B) and post a new limit bid for 48¢, there’s a good chance you’ll trade with Noisy Nick the next time he comes around. While if you choose C) and bid behind the giant 20k bid, you’re not going to get any of Nick’s random trades until that bid has either been depleted or moved lower (which are both signs for you!)
Stay tuned for more discussion of this and other examples -> next post is a prediction market specific one on “bleeders vs gappers.”
Slightly related real-world example:
I remember a friend a ways back talking about selling puts on AAPL, by looking at the amount of cash on Apple’s balance sheet to figure out what strike to sell. “It can’t go below the cash!” My response: “Buddy, in a world where those puts are being exercised, AAPL isn’t going to have the cash!”
[this is not to say that cash doesn’t matter to future returns, only that in whatever tail event causes a crash - the company’s balance sheet won’t look like it does today. Likewise in the above example, if you get filled on a limit order at 47¢, the true odds of the contract are likely to be lower than when you first put the order in]




