Hyperliquid core · API on every plan

Every Hyperliquid trade — with the wallet behind it.

Real-time and recent-history data for Hyperliquid core — every trade, L3 order-book update, liquidation, funding payment and open position, each attributed to the address that made it. GraphQL queries, WebSocket subscriptions and Kafka streams.

Live now. API on every plan from $49/mo, streaming from $99/mo · rolling ~30-day history in the API · full archive in the Data Lake.

12 datasets
one cube, queries and subscriptions
L3
market-by-order book, trader on every order
1 wallet
attributed to every event

Representative events — values illustrative.

Hyperliquid's own API aggregates the book to L2 and anonymizes market-wide order flow. Bitquery gives you every order and every fill with the wallet behind it — L3, market-wide, modeled and ready to query. See the comparison →

Why it's different

Data no venue exposes — at any price.

See both sides of every trade.

Every fill carries the trader's address, and every resting order and cancel in the L3 book is attributed to its owner. That's the full order book, order by order, with identity — the basis for market-maker tracking and cancel-to-fill analysis. No centralized exchange exposes this at any price.

Trader.AddressExecution.SideBookUpdate.Oid

PnL and positions, computed by the chain.

Every fill arrives with realized PnL, the fee paid, the leverage in force and the trader's position size before the fill — straight from Hyperliquid's execution engine. Per-wallet PnL, win rates, and profitable-trader leaderboards are a GROUP BY, not a reconstruction project.

Position.RealizedPnlFees.FeePosition.SizeBefore

Every open position, as a state cube.

CurrentPositions holds every open perp position on the exchange right now — signed size, leverage, margin mode, accumulated funding and realized PnL — filterable by wallet or market. Hourly funding stamps each position again with the rate and the signed amount. Open interest by wallet is a query, not something you rebuild from fills.

CurrentPositionsPerpFundingsLeverage

What's in the cube

One cube, twelve datasets.

Every dataset is a GraphQL query and a WebSocket subscription on the same schema — change query to subscription and drop limit and orderBy. Subscribe to everything or just what you need.

Trades & order book

what the engine executed · 5 datasets
Trades

Every fill, both sides: price, size, direction, aggressor flag, fees and builder fee, leverage, size before, realized PnL, and the trader, vault and signer.

Docs →
Candles

OHLCV per market at any interval, from one second up.

Docs →
Orders

The full lifecycle: open, filled, canceled, rejected. Order type, TIF, trigger and reduce-only flags, with the trader on every order.

Docs →
BookUpdatesL3

Every individual order placed, resized or removed: kind, side, price, size before and after, order id, and the trader's address.

Docs →
Twaps

TWAP orders with state (activated, finished, terminated), executed size and notional, and the trader.

Docs →

Perp risk

liquidations, funding, positions, leverage · 4 datasets
PerpLiquidations

Exchange-wide liquidations with method (market or backstop), mark price, liquidator and liquidated user, execution and position details.

Docs →
PerpFundings

Per-trader funding transfers at every hourly tick: signed amount, the rate applied, and position size.

Docs →
CurrentPositionsstate

Every open perp position right now: signed size, leverage, cross or isolated, accumulated funding, realized PnL. Filter by wallet or market.

Docs →
TraderLeverageUpdates

Every leverage change or cross/isolated switch, per trader and market.

Docs →

Prices & consensus

what went into each block · 3 datasets
MarkPricesstate

Latest mark price per market with the block of last update, including HIP-3 tokenized stocks and indices.

Docs →
PriceUpdates

The feed behind the marks: spot inputs, external-perp prices, daily reference price, update class.

Docs →
SignedActions

The lowest level: every signed action submitted to the L1 with its status, accepted or the node's error. User, signer, nonce, vault and bundle hash. Rejected orders live here.

Docs →
Want the raw engine feed? The same data ships as Kafka streams in protobuf — hyperliquid.candles.proto and hyperliquidcore.messages.proto: fills, order statuses, raw book diffs, TWAP statuses, oracle updates, misc events (funding, ledger, staking), signed actions, and core-writer actions from HyperEVM contracts acting on the core book. Schema on GitHub →

What you can build

One cube, three audiences.

Trading apps & retail tools

  • Copy-trading feeds (the feed states trade direction directly)
  • Whale-alert bots and open-position trackers
  • Realized-PnL and win-rate leaderboards
  • Real-time liquidation alerts and cascade views
  • TWAP "whale is accumulating" watchers

Quant & institutional

  • L3 microstructure — with identity on every order
  • Cancel-to-fill ratios and order lifetimes per wallet
  • Execution quality vs. mark price
  • Funding-rate and basis models (external-perp price included)
  • Rejected-action signals — measure bot competition invisible in fills
  • Backtests on the 30-day API window, or the full archive from the Data Lake

Ecosystem & B2B intelligence

  • Builder-code market share — which frontends win order flow, and their revenue
  • HIP-3 market and deployer tracking — tokenized stocks and indices by namespace
  • Vault performance and flow analytics
  • Flow-of-funds: deposits, withdrawals, spot↔perp transfers
  • Staking, validator, and chain-health dashboards
  • Cross-chain: follow a wallet before and after its Hyperliquid positions
CoveragePerps·Spot·HIP-3 builder-deployed perpsTokenized stocks, indices and other synthetics trade alongside native perps — all of Hyperliquid core, every block.

How it works

GraphQL, WebSocket, Kafka — or the archive over S3.

Query it, subscribe to it, or take the raw feed. Every dataset shares one schema, so an order's placement, its life in the book, and its fills all line up by wallet and block. The protobuf schema is open source — decode it yourself, no vendor lock-in.

GraphQL API — queries over a rolling ~30-day windowall plans
WebSocket — the same schema, pushed livePro & Scale
Data Lake — complete archive over S3talk to sales
Open protobuf schema on GitHub
bitquery/streaming_protobuf · hyperliquid/ →
trades.subscription.graphqlFrom the docs
subscription {
  Hyperliquid {
    Trades {
      Block { Number Time }
      Trade {
        Market { Symbol Kind IsPerp }
        Execution { Price Size Side Direction IsAggressor Oid Tid }
        Fees { Fee FeeToken }
        IsTwap
        Position { Leverage IsCross Side RealizedPnl }
        Trader { Address }
      }
    }
  }
}
// Run it in the IDE → · swap subscription for query and add limit / orderBy for history.

Availability

Live now, with history.

01Available now

Real-time

Every dataset as a WebSocket subscription on the streaming API, or as Kafka streams for the lowest latency.

02Available now

Recent history

A rolling ~30-day window on every dataset for GraphQL queries: leaderboards, cancel-to-fill ratios, funding paid per wallet.

03Via the Data Lake

Full archive

The Blockchain Data Lake serves the complete Hyperliquid history — trades, orders, book updates, liquidations, funding, TWAPs, signed actions and candles — over S3.

Modeled correctly

So you don't have to.

Hyperliquid's raw feed has sharp edges. We've modeled all of it, and published the schema so you can verify every field.

  • The two sides of a trade are paired on the right key.
  • TWAP fills — which carry no transaction hash — are handled.
  • Prices keep full decimal precision.
  • Rejected actions are in SignedActions with the node's error status — never silently dropped.

FAQ

Questions, answered precisely.

HyperCore vs. HyperEVM — which is this?
Hyperliquid core (HyperCore), the L1 order-book exchange: perps, spot and HIP-3 markets. HyperEVM is a separate product; HyperEVM contracts acting on the core book show up as core-writer actions in the Kafka feed.
Is historical data available?
Yes. Every dataset serves a rolling ~30-day window for GraphQL queries. For deeper history — backtests, multi-year research, full archive exports — the Blockchain Data Lake serves the complete archive over S3.
How is this different from Hyperliquid's own API?
Hyperliquid's API aggregates the book to L2 and only shows wallet-level orders for your own account; its public archive holds L2 snapshots only, with no trades, candles or spot. Bitquery serves L3 market-by-order data with the trader on every order, every fill with fees, leverage and realized PnL, exchange-wide liquidations and funding, a 30-day history window, and the same schema across Solana, EVM, Tron and Bitcoin. Full comparison →
What markets are covered?
All of Hyperliquid core: native perps, spot, and HIP-3 builder-deployed perps — tokenized stocks, indices and other synthetic assets — identified by Market.Kind and the deployer namespace in Market.Protocol.
How is the data delivered?
GraphQL queries and WebSocket subscriptions on the streaming API — same schema, change query to subscription. Kafka streams in protobuf for the lowest latency, and S3 through the Data Lake for the archive. The protobuf schema is open on GitHub.
What does it cost?
Hyperliquid is included on every self-service plan, from $49/mo, with a 7-day free trial on paid plans. Kafka streams and Data Lake access are priced separately — talk to sales. See plans →
Do I need an API key?
Only outside the IDE. Sign up free, generate a token, and every example in the docs runs as-is in the Bitquery IDE. How to generate a token →
Can I decode it myself?
Yes — the protobuf schema is open on GitHub with generated Go and Python code. View the schema →

Start streaming Hyperliquid data.

Streams on Pro and Scale. Sign up, generate a token, and run the Trades subscription from the docs in the IDE — the same query works as a WebSocket stream in your own stack.

API on every plan from $49/mo, streaming from $99/mo
Rolling ~30-day history in the API, full archive in the Data Lake
Open protobuf schema — verify every field before you commit

Quick start

  1. 1Start the 7-day free trial — no card needed.
  2. 2Generate an API token — only needed outside the IDE.
  3. 3Subscribe — paste the Trades subscription from the docs and watch fills arrive with the wallet attached.

Kafka streams and Data Lake access are priced separately.