Endpoint for submitting event-market orders using the V2 request/response shape (single-book bid/ask side and fixed-point dollar prices). The legacy /portfolio/orders endpoint will be deprecated no earlier than May 6, 2026 — clients should migrate to this path.
Documentation Index
Fetch the complete documentation index at: https://docs.kalshi.com/llms.txt
Use this file to discover all available pages before exploring further.
Your API key ID
RSA-PSS signature of the request
Request timestamp in milliseconds
Side of the book for an order or trade. For event markets, this refers to the YES leg only: bid means buy YES, ask means sell YES. (Selling YES is economically equivalent to buying NO at 1 - price, but this endpoint quotes everything from the YES side.)
bid, ask String representation of the order quantity in contracts.
"10.00"
Price for the order in fixed-point dollars.
"0.5600"
Specifies how long the order remains active. Use good_till_canceled
with expiration_time for an order that should rest until a specific
expiration time; without expiration_time, good_till_canceled is a
true good-till-canceled order. GTT is not a valid API value.
fill_or_kill, good_till_canceled, immediate_or_cancel The self-trade prevention type for orders. taker_at_cross cancels the taker order when it would trade against another order from the same user; execution stops and any partial fills already matched are executed. maker cancels the resting maker order and continues matching.
taker_at_cross, maker Optional Unix timestamp in seconds for when the order expires. To place
an expiring order, set time_in_force to good_till_canceled and
provide this expiration_time. GTT is an internal execution type and
is not a valid API value for time_in_force. The
immediate_or_cancel time-in-force value cannot be combined with
expiration_time.
If this flag is set to true, the order will be canceled if the order is open and trading on the exchange is paused for any reason.
Specifies whether the order place count should be capped by the member's current position.
The subaccount number to use for this order. 0 is the primary subaccount.
x >= 0The order group this order is part of
Identifier for an exchange shard. Defaults to 0 if unspecified. Note: currently only 0 supported.
0
Order created successfully
Number of contracts filled immediately upon placement.
"10.00"
Number of contracts remaining after placement. For IOC orders, this reflects the final state after unfilled contracts are canceled.
"10.00"
Matching engine timestamp at which the order was processed, as Unix epoch milliseconds.
Volume-weighted average fill price. Only present when fill_count > 0.
"0.5600"
Volume-weighted average fee paid per contract for fills resulting from this request. Only present when fill_count > 0.
"0.5600"