Hyperliquid perpetual exchange data endpoints, plus API documentation and monitoring.
    Read-only preview
    You're browsing the public OpenAPI spec. Sign in to send live requests with your team's API key.
    Sign in

    Quickstart

    Preview Hyperliquid fills through the market activity feed. Start with BTC fills, then swap in any supported coin, DEX, or user address from the endpoint catalog below.

    Website
    No API key on this team yet — sample shows <YOUR_JWT> placeholder.
    cURL
    1curl 'https://token-api.service.pinax.network/v1/hyperliquid/markets/activity?coin=BTC&limit=10&page=1' \
    2 -H 'Authorization: Bearer <YOUR_JWT>' \
    3 -H 'Accept: application/json'
    Hyperliquid Markets

    Market Open Interest

    PREVIEW

    Returns the historical open-interest and funding-rate time series for a coin at the requested interval. open_interest is the sum of absolute signed position sizes across all users at each funding snapshot.

    Each row also exposes the directional positioning split (long_size, short_size, net_position, plus long_positions and short_positions as user counts) and funding aggregates (funding_rate, total_funding, positive_funding, negative_funding) — useful for detecting crowded sides, funding pressure, and position flushes.

    GET
    https://token-api.service.pinax.network/v1/hyperliquid/markets/oi
    Requires bearer token — sign in to inject your team’s key.

    Required parameters

    NameTypeDescription
    coinrequired
    query
    stringHyperliquid coin identifier. Core perps have no prefix (BTC, HYPE); spot pairs use @N (@107); builder DEXs prefix the symbol with the DEX name (xyz:SILVER).
    e.g. BTC

    Optional parameters

    NameTypeDescription
    interval
    query
    Enum · 8The interval* for which to aggregate price data (1-minute, 5-minutes, 10-minutes, 30-minutes, hourly, 4-hours, daily or weekly).
    *Plan restricted.
    1m5m10m30m1h4h1d1w
    start_time
    query
    DatetimeUNIX timestamp in seconds or date string (e.g. "2025-01-01T00:00:00Z", "2025-01-01", ...).
    end_time
    query
    DatetimeUNIX timestamp in seconds or date string (e.g. "2025-01-01T00:00:00Z", "2025-01-01", ...).
    limit
    query
    integerNumber of items* returned in a single request.
    *Plan restricted.
    page
    query
    integerPage number to fetch.
    Empty data array signifies end of results.

    Response

    200 OK
    {
      "data": [
        {
          "timestamp": "2026-04-30 23:00:00",
          "coin": "BTC",
          "market_name": "BTC",
          "dex": "perps",
          "interval_min": 60,
          "open_interest": 27984.45,
          "net_position": 0,
          "long_size": 13992.23,
          "short_size": -13992.23,
          "long_positions": 16381,
          "short_positions": 14034,
          "funding_rate": -0.0000154515,
          "total_funding": -0.001199,
          "positive_funding": 16482.55,
          "negative_funding": -16482.55,
          "funding_events": 30415,
          "unique_users": 30415
        }
      ]
    }