Skip to main content
POST
Create Order

Authorizations

KALSHI-ACCESS-KEY
string
header
required

Your API key ID

KALSHI-ACCESS-SIGNATURE
string
header
required

Base64 signature of the pre-sign text (timestamp + method + path) made with the API key's algorithm - RSA-PSS with SHA-256 for RSA keys, Ed25519 for Ed25519 keys

KALSHI-ACCESS-TIMESTAMP
string
header
required

Request timestamp in milliseconds

Body

application/json
client_order_id
string
required
side
enum<string>
required

The side of an order or trade (bid or ask)

Available options:
bid,
ask
count
string
required

String representation of the order quantity in contracts.

Example:

"10.00"

price
string
required

Price for the order in fixed-point dollars.

Example:

"0.5600"

time_in_force
enum<string>
required
Available options:
fill_or_kill,
good_till_canceled,
immediate_or_cancel
self_trade_prevention_type
enum<string>
required

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.

Available options:
taker_at_cross,
maker
ticker
string

Market ticker. Supply ticker or market_id; ticker takes precedence when both are provided.

market_id
string

Stable exchange market UUID. May be supplied instead of ticker.

expiration_time
integer<int64>
post_only
boolean
cancel_order_on_pause
boolean

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.

reduce_only
boolean

Specifies whether the order place count should be capped by the member's current position. Orders with reduce_only set to true will be rejected unless time_in_force is immediate_or_cancel or fill_or_kill.

subaccount
integer

The subaccount number to use for this margin order. 0 is the primary subaccount. Subaccount-restricted API keys must omit this field or pass their locked subaccount.

Required range: x >= 0
order_group_id
string

The order group this order is part of

market_version
integer<int32>
default:0

The market_version you expect the market to be at. If it is set and the market's current market_version differs, the order is rejected with HTTP 409 and error code market_version_mismatch. 0 skips the check.

Response

Order created successfully

order_id
string
required
fill_count
string
required

Number of contracts filled immediately upon placement.

Example:

"10.00"

remaining_count
string
required

Number of contracts remaining after placement. For IOC orders, this reflects the final state after unfilled contracts are canceled.

Example:

"10.00"

client_order_id
string
average_fill_price
string

Volume-weighted average fill price. Only present when fill_count > 0.

Example:

"0.5600"

average_fee_paid
string

Volume-weighted average fee paid per contract for fills resulting from this request. Only present when fill_count > 0.

Example:

"0.5600"