For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Logo
Join CommunityStart Trading
HomeOverviewTradingRisk & LiquidationsParadex ChainEcosystemREST APIWebSocket APIAgentic AI HubRelease Notes
HomeOverviewTradingRisk & LiquidationsParadex ChainEcosystemREST APIWebSocket APIAgentic AI HubRelease Notes
  • General Information
    • Server Location
    • Server URLs
    • Quick Start
    • Authentication
    • Rate Limits
    • Benchmarks
    • API Authentication
    • API Best Practices
  • Production API Reference
  • Testnet API Reference
        • GETGet open orders
        • POSTCreate order
        • DELCancel all open orders
        • GETGet orders
        • POSTCreate batch of orders
        • DELCancel batch of orders by order IDs
        • GETGet order by client id
        • DELCancel open order by client order id
        • GETGet order
        • PUTModify order
        • DELCancel order
  • Useful Resources
    • Paradex Github
    • Paradex CLI
    • Code Samples
    • Python SDK
    • CCXT Integration
Join CommunityStart Trading
Testnet API ReferenceOrders

Create order

POST
https://api.testnet.paradex.trade/v1/orders
POST
/v1/orders
$curl -X POST https://api.testnet.paradex.trade/v1/orders \
>-H 'Content-Type: application/json' \
>-H 'Accept: application/json' \
>-H 'Authorization: Bearer {JWT}'
1{
2 "account": "0x4638e3041366aa71720be63e32e53e1223316c7f0d56f7aa617542ed1e7512x",
3 "avg_fill_price": "26000",
4 "cancel_reason": "NOT_ENOUGH_MARGIN",
5 "client_id": "x1234",
6 "created_at": 1681493746016,
7 "flags": [
8 "REDUCE_ONLY"
9 ],
10 "id": "123456",
11 "instruction": "GTC",
12 "last_updated_at": 1681493746016,
13 "market": "BTC-USD-PERP",
14 "price": "26000",
15 "published_at": 1681493746016,
16 "received_at": 1681493746016,
17 "remaining_size": "0",
18 "request_info": {
19 "id": "string",
20 "message": "string",
21 "request_type": "string",
22 "status": "string"
23 },
24 "seq_no": 1681471234972000000,
25 "side": "BUY",
26 "size": "0.05",
27 "status": "NEW",
28 "stp": "EXPIRE_MAKER",
29 "timestamp": 1681493746016,
30 "trigger_price": "26000",
31 "type": "MARKET"
32}
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).
Was this page helpful?
Previous

Cancel all open orders

Next
Built with

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

Authentication

Authorizationstring
API Key authentication via header

Request

Order content
instructionenumRequired

Order Instruction, GTC, IOC, RPI or POST_ONLY if empty GTC

Allowed values:
marketstringRequired
Market for which order is created
pricestringRequired
Order price
sideenumRequired
Order side
Allowed values:
signaturestringRequired

Order signature in as a string “[r,s]” signed by account’s paradex private key

signature_timestampintegerRequired
Unix timestamp in milliseconds 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
vwap_pricestringOptional
Optional VWAP price for market orders used for VWAP instruction, bounded by price band

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
flagslist of enums

Order flags, allow flag: REDUCE_ONLY

Allowed values:
idstring
Unique order identifier generated by Paradex
instructionenum
Execution instruction for order matching
Allowed values:
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
request_infoobject
Additional request information for orders
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.

sideenum
Order side
Allowed values:
sizestring
Order size
statusenum
Order status
Allowed values:
stpenum
Self Trade Prevention mode
Allowed values:
timestampinteger
Order signature timestamp
trigger_pricestring
Trigger price for stop order
typeenum
Order type

Errors

400
Bad Request Error