Skip to main content
Returns the user’s open orders and trigger orders, paginated.
The examples on this page use Hyperliquid (provider: 'hyperliquid'). Replace the provider value with any supported DEX from getProviders().
import { getOrders } from '@lifi/perps-sdk';

const result = await getOrders(client, {
  provider: 'hyperliquid',
  address: userAddress,
});

for (const order of result.openOrders) {
  console.log(order.asset.displaySymbol, order.side, order.type, order.price);
}
for (const trigger of result.triggerOrders) {
  console.log(trigger.asset.displaySymbol, trigger.type, trigger.triggerPrice);
}

Parameters

ParameterTypeRequiredDescription
clientPerpsSDKClientYesSDK client
params.providerstringYesDEX identifier
params.addressstringYesUser’s wallet address
params.symbolstringNoFilter by asset identifier
params.limitnumberNoItems per page (default 50, max 100)
params.cursorstringNoPagination cursor from previous response
optionsSDKRequestOptionsNoRequest options

Returns

OrdersResponse:
FieldTypeDescription
providerstringProvider identifier
openOrdersOpenOrder[]Resting limit orders
triggerOrdersTriggerOrder[]Pending trigger orders (TP/SL)
paginationPaginationPagination metadata

OpenOrder fields

FieldTypeDescription
idstringOrder ID
assetAssetDisplayAsset identity
side'BUY' | 'SELL'Order direction
typeOrderTypeOrder type
sizestringOrder size
pricestringLimit price
filledSizestringAmount filled
reduceOnlybooleanWhether reduce-only
labelstring?Optional order label
createdAtstringISO 8601 timestamp

TriggerOrder fields

FieldTypeDescription
idstringOrder ID
assetAssetDisplayAsset identity
typeOrderTypeTrigger order type (e.g., TAKE_PROFIT_MARKET, STOP_LIMIT)
sizestringOrder size
triggerPricestringPrice at which the order activates
limitPricestring?Execution limit price (market order if omitted)
labelstring?Optional order label
createdAtstringISO 8601 timestamp
API Reference: GET /orders