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
tokenId
string
required

Polymarket outcome-token id that identifies both the market and the outcome.

Minimum string length: 1
Example:

"71321045679252212594626385532706912750332728571942532289631379312455583992563"

side
enum<string>
required

Order direction.

Available options:
BUY,
SELL
Example:

"BUY"

type
enum<string>
required

Discriminator for a market order.

Available options:
MARKET
amount
string
required

Order size, in dollars for a buy and in outcome shares for a sell.

Minimum string length: 1
Example:

"50"

timeInForce
FillOrKill · object

Execution policy; defaults to FOK.

maxFillPrice
string

Optional per-share ceiling this order may fill at, exclusive of 0 and 1. BUY only. The venue sweeps the book and stops before the first level above it, so the order may fill partially (FAK) or not at all (FOK) rather than fill above the ceiling. Without it a buy is bounded only by amount, which caps what is spent and not the price paid.

Example:

"0.62"

minFillPrice
string

Optional per-share floor this order may fill at, exclusive of 0 and 1. SELL only. Omitting it does not mean unbounded: a market sell without a floor is bounded by a default derived from the market's midpoint.

Example:

"0.41"

Response

Order accepted. On the response that placed the order, status and the three match fields report what the venue acknowledged; a retry under the same idempotency key places nothing, so it describes the stored order and returns null match fields. Null is not proof that nothing filled.

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"

filledShares
string | null
required

Shares reported matched at submission, or null when unavailable.

Example:

"120000"

filledAmountUsd
string | null
required

Gross USD spent or received for the reported match, excluding fees, or null when unavailable.

Example:

"49200.55"

averagePrice
string | null
required

USD per share for the reported match, rounded to 6 decimal places, or null when unavailable.

Example:

"0.410005"