v50

latestOpenAPI 3.0.1raw.githubusercontent.com2026-03-2591124300.0 KB
Orders

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).

post/orders

Request body

client_idstring

Unique client assigned ID for the order

flagsResponsesOrderFlag[]

Order flags, allow flag: REDUCE_ONLY

instruction'GTC' | 'POST_ONLY' | 'IOC' | 'RPI' required
marketstring required

Market for which order is created

on_behalf_of_accountstring

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

pricestring required

Order price

recv_windowinteger

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

side'BUY' | 'SELL' required
signaturestring required

Order signature in as a string "[r,s]" signed by account's paradex private key

signature_timestampinteger required

Unix timestamp in milliseconds of order creation, used for signature verification

sizestring required

Size of the order

stpstring

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

trigger_pricestring

Trigger price for stop order

type'MARKET' | 'LIMIT' | 'STOP_LIMIT' | 'STOP_MARKET' | 'TAKE_PROFIT_LIMIT' | 'TAKE_PROFIT_MARKET' | 'STOP_LOSS_MARKET' | 'STOP_LOSS_LIMIT' required
vwap_pricestring

Optional VWAP price for market orders used for VWAP instruction, bounded by price band

Example request

{
  "client_id": "123454321",
  "market": "BTC-USD-PERP",
  "on_behalf_of_account": "0x1234567890abcdef",
  "price": "29500.12",
  "size": "1.213"
}

Response

Created

accountstring

Paradex Account

avg_fill_pricestring

Average fill price of the order

cancel_reasonstring

Reason for order cancellation if it was closed by cancel

client_idstring

Client order id provided by the client at order creation

created_atinteger

Order creation time

flagsResponsesOrderFlag[]

Order flags, allow flag: REDUCE_ONLY

idstring

Unique order identifier generated by Paradex

instruction'GTC' | 'POST_ONLY' | 'IOC' | 'RPI'
last_updated_atinteger

Order last update time. No changes once status=CLOSED

marketstring

Market

pricestring

Order price. 0 for MARKET orders

published_atinteger

Timestamp in milliseconds when order was sent to the client

received_atinteger

Timestamp in milliseconds when order was received by API service

remaining_sizestring

Remaining size of the order

seq_nointeger

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.

side'BUY' | 'SELL'
sizestring

Order size

status'NEW' | 'UNTRIGGERED' | 'OPEN' | 'CLOSED'
stp'EXPIRE_MAKER' | 'EXPIRE_TAKER' | 'EXPIRE_BOTH'
timestampinteger

Order signature timestamp

trigger_pricestring

Trigger price for stop order

type'MARKET' | 'LIMIT' | 'STOP_LIMIT' | 'STOP_MARKET' | 'TAKE_PROFIT_LIMIT' | 'TAKE_PROFIT_MARKET' | 'STOP_LOSS_MARKET' | 'STOP_LOSS_LIMIT'

Example response

{
  "account": "0x4638e3041366aa71720be63e32e53e1223316c7f0d56f7aa617542ed1e7512x",
  "avg_fill_price": "26000",
  "cancel_reason": "NOT_ENOUGH_MARGIN",
  "client_id": "x1234",
  "created_at": 1681493746016,
  "id": "123456",
  "last_updated_at": 1681493746016,
  "market": "BTC-USD-PERP",
  "price": "26000",
  "published_at": 1681493746016,
  "received_at": 1681493746016,
  "remaining_size": "0",
  "seq_no": 1681471234972000000,
  "size": "0.05",
  "timestamp": 1681493746016,
  "trigger_price": "26000"
}