POST /info responses for type: "candleSnapshot". The observations below are reported by a commenter on mainnet and are not an official Hyperliquid specification. If you need account access, you can Create a Hyperliquid account. This article includes a referral link; if you sign up through it, the author may earn a commission. New accounts receive a 4% fee discount on the first $25M of volume per account; Vaults and sub-accounts are excluded.
What the issue asks
The issue concerns HTTP POST /info with type: "candleSnapshot", using 15-minute candles for coin: "BTC" as the example. It asks three questions:
- What units and epoch do the response fields
tandTuse? - Can a response include a candle that is still forming, and is there a documented completion flag?
- Can a completed interval be revised later, and is there a revision indicator?
Reported timestamp interpretation
The community observation in issue #333 reports the following for mainnet responses:
tandTare Unix epoch milliseconds.tidentifies the interval open.Tidentifies the last millisecond of the interval, making it inclusive.- For a 15-minute candle, the reported relationship is
T = t + 899999. - For a 1-hour candle, the issue gives the example
t = 1793080800000andT = 1793084399999.
Reported response fields and completion signal
The same observation reports that the response fields are:
t, T, s, i, o, h, l, c, v, n
It also reports that prices and v are decimal strings, with v in the base asset.
Importantly, the reported response has no completion or revision field. In other words, the observed response does not include an explicit finality flag distinguishing a completed candle from an in-progress candle. The issue does not document a revision indicator either.
Like what you're reading? Try it yourself โ this link supports ChartedTrader at no cost to you.
Create a Hyperliquid account โReported response-window limit and empty 200 responses
The commenter reports that only the most recent 5,000 candles per coin and interval are served. At 15-minute intervals, that is about 52 days of data.
The reported behavior is:
- Older windows return
[]with HTTP 200. - A requested range that straddles the 5,000-candle cap returns only the newer part.
- To detect that case, compare the first returned
twith your requestedstartTime.
200 response may therefore indicate that the requested window is older than the served window, rather than an API error. This is a community-reported observation, not an official error-handling rule. For broader API error handling, see the Hyperliquid API Error Responses: Troubleshooting Guide (2026).
Practical checks for candleSnapshot consumers
Based only on the reported observations, a consumer can:
- Treat
tas the interval start andTas the inclusive final millisecond. - Use
T = t + 899999as the reported 15-minute interval relationship. - Check whether the first returned
tmatches the requestedstartTime. - Treat an empty
200response as a possible out-of-window result, not necessarily an error. - Avoid assuming that a returned candle is final unless a future official source documents a completion or revision signal.
Source and scope
The source is Hyperliquid Python SDK issue #333, opened on October 20, 2026, with a mainnet observation commented on November 5, 2026. The commenter explicitly labels the behavior as observed on mainnet, not an official spec.
Create a Hyperliquid account if you want to test these endpoints directly.
Continue with Hyperliquid
Browse the Hyperliquid guide hub for the complete user journey.