Hyperliquid - Positions

Get Hyperliquid wallet position history

Hourly position rows of one wallet in [start, end), one row per open position per committed hour, each with snapshot_ts. The change log starts May 25, 2025 15:00 UTC, so as-of reads reach back to then; hourly history starts June 7, 2026 18:00 UTC; live snapshots refresh every 5 minutes. Billed at 1 credit per 1,000 rows returned, minimum 1 credit per request.

get/v1/hyperliquid/wallets/{address}/positions/history

Request

  • Base URL: https://api.0xarchive.io
  • URL: https://api.0xarchive.io/v1/hyperliquid/wallets/{address}/positions/history
  • Auth: API key in header X-API-Key

Path parameters

addressstring required
Example:0x31ca8395cf837de08b24da3f660e77761dfb974b

Wallet address: 0x followed by 40 hex characters (case-insensitive).

Query parameters

integer

Unix milliseconds.

OR
string date-time

RFC 3339 instant.

Example:1767225600000

Inclusive start. Defaults to 24 hours before end. Accepts Unix milliseconds or an RFC 3339 UTC string such as 2026-01-01T00:00:00Z.

integer

Unix milliseconds.

OR
string date-time

RFC 3339 instant.

Example:1767225600000

Exclusive end. Defaults to now. Accepts Unix milliseconds or an RFC 3339 UTC string such as 2026-01-01T00:00:00Z.

symbolstring

Only this perpetual (e.g. BTC).

limitinteger

Maximum rows per page (default 500, max 5000).

cursorstring

Opaque pagination cursor: pass meta.next_cursor from the previous page unchanged, with the same filters. Omit it for the first page. Keep every other parameter unchanged.

Response

Get Hyperliquid wallet position history

successboolean required

Example response

{
  "success": true,
  "data": [
    {
      "account_index": "281474976710654",
      "account_kind": "user",
      "symbol": "BTC",
      "coin": "BTC",
      "dex": "xyz",
      "size": "-0.5",
      "side": "short",
      "entry_price": "64210.5",
      "mark_price": "65020.1",
      "position_value": "32510.05",
      "unrealized_pnl": "-404.8",
      "return_on_equity": "-0.1245",
      "leverage": {
        "type": "cross",
        "value": "20"
      },
      "max_leverage": 40,
      "margin_used": "1625.5",
      "liquidation_price": "81250",
      "liquidation_price_status": "exact",
      "cum_funding": {
        "all_time": "-12.345678",
        "since_open": "-1.25",
        "since_change": "-0.5"
      },
      "quality": "complete",
      "initial_margin_fraction": "0.05",
      "allocated_margin": "1200.5",
      "margin_mode": "cross",
      "mark_source": "mark",
      "finalized": true
    }
  ],
  "meta": {
    "totals": {
      "symbol": "BTC",
      "coin": "BTC",
      "dex": "xyz",
      "long_count": 18234,
      "short_count": 15102,
      "long_size": "8123.45",
      "short_size": "8120.1",
      "long_value": "528000000.5",
      "short_value": "527800000.25",
      "long_avg_entry_price": "63120.4",
      "short_avg_entry_price": "66210.9",
      "long_positions_with_entry": 18230,
      "short_positions_with_entry": 15100,
      "long_top10_value_share": "0.412345",
      "short_top10_value_share": "0.385",
      "top10_value_share": "0.301",
      "quality": "complete"
    },
    "symbol": "BTC",
    "venue": "hyperliquid"
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.