Skip to main content
Candles are OHLCV bars at a chosen interval, served for Hyperliquid core, Spot, HIP-3, HIP-4, Lighter, and Lighter on Robinhood Chain. Unlike funding and open interest, candle values come back as numbers, not decimal strings.

Get candles

/v1/hyperliquid/candles/{symbol}. Plain perp symbols such as BTC.

Request parameters

Example response

Response fields

Candle values are numbers, not decimal strings.

How candles are built

A Hyperliquid, HIP-3, HIP-4, or Spot candle covers every trade that filled against the order book during its interval. open and close are the first and last of those trades, high and low the highest and lowest prices, volume and quote_volume their sums, and trade_count their number. A trade counts once, however many fills it produced. Liquidations are included. When an account is liquidated, Hyperliquid first closes the position with market orders sent to the order book, where they fill resting orders like any other trade. A resting order filled by a liquidation was filled at that price, so the candle shows it. Fills that did not trade against the order book are not counted. Each changes hands at a price that no resting order could take: Trades returns these fills with the direction shown, so candles aggregated from trades match these bars once those rows are left out.

Compared with Hyperliquid’s candles

Hyperliquid publishes its own candles through its info API, which serves the most recent 5,000 bars of each interval. Hyperliquid does not document how they are built; the comparison below is what its published bars show.
  • volume and trade_count match: both count every trade that filled against the order book, liquidations included, and leave the fills in the table above out.
  • open, high, low, and close differ only in bars that contain liquidations. Hyperliquid leaves liquidation prices out of those four fields, and when a bar’s first trade is a liquidation it opens the bar at the previous bar’s close. In those bars this API’s high and low show the prices at which the liquidation filled resting orders, which can lie beyond Hyperliquid’s.
  • Hyperliquid returns a bar for an interval with no trades; this API does not (see below).
Measured over every hourly bar of every Hyperliquid perpetual market from 2026-03-09 to 2026-10-03 (about 900,000 bars), volume and trade_count matched on every bar. 0.7% of bars differed in open, high, low, or close, all but 12 of them for this reason. HIP-3 markets over the same period (about 556,000 bars) matched on volume and trade_count on every bar, and 1.4% differed in open, high, low, or close, all but 11 of them for this reason. Spot pairs have no liquidations, and over the same period (about 241,000 bars) every Spot bar matched Hyperliquid’s on open, high, low, close, volume, and trade_count. Lighter and Lighter on Robinhood Chain candles count every trade, including liquidation and deleverage trades.

Intervals without trades

An interval without a trade has no bar, so a 1h series skips any hour in which nothing traded. Hyperliquid’s own candles return a bar with zero volume and zero trades, priced at the previous close. To build the same continuous series, carry the previous close forward into each missing interval.

Bar times and coverage

timestamp is the start of the interval in UTC. A bar holds the trades at or after its start and before the start of the next bar. A market listed later starts at its first trade. Before 2025-03-22, Hyperliquid did not publish a record of every trade; the only source is per-account fill history capped at 10,000 fills per account, which leaves most trades out, so earlier Hyperliquid perp bars are not served. A Hyperliquid perp request whose window ends before 2025-03-22 12:00 UTC returns 400 with range_before_coverage. For the other families, a window that ends before the first bar returns 200 with empty data plus meta.coverage_from and meta.notice.

Gaps and intervals

Pick the largest interval that still answers the question; finer candles return more rows and more requests. Inside coverage, a missing bar means nothing traded in that interval. Before a long historical pull, confirm the window on Data quality. volume is in the base asset and quote_volume is in USD, so use quote_volume when comparing activity across symbols that trade at very different prices. For positioning alongside price, pair candles with Open interest.

Access

Each venue’s start date, WebSocket channels, and page limit come from GET /v1/capabilities, followed by the SDK, CLI, and MCP names for the same data. The start date is the first served row on that venue; exact starts vary by market, so check /v1/symbols for a single symbol. Send 0xArchive-Version: 2026-10-01 for the current response contract; see API conventions.

Replay it over WebSocket

Candle channels are replay-only: candles (Hyperliquid core), hip3_candles, lighter_candles, and rh_lighter_candles support historical WebSocket replay but not live subscriptions. Current candles use REST; historical candle data is available through REST or WebSocket replay. For bulk file workflows, use the Trades export and aggregate to candles downstream. Spot and HIP-4 have no candle channel; HIP-4 candles are available through the REST route above as probability-history series.
This example window is from July 2026, so it needs a paid plan; Free replays reach the most recent 30 days. Connection and reconnect handling live in the WebSocket tab; see WebSocket channels for the family matrix.

Export in bulk

Candles have no standalone export schema. For file-based history, export Trades with the trades schema and aggregate to candles downstream, leaving out the fills listed in How candles are built, or keep candle pulls on REST. Export schema details are on Export schemas.

Next step

To keep a candle pull reproducible, continue to Prepare data for a reproducible backtest.
Last modified on October 6, 2026