Docs
Docs
Home
Getting Started
Agent Tooling
CLI
Supported Chains
Acala
Aptos
Arbitrum
Arc
Asset Hub
Astar
Avalanche
Base
Berachain
Bifrost
Binance Smart Chain
Bittensor
Blast
Boba Network
Bridge Hub
Celo
Centrifuge
Chiliz
Cronos
Enjin
Ethereum
Etherlink
Flow EVM Gateway
Gnosis
Hydration
Hyperliquid
Immutable
Ink
IoTeX
Kusama
Linea
LISK
Manta Atlantic
Manta Pacific
Mantle
MegaETH
Monad
Movement
Neuroweb
opBNB
Optimism
Plasma
Polkadot
Polygon
Pulsechain
Robinhood
Ronin
Scroll
Sonic
Starknet
Taiko
Tempo
Sui
TRON
Unichain
Viction
World Chain
XDC Network
XX Network
Zetachain
zkSync Era
Zora
Supported ChainsHyperliquidHyperliquid IndexOHLCV Data

Hyperliquid allCandles WebSocket API

Subscribe to live Hyperliquid OHLCV candle updates for all active markets in one WebSocket stream, with response billing based on emitted candle objects.

Hyperliquid RPC endpoint: endpoint URLs, plans and pricing.

Use allCandles when you want one live stream of candle changes across every active Hyperliquid market for a single interval. The stream is sparse: each data frame contains only markets that emitted a candle update for that batch.

If you need one specific market, use candles.

WebSocket is for live candle delivery

The allCandles stream is not a historical replay API. It starts delivering live batches after a successful subscription.

Billing

Billed by emitted candle objects

allCandles WebSocket data frames are billed by the number of candle objects delivered in data, not as one response per WebSocket frame. A frame with 87 candle objects counts as 87 responses.

Sparse markets that do not emit a candle object in a frame do not add to the response count. Subscription acknowledgements and other control messages establish the stream but do not add candle responses.

Endpoint

Text
wss://api-hyperliquid-index.n.dwellir.com/YOUR_API_KEY

If your client expects an explicit WebSocket path, this compatible form also works:

Text
wss://api-hyperliquid-index.n.dwellir.com/YOUR_API_KEY/ws

Subscribe Message

Send a subscribe message with subscription.type set to allCandles. Unlike the single-market stream, this subscription does not include market.

JSON
{
  "method": "subscribe",
  "subscription": {
    "type": "allCandles",
    "interval": "1m"
  }
}

Supported intervals are 1s, 1m, and 5m.

Subscription Parameters

ParameterTypeRequiredDescription
methodstringYesMust be "subscribe"
subscription.typestringYesMust be "allCandles"
subscription.intervalstringYesCandle interval. Supported values are "1s", "1m", and "5m"
JSON-RPC request
{
  "method": "subscribe",
  "subscription": {
    "type": "allCandles",
    "interval": "1m"
  }
}

Example Flow

Client sends:

JSON
{
  "method": "subscribe",
  "subscription": {
    "type": "allCandles",
    "interval": "1m"
  }
}

Server acknowledges:

JSON
{
  "type": "subscribed",
  "interval": "1m",
  "subscriptionType": "allCandles"
}

Then sends allCandles events. Each event contains a data array of candle objects:

JSON
{
  "type": "allCandles",
  "seq": 12,
  "cursor": "1775601060000",
  "data": [
    {
      "s": "BTC",
      "i": "1m",
      "t": 1775601060000,
      "T": 1775601119999,
      "o": "71564",
      "h": "71578",
      "l": "71563",
      "c": "71577",
      "v": "0.21291",
      "q": "15238.32632",
      "n": 57,
      "x": false
    },
    {
      "s": "ETH",
      "i": "1m",
      "t": 1775601060000,
      "T": 1775601119999,
      "o": "3864.2",
      "h": "3865.1",
      "l": "3863.9",
      "c": "3864.8",
      "v": "14.893",
      "q": "57555.8064",
      "n": 31,
      "x": false
    }
  ]
}

Response Field Reference

FieldDescription
seqPer-subscription sequence number. Starts at 1 for the first allCandles event and increases on every data message
cursorCandle open time encoded as a Unix millisecond timestamp string
dataArray of candle objects emitted for the batch
data.sHyperliquid market symbol, for example BTC, @142, or hyna:ETH
data.iCandle interval, one of 1s, 1m, 5m
data.tCandle open time in Unix milliseconds
data.TCandle close time in Unix milliseconds
data.oFirst trade price in the interval
data.hHighest trade price in the interval
data.lLowest trade price in the interval
data.cLast trade price in the interval
data.vTotal traded size in base units
data.qTotal traded notional in quote units
data.nNumber of contributing trades
data.xCandle finalization flag. false means the candle is still open and true means it is finalized

Behavior

  • subscription is keyed by interval
  • the stream emits arrays of changed candle snapshots across active markets
  • each frame contains only markets with a candle update in that batch
  • seq is per-subscription ordering and starts at 1 for the first allCandles event
  • cursor is the candle open time encoded as a Unix millisecond timestamp string
  • candle payloads use the same s i t T o h l c v q n x schema as REST, JSON-RPC, and the single-market WebSocket stream
  • x=false means the candle is still open, and x=true means it is finalized

Authentication

  • include your Dwellir API key in the WebSocket path: wss://api-hyperliquid-index.n.dwellir.com/YOUR_API_KEY
  • wss://api-hyperliquid-index.n.dwellir.com/YOUR_API_KEY/ws is also accepted for clients that expect an explicit WebSocket path
  • both forms connect to the same live allCandles stream

When to Use allCandles

  • full-market dashboards
  • alerting systems that scan every active market
  • analytics pipelines that need one interval-wide stream instead of one WebSocket subscription per market

candle ranges

Retrieve paginated historical Hyperliquid OHLCV candle ranges for one market over REST or JSON-RPC, billed by returned candle rows.

Full-History Exports

Download the complete Hyperliquid OHLCV archive as CSV or Parquet files directly from the Dwellir dashboard, one market and interval at a time.

On this page

BillingEndpointSubscribe MessageSubscription ParametersExample FlowResponse Field ReferenceBehaviorAuthenticationWhen to Use allCandles