What a limit order is on Kalshi
A limit order on Kalshi names a price and a number of contracts. When you buy, the price is the most you will pay. When you sell, it is the least you will accept. If someone on the other side meets that price or beats it, the order fills. If no one does, it waits in the order book.
Every order on the exchange carries a price. Kalshi's rulebook says an order states three things: its direction, its price and its number of contracts (Rule 5.4). Since September 25, 2025, the API has accepted only limit orders. The app also has an instant order called the Quick Order. It gets its own section below.
One limit order can do two jobs. It takes what is already offered at your price or better, and it rests the remainder as a bid that others can sell into.
How a limit order fills
Kalshi matches orders by price first and time second (Rule 5.9). A better price always trades first. At the same price, the oldest order trades first. Fills happen at your price or better (Rule 5.10). A buy limit above the best offer pays the offer's price, and a sell limit below the best bid receives the bid's price.
Take an illustrative book. Sellers offer YES at four prices: 100 contracts at 41c, 150 at 42c, 400 at 43c and 250 at 44c. You send a limit order to buy 300 YES at 42c.
- The 100 contracts offered at 41c fill at 41c, a cent under your limit.
- The 150 offered at 42c fill at 42c.
- The offers at 43c and 44c sit above your limit, so the order stops taking.
- The last 50 contracts rest as a bid at 42c. The next seller willing to take 42c or less fills them at 42c.
You now hold 250 contracts at an average of 41.6c. They cost $104.00, plus about $4.25 in taker fees. Each price level is a separate fill, and each fill pays the fee at its own price.
Kalshi's API order book lists bids only. An offer to sell YES at 42c appears as a NO bid at 58c, because the two are the same trade. The guide to the Kalshi order book shows how to read both sides.
Does Kalshi have market orders?
In the app, yes, under another name. Kalshi's help center describes the Quick Order as "also known as a market order." You pick YES or NO and a size, in dollars or in contracts. Kalshi fills it at once at the best prices on the book. A large Quick Order can fill across several price levels. The order panel shows the average price you will pay.
Through the API, no. Kalshi deprecated the market order type on September 25, 2025, and removed the order type field on February 11, 2026. The current Create Order (V2) endpoint requires a price on every order. To trade at once, an API trader sends a limit order with time_in_force set to immediate_or_cancel at the worst price they will accept. Anything that cannot fill at that price or better is canceled.
The difference between the two shows up when the book runs out at your price. In the book above, a Quick Order for 300 YES buys the 100 at 41c, the 150 at 42c and 50 more at 43c.
| 300 YES against the book above | Quick Order | Limit order at 42c |
|---|---|---|
| Contracts filled at once | 300 | 250 |
| Cost of the filled contracts | $125.50 | $104.00 |
| Average price | 41.83c | 41.60c |
| Taker fees, before rounding | $5.11 | $4.25 |
| Left resting in the book | 0 | 50 at 42c |
The gap is small in this book because it is deep near the top. A book can be thin just after news or in the last minutes before a game. Then the next offer can sit several cents away. A Quick Order keeps taking the next offer up until its size is filled. A limit order stops at your price and rests the remainder as a bid.
Kalshi's own changelog example for a market-style API buy used a 99c limit. On a thin book, that order sweeps every offer up to 99c. A limit a few cents through the best offer fills just as fast when the size is there. When the size is missing, it stops short.
What a limit order pays in fees
Kalshi charges its trading fee on the part of an order that matches orders already resting in the book. That is the taker side. The part that rests and fills later is the maker side. On most series the maker pays nothing. On series with maker fees, the maker pays a quarter of the taker rate, or half on a few combo series. Canceling a resting order is free.
C is the number of contracts and P is the price in dollars. Kalshi can also scale a series' fees with a multiplier. On October 19, 2026 it was 1 on all but 33 series, and no series had one above 1.
On that date, 160 of Kalshi's 15,225 series charged maker fees, with 3 more on the combo rate. The list includes the Fed funds rate, CPI and the jobs report on the economics side, and NFL, NBA and NHL games on the sports side. The daily NYC high temperature and daily S&P 500 range series charged takers only. GET /series/{series_ticker} returns a series' fee_type. In the app, the fee sits behind the i icon next to "You're buying" on the order panel.
| 100 contracts at 40c | Takers-only series | Maker-fee series |
|---|---|---|
| Matched resting orders at once (taker) | $1.68 | $1.68 |
| Rested, then filled (maker) | $0 | $0.42 |
| Rested, then canceled | $0 | $0 |
A limit order priced at or through the best offer pays the taker fee on every contract it matches. Only the resting remainder can earn the maker rate. In the 300-contract example, 250 contracts paid the taker fee. Only the last 50 could fill as a maker, at $0 on a takers-only series or about $0.21 on a maker-fee series.
Post-only orders
The API, Kalshi's FIX interface and Kalshi Pro offer a post-only setting. A post-only order can only rest. If it would match a resting order on arrival, Kalshi cancels it. Since June 2026, the order's update reason then reads PostOnlyCrossCancel. Traders use it when they want the maker rate and can wait for a fill. The Kalshi fees guide has the full table by price. The fee calculator prices any fill as maker or taker.
How long a limit order stays open
A resting order stays in the book until it fills, you cancel it, or the market closes. Kalshi's API docs say resting orders are canceled shortly after a market's close. The rulebook also has Kalshi cancel any order still resting at expiration (Rule 5.3). When Kalshi reactivates a paused market, it cancels every resting order in that market. Kalshi trades around the clock apart from a maintenance window from 3:00 to 5:00 AM ET on Thursdays. A resting order can fill overnight or on a weekend while you are away.
Through the API, time_in_force and a few flags set an order's lifetime and behavior.
| Setting | What it does |
|---|---|
good_till_canceled | Fills what it can, then rests until it fills or is canceled |
good_till_canceled with expiration_time | The same, and Kalshi cancels any remainder at the time you set, in Unix seconds |
immediate_or_cancel | Fills what it can at once and cancels the rest. It cannot carry an expiration time |
fill_or_kill | Fills the full size at once or cancels the whole order |
post_only | Rests only. Canceled if it would match on arrival |
reduce_only | Caps the size at your current position. Accepted only with immediate_or_cancel |
cancel_order_on_pause | Cancels the order if exchange trading pauses while it rests |
FIX also offers a Day order, which expires at 11:59:59.999 PM ET. Kalshi Pro is the exchange's web trading screen. It lets you pick good till canceled (its default), end of day, immediate or cancel, at event start, or a custom date and time. The Kalshi API guide shows a full order request with these fields.
Queue position and changing an order
A resting order waits behind every order at a better price and every older order at the same price. Kalshi reports your place in line as the queue position: the number of contracts ahead of your order. The API returns it from GET /portfolio/orders/{order_id}/queue_position. The first order in line reads 0.
Say you bid 42c for 200 YES, and 1,000 contracts already sit at 42c. Sellers fill those 1,000 first, unless their owners cancel. If only 600 trade at 42c before the price moves up, you get nothing.
Changing an order can cost you that place. Kalshi's docs say that lowering the size or changing only the expiration keeps your queue position. Raising the size or changing the price sends the order to the back of the queue at its new price. Moving that bid to 43c puts it ahead of every 42c order. If no one else bids 43c, it rests first in line. If someone offers YES at 43c, it fills against that offer at once, as a taker.
Selling with a limit order
A limit sale runs the same steps in reverse. You choose how many contracts from your position to sell and the lowest price you will take. The order fills against bids at that price or higher, and any remainder rests as an offer. Fees work as they do on a buy, priced at the sale price: the taker fee on what fills at once, and the maker rate on what rests and fills later. The guide to selling a Kalshi contract before settlement works through the exit math.
Auto sell on Kalshi
Auto sell is Kalshi's take-profit order for event contracts. After a buy fills, the app may offer to set one. You drag a slider to a target price and submit. From then on it is a resting limit sell at that target, listed under Orders. It fills if buyers reach your price.
- The order rests on the exchange, so it can fill while the app is closed.
- The lowest target the slider allows is at or above your purchase price.
- It can fill in part if there are not enough buyers at the target.
- You can edit the price or cancel it under Orders until it fills.
- Kalshi's help center says Kalshi never closes your position on its own. A position that sold while you were away had an auto sell or another resting sell behind it.
To stop the prompt, turn off "Auto-sell prompt after buy" in Settings. On mobile it sits under Trade mechanics, and on the web under your trade preferences. You can also choose "Don't show this again" on the prompt itself. The setting syncs across web and mobile. Turning it off leaves existing auto-sell orders in place.
An auto sell, worked through
You buy 100 YES at 40c as a taker. The contracts cost $40.00 and the taker fee is $1.68. You set an auto sell at 55c.
| What happens next | Proceeds | Trading fee on exit | Net after entry cost and fees |
|---|---|---|---|
| Auto sell fills at 55c, takers-only series | $55.00 | $0 | +$13.32 |
| Auto sell fills at 55c, maker-fee series | $55.00 | $0.43 | +$12.89 |
| No fill, market settles YES | $100.00 | $0, no sale | +$58.32 |
| No fill, market settles NO | $0 | $0, no sale | -$41.68 |
If it fills, the auto sell locks in 15c a contract before fees. It also gives up the extra 45c a contract would earn by settling YES. Here the 55c target sits above the best bid when you set it, so the order rests and later fills as a maker. That is why the exit fee is zero on a takers-only series. A target at or below the best bid would fill at once as a taker. Whether 55c is a good exit depends on your own estimate of the YES chance. The expected value guide and the Kelly and EV calculator do that arithmetic.
Stop losses
Kalshi's help center documents take-profit and stop-loss orders for its perpetual futures. Those are a separate product. For event contracts, auto sell only takes profit. A plain resting order cannot stand in for a stop either. A sell limit priced below the best bid matches the bids at once, starting with the best one. That is because the book fills every order at its price or better. On event contracts, an exit below the market happens when you send it.
Questions traders ask
Does Kalshi have market orders?
In the app, the Quick Order works as a market order. It fills at once at the best prices on the book and can span several price levels. The API has accepted only limit orders since September 25, 2025. API traders get the same effect with an immediate-or-cancel order at the worst price they will accept.
Do Kalshi limit orders pay fees?
Only on the contracts that fill. Contracts that match resting orders when you send the order pay the taker fee. Contracts that rest and fill later pay the maker fee. That is zero on most series, and a quarter of the taker rate on most series that charge one. Canceling an order costs nothing.
Why did my Kalshi limit order not fill?
Usually because no one traded at your price, or older orders at the same price were ahead of you. Kalshi fills by price, then by time. An order can also end early because of an expiration time you set, a post-only order that would have matched on arrival, or the market closing.
Do Kalshi limit orders expire?
A good-till-canceled order rests until it fills, you cancel it or the market closes. At the close, Kalshi cancels any orders still resting. Through the API you can add an expiration time. Kalshi Pro offers end of day, at event start and custom expirations. FIX offers a Day order that ends at 11:59:59.999 PM ET. Immediate-or-cancel and fill-or-kill orders never rest in the book.
How do I turn off auto sell on Kalshi?
Turn off "Auto-sell prompt after buy" in Settings, under Trade mechanics on mobile or your trade preferences on the web. You can also pick "Don't show this again" on the prompt. That stops the prompt only. Any auto sell already set stays under Orders, where you can edit or cancel it.
Can you set a stop loss on Kalshi?
Kalshi's help center documents stop-loss orders only for perpetual futures. On event contracts, auto sell only takes profit, with a target at or above your purchase price. A sell limit below the best bid fills at once against the bids, so a resting order cannot wait as a stop on an event contract.
Sources
- Kalshi Help Center, Limit Orders (accessed Oct 19, 2026)
- Kalshi Help Center, Limit Order Purchase (accessed Oct 19, 2026)
- Kalshi Help Center, Limit Order Sale (accessed Oct 19, 2026)
- Kalshi Help Center, Quick Orders (accessed Oct 19, 2026)
- Kalshi Help Center, Quick Order Purchase (accessed Oct 19, 2026)
- Kalshi Help Center, Fees (maker fees and canceled orders) (accessed Oct 19, 2026)
- Kalshi Help Center, Auto Sell (Take Profit) (accessed Oct 19, 2026)
- Kalshi Help Center, Take Profit and Stop Loss (TP/SL), Perpetual Futures (accessed Oct 19, 2026)
- Kalshi Help Center, Flip Selling (accessed Oct 19, 2026)
- Kalshi Help Center, What are trading hours? (accessed Oct 19, 2026)
- Kalshi, Fee Schedule (general trading fees and maker fees) (accessed Oct 19, 2026)
- KalshiEX LLC Rulebook, Version 1.29, Rules 5.3, 5.4, 5.9 and 5.10 (accessed Oct 19, 2026)
- Kalshi API documentation, Create Order (V2) (accessed Oct 19, 2026)
- Kalshi API documentation, Amend Order (V2), queue position on amend (accessed Oct 19, 2026)
- Kalshi API documentation, Get Order Queue Position (accessed Oct 19, 2026)
- Kalshi API documentation, Orderbook Responses (accessed Oct 19, 2026)
- Kalshi API documentation, Fee Rounding (fees per fill) (accessed Oct 19, 2026)
- Kalshi API documentation, Get Series (fee_type) (accessed Oct 19, 2026)
- Kalshi API documentation, Get Series List, used for the series fee counts pulled Oct 19, 2026 (accessed Oct 19, 2026)
- Kalshi API documentation, Market Lifecycle (orders after close and after a pause) (accessed Oct 19, 2026)
- Kalshi Pro Help, The order panel (time in force and post-only) (accessed Oct 19, 2026)
- Kalshi API documentation, FIX Order Entry (Day, fill-or-kill and post-only) (accessed Oct 19, 2026)
- Kalshi API changelog, entries of Sep 25, 2025 (market order type deprecated), Jan 30, 2026 (queue position counted from 0), Feb 11, 2026 (order type removed) and Jun 4, 2026 (PostOnlyCrossCancel) (accessed Oct 19, 2026)