Most traders spend their time on the question "should I take this trade?" and very little on the question that decides whether a good idea survives a bad week: "how big?" On Kalshi, where every contract pays $1 or nothing, position sizing has a clean bit of math behind it called the Kelly criterion. This guide shows the formula for Kalshi contracts, works through examples with fees included, and explains why almost everyone who uses it bets a fraction of what it says.
Why sizing matters more on 15-minute markets
On a 15-minute market a bot can face dozens of decisions a day. Even a setup with a real edge will hit losing streaks, and if each trade is too large a streak can shrink the account so far that it never recovers, even if the edge was real. Sizing is the rule that keeps a normal losing streak from turning into the end of the experiment. It works alongside a daily loss limit, not instead of one.
The Kelly formula for a Kalshi contract
A Kalshi contract is a simple binary bet. If you buy one contract at price p (in dollars, so 70¢ is 0.70):
- If it settles in your favor you get $1, a profit of 1 − p.
- If it doesn't, you lose what you paid, p.
Call q your own estimate of the probability that the contract wins. The Kelly fraction, the share of your bankroll to put on this trade, is:
Kelly fraction = (q − p) ÷ (1 − p)
Two things fall out of this right away:
- If your estimate q is not above the price p, the answer is zero or negative. Kelly says don't trade. The price already reflects the market's probability, and you need to believe the true chance is higher, as explained in our implied probability and expected value guide.
- The size depends on the gap between your estimate and the price, not on how confident the price itself looks. An 85¢ contract you think is an 86% shot is a tiny edge, not a "safe" trade.
Worked examples (made-up numbers)
Example 1, a favorite. Price 70¢, your estimate 75%. Kelly = (0.75 − 0.70) ÷ 0.30 ≈ 16.7% of bankroll. That's a lot for one 15-minute trade, which is the first hint that full Kelly is aggressive.
Example 2, a longshot. Price 20¢, your estimate 25%. Kelly = (0.25 − 0.20) ÷ 0.80 = 6.25% of bankroll. The same 5-point edge gives a smaller bet, because a longshot loses most of the time.
These numbers are illustrations only. They are not results and not a recommendation.
Put fees in before you size
Kalshi charges a trading fee on fills, so your real cost per contract is the price plus the fee. Kalshi's general taker fee is based on 0.07 × contracts × price × (1 − price), rounded up to the cent; check the current fee schedule, since rates and rounding can change. Our Kalshi fees guide walks through it.
Back to Example 1. At 70¢ the fee works out to about 1.5¢ per contract, so the effective cost is about 71.5¢. Kelly becomes (0.75 − 0.715) ÷ 0.285 ≈ 12.3%. A fee of one and a half cents cut the suggested size by about a quarter. On thin edges, fees can take the answer all the way to zero. The break-even win-rate table shows how quickly that happens at high prices.
The catch: your probability estimate is a guess
Kelly is only as good as q. If you think a contract is a 75% shot and it's really 70%, Example 1 has no edge at all, and after fees it loses money on average. Full Kelly on an overestimated edge is one of the fastest ways to shrink an account. That's why most traders who use Kelly use a fraction of it:
- Half Kelly gives up a little long-run growth in exchange for much smaller swings.
- Quarter Kelly or less is common when the probability estimate comes from a model that hasn't been tested on much live data.
- A hard cap per trade, for example a fixed maximum number of contracts, sits on top of whatever the formula says.
If you don't have a tested way to estimate q at all, Kelly can't help you yet. A small fixed size while you collect data is the honest choice. Our guide on how to backtest a Kalshi bot covers how to check an estimate before trusting it.
Practical rules for a bot
- Size from the current bankroll, not the starting one, so position size shrinks after losses.
- Use the fee-adjusted price in the formula.
- Use a fraction of Kelly and a hard maximum contracts per trade.
- Count open positions. If several 15-minute markets are open at once, they share one bankroll, and crypto markets often move together.
- Skip trades where Kelly is zero or tiny. A trade that only qualifies at full Kelly with optimistic inputs usually isn't worth taking. See when to skip a Kalshi trade.
How DeskBot handles sizing
DeskBot for Kalshi is a desktop app for Windows and Intel Mac that trades Kalshi's 15-minute markets on your own account through your own API key. You set the size per trade, a maximum price per contract and a daily loss limit, and it starts in demo mode so you can watch your settings work before going live. Every trade and every skip is logged with a reason. The current offer is first month $1, then $19.99/month, cancel anytime. It does not guarantee profits or win rates.
FAQ
What is the Kelly criterion on Kalshi?
It's a formula for how much of your bankroll to put on a trade. For a contract bought at price p that you think wins with probability q, the Kelly fraction is (q − p) ÷ (1 − p).
Should I use full Kelly?
Most traders don't. Full Kelly assumes your probability estimate is exactly right. Half or quarter Kelly, plus a hard cap per trade, is far more forgiving when the estimate is off.
Do fees change the Kelly size?
Yes. Use the price plus the fee as your cost. On small edges the fee can cut the suggested size a lot, or remove the edge entirely.
Does Kelly sizing guarantee growth?
No. It only maximizes long-run growth if your probability estimates are accurate. With wrong estimates it can lose money, and even with a real edge you can lose money over many trades.
Is DeskBot affiliated with Kalshi or Polymarket?
No. DeskBot is independent software that uses the public APIs on the customer's own account.
Try DeskBot
DeskBot for Kalshi is a desktop app for Windows and Intel-based Macs. It trades Kalshi's 15-minute crypto markets on your own Kalshi account with your own API key. You set the markets, the size and a daily loss limit, start in paper mode, and switch markets to live when you choose. The first month is $1, then $19.99/month; cancel anytime.
Try DeskBot for $1 for the first month →
Want the short version first? Read the DeskBot facts page (price, setup, limits) or the Kalshi trading bot comparison.
Risk: Trading can lose money. Nothing here guarantees profits, returns, win rates or income. Past results don't guarantee future results, and the example numbers in this article are illustrations, not results. This article is general education, not legal, tax or investment advice. Not affiliated with Kalshi or Polymarket. Fees, rules and market schedules change, so check Kalshi's current documents before you rely on any detail.