v56

latestOpenAPI 3.0.0raw.githubusercontent.com2026-08-03113163377.5 KB
Algos

Create algo order

Create a new algo order

TWAP

TWAP orders break a large trade into smaller ones over time to reduce market impact:

  • Sub-orders are placed every 30 seconds.
  • Order duration is between 30 and 86,400 seconds, in multiples of 30.
  • Supported sub order type: MARKET
post/algo/orders

Request body

algo_typestring required

Algo type, required for algo orders creation

dime_discountboolean

If true, child-order fees are charged in DIME with the DIME discount applied; falls back to USDC if balance is insufficient

duration_secondsinteger required

Duration in seconds for which the algo order will be running, required for algo orders creation

frequencyinteger

Interval in seconds between child orders (default: 30)

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

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 algo order

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

Example request

{
  "algo_type": "TWAP",
  "duration_seconds": 3600,
  "frequency": 30,
  "market": "BTC-USD-PERP",
  "on_behalf_of_account": "0x1234567890abcdef",
  "size": "1.213"
}

Response

Created

accountstring

Account identifier (user's account address)

algo_paramsobject

Type-specific algo parameters

algo_type'' | 'TWAP'
avg_fill_pricestring

Average fill price of the order

cancel_reasonstring

Reason for algo cancellation if it was closed by cancel

created_atinteger

Algo creation time

end_atinteger

Algo end time

idstring

Unique algo identifier

last_updated_atinteger

Algo last update time. No changes once status=CLOSED

marketstring

Market to which algo belongs

remaining_sizestring

Remaining size of the algo

side'BUY' | 'SELL'
sizestring

Algo size

status'NEW' | 'UNTRIGGERED' | 'OPEN' | 'CLOSED'

Example response

{
  "account": "0x4638e3041366aa71720be63e32e53e1223316c7f0d56f7aa617542ed1e7512",
  "avg_fill_price": "26000",
  "cancel_reason": "NOT_ENOUGH_MARGIN",
  "created_at": 1681493746016,
  "end_at": 1681493746016,
  "id": "123456",
  "last_updated_at": 1681493746016,
  "market": "BTC-USD-PERP",
  "remaining_size": "0",
  "size": "0.05"
}