Market Making on Kalshi
How it works
The bot picks one outcome on a Kalshi event and posts buy and sell limit orders around the midpoint (or whichever reference price you select). As fills come in, it rebalances and re-quotes to keep your inventory and spread in line with your configuration.
Because Kalshi issues both sides of a market natively, you do not need to split cash into Yes/No share tokens before launching the bot. You only need USD cash in your Kalshi account; the bot buys and sells the outcome directly.
Nuances to Consider
Minimum margin is $10. The bot splits your margin across the buy and sell legs (and across grid layers in Grid or RGrid mode).
Contracts are indivisible. Each leg is rounded down to a whole number of contracts. On a small margin, or a market priced near 99¢, that rounding can leave a leg with very few contracts — or none at all, in which case the bot has nothing to quote. Size margin so that each leg comfortably clears several contracts.
Getting started
Open Predict → Kalshi tab → pick an event → choose an outcome.
Switch to the MM tab in the order form. This is the same tab used for Polymarket and HIP-4 MM; it adapts to whichever venue the event belongs to.
Select your Kalshi account, set your parameters, and launch.
MM form parameters
These are the same fields as Polymarket MM. Behavior is identical.
Margin: minimum margin is $10. Your USD cash balance must cover the full margin. Estimated volume is margin x 20.
Reference Price
Mid (default): quote around the live midpoint.
Grid
RGrid
Directional Bias (Mid only): Short, Neutral, Long.
Grid Reset Threshold: 0.05% to 1%.
Participation Rate:
Aggressive (10% volume target, 5m–1h)
Normal (5% target, 10m–3h)
Passive (1% target, 30m–24h)
Spread: -50 to +50 bps. Negative = tighter / more aggressive.
Stop Loss / Take Profit: auto-exit thresholds. A 10% stop loss is a reasonable default.
Duration and market expiry
As on the other venues, the bot's duration is capped so it finishes before the market it is quoting closes. If an event is too close to its close time, the MM form will not let you launch — pick a longer-dated market.
Managing active bots
Use the Bots tab at the bottom of the event page to pause, resume, cancel, or open any running bot, exactly as on Polymarket and HIP-4.
Tips
Watch the fee drag. Kalshi's fees scale with contract price. A 10 bps spread that clears on Polymarket may be under water on Kalshi once fees land.
Avoid the extremes. Markets trading near 1¢ or 99¢ give the bot very little room, and whole-contract rounding bites hardest there.
Start on Normal participation to see how the market behaves before going Aggressive.
Size margin above the floor. $10 is the minimum, not a recommendation — larger margin gives each grid layer a sensible number of contracts.
Set a stop loss. 10% is a good starting point; event contracts move sharply on news.
Last updated
Was this helpful?