Overzicht
Hyperliquid provides several data streams that contain different types of blockchain and exchange events. These streams are available through both gRPC Streaming API and JSON-RPC/WebSocket APIs, allowing you to access real-time and historical data.
Available Data Streams
| Stroomtype | Beschrijving | API Availability | Belangrijkste gebruiksscenario |
|---|---|---|---|
| BEROEPEN | Alle uitgevoerde transacties met koers, omvang en richting | gRPC + JSON-RPC/WSS | Handelsanalyses, prijsvolging |
| BESTELLINGEN | Gebeurtenissen in de levenscyclus van een order (meer dan 18 statustypen, waaronder uitvoeringen en annuleringen) | gRPC + JSON-RPC/WSS | Orderbeheer, toezicht op de uitvoering |
| BOEK_UPDATES | Order book changes with bid/ask prices and quantities | gRPC + JSON-RPC/WSS | Analyse van de marktdiepte, monitoring van de liquiditeit |
| TWAP | Gegevens over TWAP-uitvoering en voortgang van het algoritme | gRPC + JSON-RPC/WSS | Algoritmische handel, analyse van de uitvoering |
| EVENEMENTEN | Balance changes, transfers, deposits, withdrawals, vault operations, funding payments, and priority gas auction fees | gRPC + JSON-RPC/WSS | Fund flow analysis, account monitoring |
| WRITER_ACTIONS | HyperCore ↔ HyperEVM asset transfers and bridge data | gRPC + JSON-RPC/WSS | Cross-environment asset tracking, DeFi analytics |
| BLOKKEN | Raw HyperCore blockchain data exposing replica_cmds (all transaction types), filterable by action type or user | gRPC only | Blockchain-analyse, gegevensarchivering |
| StreamL2Book | Aggregated price levels - total size and order count per price, full snapshot every block | gRPC only | Market depth, spread monitoring, analytics dashboards |
| StreamL4Book | Individual order granularity - every resting order with user, oid, size, triggers, timestamps | gRPC only | HFT, quant trading, MEV, microstructure analysis |
| StreamBboBook | Top-of-book best bid/ask, emitted only when the BBO changes | gRPC only | Live prices, spread monitoring, tickers |
| StreamL2BookDiff | Incremental L2 price-level changes with per-coin sequence numbers | gRPC only | Efficient local order book maintenance |
| StreamL4Boekupdates | Typed per-order add/update/remove diffs | gRPC only | Per-order book tracking, microstructure analysis |
| StreamTpslUpdates | Trigger (TP/SL) order add/remove updates with open-order snapshot | gRPC only | Trigger-order heatmaps, stop monitoring, alerting |
| MEMPOOL_TXS | Transacties in de mempool die nog moeten worden bevestigd door een blok | gRPC only | MEV-detectie, transactiemonitoring, analyse vóór bevestiging |
| ORDER_PRIORITY | Genormaliseerde gebeurtenissen met betrekking tot de volgorde van prioriteitsvergoedingen uit de mempool en bevestigde blokken | gRPC only | Monitoring van de orderstroom op basis van prioriteitsvergoedingen, vergoedingsanalyse |
| GOSSIP_PRIORITEIT | Genormaliseerde ‘gossip’-/‘read-priority’-biedingen uit de mempool en bevestigde blokbronnen | gRPC only | Toezicht op veilingen met prioriteit voor roddels, analyse met prioriteit voor lezen |
Stroomfiltering
All Hyperliquid data streams support powerful filtering capabilities to help you receive only the data you need. Without filtering, streaming can generate massive amounts of data. Filters allow you to focus on specific trading pairs, users, event types, and more.
Key Benefits:
- Reduced bandwidth - Receive only relevant data instead of processing everything
- Focused applications - Build targeted apps without overwhelming data streams
- Real-time efficiency - Process specific events faster for alerts and decision making
Example filters (WebSocket):
{
"streamType": "trades",
"filters": {
"coin": ["BTC", "ETH"], // Only BTC and ETH trades
"side": ["B"], // Only buy orders
"user": ["0x123..."] // Only specific user's trades
}
}
Volledige handleiding voor het filteren - Gedetailleerde documentatie met syntaxis, voorbeelden en veldreferenties voor alle streamtypen.
Stream Structure
All data streams follow a consistent structure:
{
"local_time": "2025-12-04T17:52:45.734593237",
"block_time": "2025-12-04T17:52:45.554315846",
"block_number": 817863403,
"events": [
// Array of events specific to the stream type
]
}
Common Fields
| Veld | Type | Beschrijving |
|---|---|---|
| local_time | tekenreeks | Local server timestamp in ISO 8601 format |
| block_time | tekenreeks | Blockchain block timestamp in ISO 8601 format |
| block_number | geheel getal | Sequential block number on Hyperliquid chain |
| events | array | Array of events specific to the stream type |
Data Stream Details
Each data stream has its own unique event structure and use cases:
- Stream Filtering - Complete guide to filtering all stream types with syntax and examples
- Trades - Executed trade data with maker/taker information
- Orders - Complete order lifecycle tracking with 18+ status types
- Book Updates - Real-time order book changes for market depth analysis
- TWAP - Time-weighted average price execution tracking
- Events - Balance changes, transfers, deposits, withdrawals, and vault operations
- Writer Actions - HyperCore ↔ HyperEVM asset transfers and bridge data
- Blocks - Raw blockchain data (gRPC only)
- StreamL2Book - Aggregated price-level depth, full snapshot every block (gRPC only)
- StreamL4Book - Individual order granularity with snapshot + diffs (gRPC only)
- StreamBboBook - Top-of-book best bid/ask, emitted only on change (gRPC only)
- StreamL2BookDiff - Incremental L2 price-level changes with sequence numbers (gRPC only)
- StreamL4BookUpdates - Typed per-order add/update/remove diffs (gRPC only)
- StreamTpslUpdates - Trigger (TP/SL) order add/remove updates (gRPC only)
- MEMPOOL_TXS - Pending mempool transactions before block confirmation (gRPC only)
- ORDER_PRIORITY - Normalized priority-fee order events from mempool and confirmed block sources (gRPC only)
- GOSSIP_PRIORITY - Normalized gossip/read-priority bid events from mempool and confirmed block sources (gRPC only)
Access Methods
gRPC-streaming-API
All streams are available via the gRPC Streaming API for high-performance, real-time data access:
// Subscribe to trades stream
subscribe: {
stream_type: 'TRADES',
filters: {
"coin": {"values": ["BTC", "ETH"]},
"user": {"values": ["0x123..."]}
}
}
JSON-RPC-API
Historical data access via JSON-RPC methods:
# Get latest blocks
curl -X POST https://your-endpoint.hype-mainnet.quiknode.pro/your-token/hypercore \
-d '{"method": "hl_getLatestBlocks", "params": {"stream": "trades", "count": 10}}'
# Get specific block
curl -X POST https://your-endpoint.hype-mainnet.quiknode.pro/your-token/hypercore \
-d '{"method": "hl_getBlock", "params": ["trades", 817863403]}'
WebSocket API
Real-time subscriptions via WebSocket:
// Subscribe to trades
ws.send(JSON.stringify({
"method": "hl_subscribe",
"params": {"streamType": "trades"}
}));
// Subscribe to orders
ws.send(JSON.stringify({
"method": "hl_subscribe",
"params": {"streamType": "orders"}
}));