Skip to main content
HyperCore Fills provides access to all trade execution data from Hyperliquid’s perpetual futures exchange.

Network Information

  • Dataset ID: hyperliquid-fills
  • Type: HyperCore
  • Status: Real-time
  • Base URL: https://portal.sqd.dev/datasets/hyperliquid-fills

Available Data

This dataset provides comprehensive fills data including:
  • Trade Fills: Complete execution data with price, size, side, and direction
  • Position Changes: Track position sizes and realized PnL on closing trades
  • Builder Routing: Monitor trades routed through specific builders with fee information
  • User Activity: Filter by user address to analyze trader behavior

Quick Start

Query fills for a specific asset:
curl --compressed -X POST "https://portal.sqd.dev/datasets/hyperliquid-fills/stream" \
  -H 'Content-Type: application/json' \
  -d '{
    "type": "hyperliquidFills",
    "fromBlock": 900000000,
    "toBlock": 900000100,
    "fields": {
      "block": {
        "number": true,
        "timestamp": true
      },
      "fill": {
        "user": true,
        "coin": true,
        "px": true,
        "sz": true,
        "side": true,
        "dir": true,
        "fee": true
      }
    },
    "fills": [{
      "coin": ["BTC"]
    }]
  }'

Fill Fields

Select fill columns under fields.fill. A field is only present in the response if you list it here. For example, coin is absent unless requested.
FieldMeaning
userTrader wallet address
coinAsset symbol (e.g. BTC, ETH)
sideA = ask (sell), B = bid (buy)
dirTrade direction: Open Long, Close Long, Open Short, Close Short
pxFill price (decimal string)
szFill size (decimal string)
feeSigned fee: positive = taker fee paid, negative = maker rebate received
closedPnlRealized PnL booked on closing fills (zero on opening fills)
crossedtrue = taker/aggressor side, false = resting maker side
tidTrade ID shared by the two sides of one execution
Pairing maker and taker. Each execution produces two fill rows that share the same tid at the same px/sz: one with crossed: true (taker) and one with crossed: false (maker). tid is the reliable key to pair them.Computing net realized PnL. closedPnl is gross of fees. Net realized PnL for a trader is sum(closedPnl) - sum(fee), and because fee is signed, maker rebates (negative fees) add to the total automatically. For builder-routed fills, also subtract sum(builderFee) (request it with the builderFee field), since it is an additional fee charged on top of fee.

Resources

OpenAPI Schema

Full request and response schema for the fills dataset

Examples

Interactive examples for common use cases