Skip to main content
Portal is an HTTP API for Hyperliquid data. It streams every HyperCore perpetual futures fill, with trader address, asset, price, size, side, direction, signed fee and realized PnL on closing trades, and it streams HyperEVM blocks, transactions, logs and traces, over the same request format and with arbitrary block ranges in a single request. Portal serves historical and real-time trade data. It is not a trading API: you cannot place or cancel orders through it, it does not expose the live order book, and it is not an RPC endpoint for HyperEVM. Use it to read what has already executed.

Supported Networks

Want the full list of every dataset we support? See All Networks.

HyperCore and HyperEVM

Hyperliquid has two halves, and they are separate datasets with separate query types. HyperCore is the order book exchange. Fills come from the hyperliquid-fills dataset, queried with "type": "hyperliquidFills", documented at Hyperliquid fills. The raw command stream is hyperliquid-replica-cmds, queried with "type": "hyperliquidReplicaCmds", documented at Hyperliquid replica commands. HyperEVM is the EVM chain. It uses the standard "type": "evm" query format. Mainnet is chain ID 999 and carries traces and state diffs, documented at HyperEVM. Testnet is chain ID 998, documented at HyperEVM Testnet.
The page paths and the dataset IDs deliberately differ. The HyperEVM docs live under hyperevm-mainnet and hyperevm-testnet, but the IDs you put in the request URL are hyperliquid-mainnet and hyperliquid-testnet. The endpoint always takes the dataset ID:

Querying fills

Fill requests take exact-match list filters on user, coin, dir, cloid, feeToken and builder. Values inside one filter are ORed, and different filters in one request are ANDed. To select every fill in the range, pass one empty filter object: "fills": [{}]. An empty "fills": [] array matches nothing and returns blocks only. Fields are opt-in: a field appears in the response only if you list it under fields.fill. The available fill fields are fillIndex, user, coin, px, sz, side, time, startPosition, dir, closedPnl, hash, oid, crossed, fee, builderFee, tid, cloid, feeToken, builder and twapId. The hyperliquid-fills dataset starts at block 750,000,000. Requests with a fromBlock below that are rejected with HTTP 400 rather than returning an empty stream. For a runnable request and the full block and fill schema, see Hyperliquid fills. For field semantics, including how tid pairs the maker and taker sides of one execution and how to net closedPnl against signed fee and builderFee, see the HyperCore Fills reference.

Indexing HyperEVM

HyperEVM is queried like any other EVM network, so the EVM quickstart applies unchanged once you point it at hyperliquid-mainnet. For HyperCore fills, the Pipes SDK has a dedicated source: see the Hyperliquid quickstart and the fills query builder. If you are moving an existing HyperEVM indexer off https://v2.archive.subsquid.io/network/hyperliquid-mainnet, the replacement is https://portal.sqd.dev/datasets/hyperliquid-mainnet. See Portal migration.

Next Steps

Interactive Examples

Try live queries with our interactive examples

API Reference

Complete API reference with all fields and filters

OpenAPI Schema

Download the full OpenAPI specification
Enterprise Custom DevelopmentFor enterprise clients requiring custom indexer development, please contact our team to discuss your specific requirements. Schedule a Consultation →
Questions about the datasets? Ask in the SquidDevs Telegram chat.