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 returnedstatus 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 acceptsalways_place (boolean, optional, default false). It does not change account, market, side, reduce-only intent, or the server-selected fee configuration.