What Kalshi Needs to Make In-Game Delays Work

Posted by on December 15, 2025

Recently, there's been a lot of debate online about whether or not Kalshi should add delays to in-game markets. The argument in favor of adding a delay is that it will help alleviate the issue of courtsiding and would therefore increase market maker willingness to hang numbers during live events. However, under the current order framework that Kalshi has, this will push the adverse selection risk away from the market makers and onto the market takers. Allow me to explain:

Kalshi currently provides 3 different ways to submit an order: you can "buy in dollars", "buy in contracts", or create a limit order. Let's run through the scenario where a taker wants to place a bet during a hockey game with a 3-second taking delay. A player has scored and the market maker is aware, but the taker is not.

If I place a "buy in dollars" order, I will purchase any number of contracts at any price that fulfills the "X price * Y contracts = my dollar amount" formula. Users should never use this in general, but in this case, Kalshi would give an estimate that would be wrong because the maker is going to pull their order(s) in that 3-second window and the taker will get a worse price than estimated. This same logic applies to the "buy in contracts" order type.

For limit orders, this is where it can get weird. If I want to open a "yes" position and the current ask is 50c, I would open a limit order at 50c for the number of contracts I want. This is typically how users should "market take" if they're so inclined. However, with a 3-second delay, that ask order could be pulled and I'm left hanging a "resting order", which now makes me a market maker. That moves the adverse selection risk from the original maker to the person who placed the limit order. Now, you might say that you can just cancel the order after using your newly granted delay. To that I would say, try doing that in the Kalshi app within 3 seconds. It's impossible under the current framework to achieve that kind of time.

To alleviate this problem, we can look to traditional investment brokerages and trading platforms. Most platforms will provide two order instructions/qualifier options when placing an order: "Fill or Kill" (FOK) and/or "Immediate or Cancel" (IOC).

When a user adds the "Fill or Kill" qualifier to their order, they're saying "I want to buy all of these shares/options at this price and if you can't give me all of them, cancel the order." In the case of a prediction market, you're saying "I want 100 contracts at 50c right now or just cancel the order". In the case of "Immediate or Cancel", the user is saying "I want to buy 100 contracts at 50c. Get me as many contracts as you can (up to 100) at 50c right now and cancel the order for whatever's left".

In order to prevent adverse selection risk/delay risk from being pushed onto the market takers, adding FOK and/or IOC qualifiers to limit orders would allow takers to alleviate that risk. Right now the only qualifiers that Kalshi provides are expiration times (with 1-minute resolution when seconds would be needed) and "resting order only" which is not applicable here. Adding these options in conjunction with a delay would serve Kalshi by giving both sides the option to protect themselves and (hopefully) increase liquidity.