Two consensus layers
hypernode merges two data sources into one stream. Every event is tagged with its consensus state:
Pre-consensus events are raw user-submitted actions intercepted from the gossip protocol before validators commit them. Confirmed events are the validator output after matching, filling, or rejecting.
Event structure
Fields
Event types
Confirmed events
These appear after the validator processes the action. Every order placed on HyperLiquid produces one of these:The
"order" type name covers new resting orders where data.status is "open". There is no separate order_open type on the wire. To identify new resting orders, filter for "order" and check data.status === "open".data.status: badAloPxRejected, perpMarginRejected, insufficientSpotBalanceRejected, iocCancelRejected, reduceOnlyCanceled, reduceOnlyRejected, minTradeNtlRejected, selfTradeCanceled.
Pre-consensus events (from gossip protocol)
These arrive before the validator commits them to a block:Confirmed order example
Fill example
Fill dir field values
The
side field is separate: B = bid (buy order), A = ask (sell order).
Liquidation fill example
Liquidation fills carry a populateddata.liquidation object in addition to the standard fill fields. Use the liquidations_only filter to subscribe to only these events.
tid and hash. Correlate them using these shared fields to see the full liquidation flow.
Liquidation object fields:
evmRawTx example (pre-block HyperEVM)
Every HyperEVM smart contract transaction appears as anevmRawTx event before it is included in a block. The data field is a hex string containing the full EIP-2718 envelope: a 1-byte tx type prefix followed by RLP-encoded transaction fields. There are no top-level decoded fields — you decode the hex to extract to, calldata, chainId, gas, etc.
The
user field on evmRawTx events is a gossip internal identifier, not the transaction sender. To get the real sender, you must recover it from the signature during decoding.Decoding data (Python)
The hex starts with the EIP-2718 tx type byte (0x02 for EIP-1559). Everything after that is RLP:
evmRawTx events have been EIP-1559 (tx type 0x02). chainId is always 999 (HyperEVM mainnet). Measured lead time vs HyperLiquid’s public RPC: 250ms to 3 seconds, averaging ~1 second.
See EVM RPC for pointer-back info on why the HL RPC cannot serve this data.
Pre-consensus cancel example
Prediction market events
Events for HIP-4 outcome tokens include aprediction object in the data:
#{10 * outcome_id + side_index}. See Prediction Markets for details.