Skip to main content
POST
Submit Order

Headers

PX-Key-Id
string
required

The key id issued for your signing keypair.

PX-Timestamp
string
required

Unix seconds at signing, valid within 30 seconds of the server clock.

PX-Signature
string
required

Ed25519 signature of the request

PX-Content-Sha256
string
required

Hex SHA-256 of the request body, or the SHA-256 of the empty string when there is no body.

Idempotency-Key
string
required

Idempotency key for this request. Re-sending the same key with the same body returns the original result and creates no duplicate; re-sending it with a different body is rejected with 422.

Minimum string length: 1
Example:

"2f1a8c4e-0b3d-4a9c-8e7f-1a2b3c4d5e6f"

Body

application/json
ticker
string
required

Kalshi market ticker that identifies the market to trade. Uppercase alphanumeric segments joined by -, with . permitted inside a segment for a decimal strike (e.g. KXBTCD-26AUG0607-T64599.99). Case-sensitive: a lowercase ticker is rejected rather than upcased, because changing it would name a different instrument than the caller asked for.

Minimum string length: 1
Pattern: ^[A-Z0-9]+([.-][A-Z0-9]+)*$
Example:

"KXPRES-2028"

side
enum<string>
required

Which side of the Kalshi market the contract represents.

Available options:
YES,
NO
Example:

"YES"

action
enum<string>
required

Order direction against the chosen side.

Available options:
BUY,
SELL
Example:

"BUY"

count
integer
required

Order size in whole contracts.

Required range: x > 0
Example:

10

priceCents
integer
required

Limit price in whole cents from 1 to 99, in the traded side's own frame.

Required range: 1 <= x <= 99
Example:

38

timeInForce
GoodTillCancelled · object

Execution policy; defaults to GTC.

Response

Order accepted

orderId
string<uuid>
required

Issued order id.

Example:

"3f8b2c9a-2d18-4f7e-9c2a-1b6e1f0c8a4d"

status
enum<string>
required

Order lifecycle status.

Available options:
PENDING,
SUBMITTED,
OPEN,
FILLED,
CANCELLED,
REJECTED
Example:

"OPEN"