Create order

Submits a new order to Paradex.

Returns an order status object with a unique order id assigned by Paradex. This order id serves as the primary identifier for the order.

The REST API performs basic validation and queues the order for risk checks (order status=NEW).

Once validation and risk checks are successful, the order is sent to the matching engine. The matching engine processes the order and updates the status to OPEN if the order is resting. If the order is fully filled or cannot be processed, the status changes to CLOSED and a cancel_reason code is provided (e.g., fully filled or no liquidity).

Headers

AuthorizationstringRequired

Request

This endpoint expects an object.
instructionstringRequired

Order Instruction, GTC, IOC or POST_ONLY if empty GTC

marketstringRequired

Market for which order is created

pricestringRequired

Order price

sideenumRequired

Order side

Allowed values:
signaturestringRequired

Order Payload signed with STARK Private Key

signature_timestampintegerRequired

Timestamp of order creation, used for signature verification

sizestringRequired

Size of the order

typeenumRequired

Order type

client_idstringOptional<=64 characters

Unique client assigned ID for the order

flagslist of enumsOptional

Order flags, allow flag: REDUCE_ONLY

Allowed values:
on_behalf_of_accountstringOptional

ID corresponding to the configured isolated margin account. Only for isolated margin orders

recv_windowintegerOptional

Order will be created if it is received by API within RecvWindow milliseconds from signature timestamp, minimum is 10 milliseconds

stpstringOptional

Self Trade Prevention, EXPIRE_MAKER, EXPIRE_TAKER or EXPIRE_BOTH, if empty EXPIRE_TAKER

trigger_pricestringOptional

Trigger price for stop order

Response

Created

accountstringOptional

Paradex Account

avg_fill_pricestringOptional

Average fill price of the order

cancel_reasonstringOptional

Reason for order cancellation if it was closed by cancel

client_idstringOptional

Client order id provided by the client at order creation

created_atintegerOptional

Order creation time

flagslist of enumsOptional

Order flags, allow flag: REDUCE_ONLY

Allowed values:
idstringOptional

Unique order identifier generated by Paradex

instructionenumOptional

Execution instruction for order matching

Allowed values:
last_updated_atintegerOptional

Order last update time. No changes once status=CLOSED

marketstringOptional

Market

pricestringOptional

Order price. 0 for MARKET orders

published_atintegerOptional

Timestamp in milliseconds when order was sent to the client

received_atintegerOptional

Timestamp in milliseconds when order was received by API service

remaining_sizestringOptional

Remaining size of the order

request_infoobjectOptional

Additional request information for orders

seq_nointegerOptional

Unique increasing number (non-sequential) that is assigned to this order update and changes on every order update. Can be used to deduplicate multiple feeds. WebSocket and REST responses use independently generated seq_no per event.

sideenumOptional

Order side

Allowed values:
sizestringOptional

Order size

statusenumOptional

Order status

Allowed values:
stpenumOptional

Self Trade Prevention mode

Allowed values:
timestampintegerOptional

Order signature timestamp

trigger_pricestringOptional

Trigger price for stop order

typeenumOptional

Order type

Errors