Skip to main content
Public endpoints for market information. No authentication required beyond the API key header.

GET /providers

List available perpetual provider platforms.
GET /v1/perps/providers

Parameters

NameInTypeRequiredDescription
x-lifi-api-keyheaderstringYesAPI key
x-lifi-integratorheaderstringNoIntegrator identifier

Response 200

{
  "providers": [
    {
      "key": "hyperliquid",
      "name": "Hyperliquid",
      "logoURI": "https://raw.githubusercontent.com/lifinance/types/main/src/assets/icons/dexes/hyperliquid.svg",
      "prepareAccountActions": [
        { "type": "approveAgent", "signers": ["USER"] },
        { "type": "approveBuilderFee", "signers": ["USER"] },
        { "type": "userSetAbstraction", "signers": ["USER"] },
        { "type": "agentSetAbstraction", "signers": ["AGENT"] }
      ],
      "actions": [
        { "type": "placeOrder", "signers": ["AGENT"] },
        { "type": "placeTriggerOrder", "signers": ["AGENT"] },
        { "type": "cancelOrder", "signers": ["AGENT"] },
        { "type": "modifyOrder", "signers": ["AGENT"] },
        { "type": "updateLeverage", "signers": ["AGENT"] },
        { "type": "updatePositionMargin", "signers": ["AGENT"] },
        { "type": "withdrawal", "signers": ["USER"] },
        { "type": "sendAsset", "signers": ["USER"] }
      ],
      "markets": [
        { "id": "hyperliquid", "quoteAsset": "USDC" },
        { "id": "xyz", "quoteAsset": null },
        { "id": "spot", "quoteAsset": null }
      ],
      "wsUrl": "wss://api.hyperliquid.xyz/ws"
    }
  ]
}
The wsUrl field is optional — it may be absent for providers that don’t support WebSocket streaming. Each ProviderMarketInfo in markets describes a sub-market within the provider:
FieldTypeDescription
idstringMarket identifier (used as market in AssetIdentity)
quoteAssetstring | nullQuote asset for this market (e.g., "USDC")
SDK: getProviders()

GET /assets

List all tradeable assets for a provider.
GET /v1/perps/assets?provider=hyperliquid

Parameters

NameInTypeRequiredDescription
providerquerystringYesProvider identifier
x-lifi-api-keyheaderstringYesAPI key
x-lifi-integratorheaderstringNoIntegrator identifier

Response 200

{
  "assets": [
    {
      "assetId": "BTC",
      "market": "hyperliquid",
      "displaySymbol": "BTC",
      "displayQuote": "USDC",
      "displayName": "Bitcoin",
      "logoURI": "https://static.debank.com/image/token/logo_url/btc/d3c8b30d5b8f7c0e82e87e1c8f4e5c5a.png",
      "szDecimals": 5,
      "maxLeverage": 50,
      "onlyIsolated": false,
      "isMarginCollateral": false,
      "funding": {
        "rate": "0.0001",
        "nextFundingTime": 1704110400000
      },
      "openInterest": "1250000000",
      "volume24h": "5000000000",
      "prevDayPrice": "94200.00",
      "markPrice": "95000.50"
    }
  ]
}
Each Asset:
FieldTypeDescription
assetIdstringProvider’s canonical asset identity (e.g., "BTC", "xyz:PURR", "@142")
marketstringMarket category (e.g., "hyperliquid", "xyz", "spot")
displaySymbolstringUI-friendly base symbol (e.g., "BTC", "PURR")
displayQuotestring | nullQuote asset (e.g., "USDC") — null for non-standard markets
displayNamestring?Full asset name (e.g., "Bitcoin")
logoURIstringURL to asset logo
szDecimalsnumberSize decimal places
maxLeveragenumberMaximum allowed leverage
onlyIsolatedbooleanWhether only isolated margin is supported
isMarginCollateralboolean?Whether this asset can be used as margin collateral
fundingFundingInfoCurrent funding rate and next funding time
openIntereststring?Total open interest in USD
volume24hstring?24-hour trading volume in USD
prevDayPricestring?Previous day’s price
markPricestringCurrent mark price
SDK: getAssets()

GET /assets/

Get details for a single asset.
GET /v1/perps/assets/BTC?provider=hyperliquid

Parameters

NameInTypeRequiredDescription
symbolpathstringYesAsset identifier (e.g., BTC)
providerquerystringYesProvider identifier
x-lifi-api-keyheaderstringYesAPI key
x-lifi-integratorheaderstringNoIntegrator identifier

Response 200

Returns a single Asset object (same shape as items in the /assets response).

Response 404

Asset not found error. SDK: getAsset()

GET /prices

Get current mid prices for all assets. Lightweight endpoint for frequent polling.
GET /v1/perps/prices?provider=hyperliquid

Parameters

NameInTypeRequiredDescription
providerquerystringYesProvider identifier
symbolsquerystringNoComma-separated list of asset IDs to filter (e.g., BTC,ETH)
x-lifi-api-keyheaderstringYesAPI key
x-lifi-integratorheaderstringNoIntegrator identifier

Response 200

{
  "prices": [
    { "assetId": "BTC", "price": "95000.50" },
    { "assetId": "ETH", "price": "3200.25" },
    { "assetId": "SOL", "price": "185.75" }
  ]
}
Each AssetPrice:
FieldTypeDescription
assetIdstringAsset identifier
pricestringCurrent mid price
SDK: getPrices()

GET /ohlcv/

Get OHLCV candle data for charts.
GET /v1/perps/ohlcv/BTC?provider=hyperliquid&interval=1h&limit=100

Parameters

NameInTypeRequiredDescription
symbolpathstringYesAsset identifier
providerquerystringYesProvider identifier
intervalquerystringYesCandle interval: 1m, 3m, 5m, 15m, 30m, 1h, 2h, 4h, 8h, 12h, 1d, 3d, 1w, 1M
startTimequeryintegerNoStart timestamp (ms)
endTimequeryintegerNoEnd timestamp (ms)
limitqueryintegerNoMax candles (default 100, max 1000)
x-lifi-api-keyheaderstringYesAPI key
x-lifi-integratorheaderstringNoIntegrator identifier

Response 200

{
  "provider": "hyperliquid",
  "assetId": "BTC",
  "interval": "1h",
  "candles": [
    {
      "t": 1704067200000,
      "o": "94500.00",
      "h": "95200.00",
      "l": "94300.00",
      "c": "95000.50",
      "v": "125000000"
    }
  ]
}

Response 404

Asset not found error. SDK: getOhlcv()

GET /orderbook/

Get current orderbook snapshot.
GET /v1/perps/orderbook/BTC?provider=hyperliquid&depth=20

Parameters

NameInTypeRequiredDescription
symbolpathstringYesAsset identifier
providerquerystringYesProvider identifier
depthqueryintegerNoPrice levels (default 20, max 100)
x-lifi-api-keyheaderstringYesAPI key
x-lifi-integratorheaderstringNoIntegrator identifier

Response 200

{
  "provider": "hyperliquid",
  "assetId": "BTC",
  "bids": [
    { "price": "94999.00", "size": "1.5" },
    { "price": "94998.00", "size": "2.3" }
  ],
  "asks": [
    { "price": "95001.00", "size": "0.8" },
    { "price": "95002.00", "size": "1.2" }
  ],
  "timestamp": 1704067200000
}

Response 404

Asset not found error. SDK: getOrderbook()