Hyperliquid

class HyperliquidAllDexsAssetCtxs

Bases: object

Hyperliquid normalized aggregate snapshot from the allDexsAssetCtxs WebSocket channel.

This feed is live-only and intentionally JSON-backed; it is not coupled to Arrow persistence.

entries
classmethod from_json(data)

Class method for JSON deserialization. Used by register_custom_data_class.

to_json()

Serializes to JSON string. Used by CustomData.to_json_bytes and PythonCustomDataWrapper.

ts_event
ts_init
class HyperliquidAllMids

Bases: object

Hyperliquid all mid prices snapshot from the allMids WebSocket channel.

classmethod decode_record_batch_py(metadata, py_batch)

Decodes a RecordBatch from a PyArrow batch into a list of instances. Class method: call via MarketTickData.decode_record_batch_py(metadata, batch).

encode_record_batch_py(items)

Encodes a batch of items to an Arrow RecordBatch. Returns a PyArrow RecordBatch using zero-copy C Data interface.

classmethod from_json(data)

Class method for JSON deserialization. Used by register_custom_data_class.

mids
to_json()

Serializes to JSON string. Used by CustomData.to_json_bytes and PythonCustomDataWrapper.

ts_event
ts_init
class HyperliquidDataClientConfig

Bases: object

Configuration for the Hyperliquid data client.

The stale_stream_* options control the stream health monitor. With recovery enabled, a stale stream is warned about first, targeted-resubscribed once per recovery cooldown (preserving its original l2Book options), and escalated to a full WebSocket reconnect after stale_stream_max_targeted_resubscribes failed attempts; fresh data resets the ladder. See the Hyperliquid integration guide (“Stream health and recovery”) for details.

base_url_http
base_url_ws
environment
has_proxy_url
http_timeout_secs
stale_stream_max_targeted_resubscribes
stale_stream_receive_timeout_secs
stale_stream_recovery_cooldown_secs
stale_stream_recovery_enabled
stale_stream_warning_cooldown_secs
stream_health_check_interval_secs
transport_backend
update_instruments_interval_mins
ws_timeout_secs
class HyperliquidDataClientFactory

Bases: object

Factory for creating Hyperliquid data clients.

name()
class HyperliquidEnvironment

Bases: object

Hyperliquid API environment.

MAINNET = HyperliquidEnvironment.MAINNET
TESTNET = HyperliquidEnvironment.TESTNET
classmethod from_str(data)
name
value
classmethod variants()
class HyperliquidExecClientConfig

Bases: object

Configuration for the Hyperliquid execution client.

account_address
base_url_exchange
base_url_http
base_url_ws
environment
has_proxy_url
http_timeout_secs
include_builder_attribution
market_order_slippage_bps
max_retries
normalize_prices
retry_delay_initial_ms
retry_delay_max_ms
transport_backend
vault_address
ws_post_timeout_secs
class HyperliquidExecFactoryConfig

Bases: object

Configuration for creating Hyperliquid execution clients via factory.

This wraps [HyperliquidExecClientConfig] with the additional trader and account identifiers required by the [ExecutionClientCore].

account_id
config
trader_id
class HyperliquidExecutionClientFactory

Bases: object

Factory for creating Hyperliquid execution clients.

name()
class HyperliquidOpenInterest

Bases: object

Hyperliquid open interest update from the activeAssetCtx WebSocket channel.

Hyperliquid does not provide a native event timestamp on this payload, so ts_event mirrors ts_init like the peer asset-context update types.

classmethod decode_record_batch_py(metadata, py_batch)

Decodes a RecordBatch from a PyArrow batch into a list of instances. Class method: call via MarketTickData.decode_record_batch_py(metadata, batch).

encode_record_batch_py(items)

Encodes a batch of items to an Arrow RecordBatch. Returns a PyArrow RecordBatch using zero-copy C Data interface.

classmethod from_json(data)

Class method for JSON deserialization. Used by register_custom_data_class.

instrument_id
open_interest
to_json()

Serializes to JSON string. Used by CustomData.to_json_bytes and PythonCustomDataWrapper.

ts_event
ts_init
class HyperliquidProductType

Bases: object

Hyperliquid product type.

OUTCOME = <HyperliquidProductType.OUTCOME: 'OUTCOME'>
PERP = <HyperliquidProductType.PERP: 'PERP'>
SPOT = <HyperliquidProductType.SPOT: 'SPOT'>
classmethod from_str(data)
name
value
static variants()
class HyperliquidPublicTrade

Bases: object

A complete public Hyperliquid trade, including the venue-provided counterparties.

This is opt-in adapter-specific data. It deliberately does not extend the generic [TradeTick](nautilus_model::data::TradeTick), and is self-contained so one catalog stream can be recorded and replayed without joining sidecar data.

aggressor_side
buyer
classmethod decode_record_batch_py(metadata, py_batch)

Decodes a RecordBatch from a PyArrow batch into a list of instances. Class method: call via MarketTickData.decode_record_batch_py(metadata, batch).

encode_record_batch_py(items)

Encodes a batch of items to an Arrow RecordBatch. Returns a PyArrow RecordBatch using zero-copy C Data interface.

classmethod from_json(data)

Class method for JSON deserialization. Used by register_custom_data_class.

hash
instrument_id
price
seller
size
static to_arrow_record_batch_bytes(data)

Encodes public Hyperliquid trades into Arrow IPC bytes for streaming persistence.

# Errors

Returns an error if no data is provided or Arrow encoding fails.

to_json()

Serializes to JSON string. Used by CustomData.to_json_bytes and PythonCustomDataWrapper.

trade_id
ts_event
ts_init
class HyperliquidTwapHistory

Bases: object

One history row from the Hyperliquid userTwapHistory WebSocket channel.

Opt-in custom data (not part of default user execution subscriptions).

coin
classmethod decode_record_batch_py(metadata, py_batch)

Decodes a RecordBatch from a PyArrow batch into a list of instances. Class method: call via MarketTickData.decode_record_batch_py(metadata, batch).

encode_record_batch_py(items)

Encodes a batch of items to an Arrow RecordBatch. Returns a PyArrow RecordBatch using zero-copy C Data interface.

executed_notional
executed_size
classmethod from_json(data)

Class method for JSON deserialization. Used by register_custom_data_class.

instrument_id
is_snapshot
minutes
randomize
reduce_only
side
size
state_timestamp
status
status_description
to_json()

Serializes to JSON string. Used by CustomData.to_json_bytes and PythonCustomDataWrapper.

ts_event
ts_init
twap_id
user
class HyperliquidTwapSliceFill

Bases: object

One slice fill from the Hyperliquid userTwapSliceFills WebSocket channel.

Opt-in custom data (not part of default user execution subscriptions).

closed_pnl
coin
crossed
classmethod decode_record_batch_py(metadata, py_batch)

Decodes a RecordBatch from a PyArrow batch into a list of instances. Class method: call via MarketTickData.decode_record_batch_py(metadata, batch).

dir
encode_record_batch_py(items)

Encodes a batch of items to an Arrow RecordBatch. Returns a PyArrow RecordBatch using zero-copy C Data interface.

fee
fee_token
classmethod from_json(data)

Class method for JSON deserialization. Used by register_custom_data_class.

hash
instrument_id
is_snapshot
oid
price
side
size
tid
to_json()

Serializes to JSON string. Used by CustomData.to_json_bytes and PythonCustomDataWrapper.

ts_event
ts_init
twap_id
user