Skip to main content
Hyperliquid exposes a native WebSocket endpoint at wss://api.hyperliquid.xyz/ws. The SDK discovers this URL from the wsUrl field in the GET /providers response. If you’re using the SDK, see Streaming instead. For the full WebSocket protocol specification (message format, keepalive, and subscription channels), see the Hyperliquid WebSocket documentation.

SDK Channel Mapping

The SDK maps between normalized channel names and Hyperliquid-native channels:
SDK channelHL subscription typeSDK event type
pricesallMidsPricesResponse
orderbookl2BookOrderbookResponse
tradestradesFill[]
candlecandleCandle
orderUpdatesorderUpdatesOrder[]
fillsuserFillsFill[]
positionswebData2Position[]
spotBalancesspotClearinghouseStateSpotBalance[]

Rate Limits

Hyperliquid enforces per-connection limits:
  • 1000 total subscriptions per WebSocket connection
  • 10 user-specific subscriptions per connection (orderUpdates, userFills, webData2)