Client commands
Times (
start, end, timestamp) are Unix milliseconds; RFC 3339 strings are also accepted. all_tickers takes no symbol, and on mempool it is optional: leave it out to receive every pending transaction our Hyperliquid node receives.
interval_ms sets the maximum lighter_orderbook or rh_lighter_orderbook book rate, from 100 to 5000. Leave it out for one book per second. Any other channel rejects it.
interval sets the bar width for a candle replay: 1m, 5m, 15m, 30m, 1h, 4h, 1d, or 1w, with 1h when left out.
The replay below covers one hour in January 2026, so this exact message needs the full retained archive of Build or above. On Free, send a window from the most recent 30 days.
Server events
replay.pause, replay.resume, replay.seek, and replay.stop are commands the client sends. Underscore names such as replay_paused, replay_resumed, replay_snapshot, historical_data, and replay_completed are events the server sends.
Message envelope
Payload shapes differ by channel: order-book snapshots, trades, funding, and replay events carry different fields, and live Lighterdata payloads differ from Lighter replay historical_data rows (see Lighter channels). Keep the symbol, channel, venue family, timestamp, any request or correlation ID, and any gap state with what you store.
string
Event name, such as
data, l4_snapshot, replay_snapshot, historical_data, gap_detected, or error.string
The market-data channel the event belongs to. Replay control events can use replay-specific names.
string
Symbol or pair in the venue family’s format, as you subscribed to it.
number
Event time when the channel sends one. Store it in the same run manifest as the replay or live stream.
Validate commands before sending
Check each command before it leaves your client. A coin-specific command without a symbol, a replay without a symbol or start, and an unbounded replay window are client bugs.- Send either a single
channelor achannelslist, never both by accident. - Keep the symbol in its family’s format: a pair, a builder prefix, an outcome side, or a Lighter market.
- For a bounded replay, send explicit
startandend; includespeedfor standard timed replay or checkpoint metadata for core L4. - Log refused commands, authentication failures, close events, and request or correlation IDs.
- When
gap_detectedarrives, mark the output incomplete or rebuild it. - Wait for underscore event names; a dotted command name never comes back as an event.