Skip to main content
All paths are relative to the base URL. See authentication and errors and idempotency. Use status=open to list current exchange orders, including orders placed through the UI. Omitting it lists stored API order history. Open-order cursors are native order IDs; history cursors are Legend UUIDs. Read-only listing does not reconcile every historical order. Retrieve an individual order for reconciliation. For a price-only modification, the API preserves the order’s current remaining size. Account, market, and side cannot be changed by modification.

Place an order

POST /v1/orders Requires trading:write and Idempotency-Key.

Parameters

Request body

Example request

Response

See the OpenAPI schema for nested response objects and validation patterns. Illustrative successful response:

List API order history, or current account orders with status=open

GET /v1/orders Requires trading:read.

Parameters

Example request

Response

See the OpenAPI schema for nested response objects and validation patterns. Illustrative successful response:

Retrieve and reconcile an order

GET /v1/orders/{id} Requires trading:read.

Parameters

Example request

Response

See the OpenAPI schema for nested response objects and validation patterns. Illustrative successful response:

Modify order price, size, or trigger

POST /v1/orders/{id}/modify Requires trading:write and Idempotency-Key.

Parameters

Request body

Example request

Response

See the OpenAPI schema for nested response objects and validation patterns. Illustrative successful response:

Cancel an open order

POST /v1/orders/{id}/cancel Requires trading:write and Idempotency-Key.

Parameters

Request body

Example request

Response

See the OpenAPI schema for nested response objects and validation patterns. Illustrative successful response:

Modification behavior

Hyperliquid’s default modify action requires a non-trigger replacement that does not immediately execute; a GTC replacement is treated as post-only. A rejected replacement can still cancel the original order. Always inspect the returned status and error; the API reconciles the original order rather than assuming it remains open. If that lookup fails, the result is unknown until retrieved and reconciled. Set always_place: true explicitly to permit a trigger or immediately executable replacement. This can place a new order even when cancellation fails; use it only when that behavior is intended. Trigger modifications without this opt-in fail before exchange submission. The default is false; successful default GTC modifications are reported as alo to match Hyperliquid’s effective order type.

Builder fees

Regular perpetual order creation uses Legend’s shared builder-fee configuration (normally 5 bps, subject to existing account overrides). Clients cannot supply their own builder address or fee. Spot uses the same fee rules as the Legend UI; native TWAPs do not support builder fees. Exchange fees are separate from Legend’s builder fee. The modification body also accepts always_place (boolean, optional, default false). It does not change account, market, side, reduce-only intent, or the server-selected fee configuration.