Ga naar de hoofdinhoud

Hyperliquid Data Streams

Bijgewerkt op
12 juli 2026

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

StroomtypeBeschrijvingAPI AvailabilityBelangrijkste gebruiksscenario
BEROEPENAlle uitgevoerde transacties met koers, omvang en richtinggRPC + JSON-RPC/WSSHandelsanalyses, prijsvolging
BESTELLINGENGebeurtenissen in de levenscyclus van een order (meer dan 18 statustypen, waaronder uitvoeringen en annuleringen)gRPC + JSON-RPC/WSSOrderbeheer, toezicht op de uitvoering
BOEK_UPDATESOrder book changes with bid/ask prices and quantitiesgRPC + JSON-RPC/WSSAnalyse van de marktdiepte, monitoring van de liquiditeit
TWAPGegevens over TWAP-uitvoering en voortgang van het algoritmegRPC + JSON-RPC/WSSAlgoritmische handel, analyse van de uitvoering
EVENEMENTENBalance changes, transfers, deposits, withdrawals, vault operations, funding payments, and priority gas auction feesgRPC + JSON-RPC/WSSFund flow analysis, account monitoring
WRITER_ACTIONSHyperCore ↔ HyperEVM asset transfers and bridge datagRPC + JSON-RPC/WSSCross-environment asset tracking, DeFi analytics
BLOKKENRaw HyperCore blockchain data exposing replica_cmds (all transaction types), filterable by action type or usergRPC onlyBlockchain-analyse, gegevensarchivering
StreamL2BookAggregated price levels - total size and order count per price, full snapshot every blockgRPC onlyMarket depth, spread monitoring, analytics dashboards
StreamL4BookIndividual order granularity - every resting order with user, oid, size, triggers, timestampsgRPC onlyHFT, quant trading, MEV, microstructure analysis
StreamBboBookTop-of-book best bid/ask, emitted only when the BBO changesgRPC onlyLive prices, spread monitoring, tickers
StreamL2BookDiffIncremental L2 price-level changes with per-coin sequence numbersgRPC onlyEfficient local order book maintenance
StreamL4BoekupdatesTyped per-order add/update/remove diffsgRPC onlyPer-order book tracking, microstructure analysis
StreamTpslUpdatesTrigger (TP/SL) order add/remove updates with open-order snapshotgRPC onlyTrigger-order heatmaps, stop monitoring, alerting
MEMPOOL_TXSTransacties in de mempool die nog moeten worden bevestigd door een blokgRPC onlyMEV-detectie, transactiemonitoring, analyse vóór bevestiging
ORDER_PRIORITYGenormaliseerde gebeurtenissen met betrekking tot de volgorde van prioriteitsvergoedingen uit de mempool en bevestigde blokkengRPC onlyMonitoring van de orderstroom op basis van prioriteitsvergoedingen, vergoedingsanalyse
GOSSIP_PRIORITEITGenormaliseerde ‘gossip’-/‘read-priority’-biedingen uit de mempool en bevestigde blokbronnengRPC onlyToezicht 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

VeldTypeBeschrijving
local_timetekenreeksLocal server timestamp in ISO 8601 format
block_timetekenreeksBlockchain block timestamp in ISO 8601 format
block_numbergeheel getalSequential block number on Hyperliquid chain
eventsarrayArray 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"}
}));

Veelgestelde vragen

Which plan should I use for streaming all datasets with gRPC or WSS?
For users planning to stream all Hypercore datasets using gRPC or WSS with no filtering, we recommend the Scale plan or higher to account for the expected throughput.

Data volume varies based on onchain activity, and streaming all datasets without filters can generate significant data transfer. The Scale plan provides sufficient API credits to handle this usage pattern.
How much data does each stream produce per hour?
Based on live testing, here are the estimated decompressed data rates per hour for each stream:

High-volume streams:
BLOCKS: ~9.14 GB/hour (152 MB/min)
ORDERS: ~4.11 GB/hour (68 MB/min)
BOOK_UPDATES: ~3.15 GB/hour (53 MB/min)

Medium-volume streams:
TRADES: ~130 MB/hour (2.16 MB/min)

Low-volume streams:
EVENTS: ~6.8 MB/hour (0.11 MB/min)
WRITER_ACTIONS: ~5.8 MB/hour (0.10 MB/min)
TWAP: ~5.3 MB/hour (0.09 MB/min)

Important: These are estimates based on a 10-minute testing period and extrapolated to hourly rates. Actual data volume will vary significantly based on network traffic. During periods of high market activity, trading volume, or increased onchain transactions, these rates can increase substantially. Plan your infrastructure and API credit usage accordingly.
Does Hyperliquid support data compression?
Yes! We support and encourage using zstd compression for gRPC streaming.

Key points:
• Compression significantly improves data transfer speeds
• Compression does not affect billing - you're billed on uncompressed data volume
• Example implementations available at hypercore-grpc-examples

Using compression is highly recommended for optimal performance, especially when streaming multiple datasets.
How many addresses can I filter?
Filter value limits depend on your plan tier - see the Streaming Limits table for the full breakdown including concurrent stream limits and per-field filter caps.

For larger address lists:
Use our KV Store + Streams product for handling extensive address filtering.
Does gRPC support historical data queries?
No, gRPC is a streaming-only service designed for real-time data. It does not support querying historical blocks.

For historical/backfill data, use JSON-RPC methods:
hl_getLatestBlocks - Fetch up to 200 recent blocks
hl_getBatchBlocks - Fetch up to 200 specific blocks by number

If your gRPC connection breaks:
You can use these JSON-RPC methods to query historical blocks in batches for backfilling, then resume your gRPC stream from the current block.
Where can I find gRPC streaming examples with compression?
We provide complete working examples for Hyperliquid gRPC streaming with zstd compression support in our official GitHub repository:

github.com/quiknode-labs/hypercore-grpc-examples

What's included:
• Ready-to-run code examples in multiple languages
• zstd compression implementation
• Stream filtering examples
• Complete setup instructions

Simply clone the repository, install dependencies, plug in your Quicknode endpoint, and run. These examples demonstrate best practices for optimal performance when streaming Hyperliquid data.
Deel dit document