Skip to main content
GET
https://api.0xarchive.io
/
v1
/
hyperliquid
/
hip3
/
orderbook
/
{symbol}
/
l2
/
history
Get HIP-3 full-depth L2 order book history
curl --request GET \
  --url https://api.0xarchive.io/v1/hyperliquid/hip3/orderbook/{symbol}/l2/history \
  --header 'X-API-Key: <api-key>'
import requests

url = "https://api.0xarchive.io/v1/hyperliquid/hip3/orderbook/{symbol}/l2/history"

headers = {"X-API-Key": "<api-key>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};

fetch('https://api.0xarchive.io/v1/hyperliquid/hip3/orderbook/{symbol}/l2/history', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.0xarchive.io/v1/hyperliquid/hip3/orderbook/{symbol}/l2/history"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("X-API-Key", "<api-key>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}
{
  "success": true,
  "data": [
    {
      "symbol": "BTC",
      "coin": "BTC",
      "timestamp": "2025-01-21T10:30:45.123Z",
      "bids": [
        {
          "px": "42150.00",
          "sz": "1.5",
          "n": 15
        }
      ],
      "asks": [
        {
          "px": "42150.00",
          "sz": "1.5",
          "n": 15
        }
      ],
      "mid_price": "42150.50",
      "spread": "1.00",
      "spread_bps": "2.37",
      "bid_levels": 9842,
      "ask_levels": 10318,
      "total_bid_size": 10234.56,
      "total_ask_size": 9876.54
    }
  ],
  "meta": {
    "count": 123,
    "next_cursor": "<string>",
    "request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  }
}
{
  "code": 400,
  "error": "Invalid request parameters"
}
{
  "code": 401,
  "error": "Missing or invalid API key. Provide X-API-Key header."
}
{
  "code": 404,
  "error": "Resource not found"
}
{
  "code": 429,
  "error": "Rate limit exceeded"
}

Authorizations

X-API-Key
string
header
required

API key for authentication. Get yours at https://0xarchive.io/dashboard

Path Parameters

symbol
string
required

HIP-3 symbol (case-sensitive, e.g., hyna:BTC, km:US500)

Example:

"km:US500"

Query Parameters

start
integer<int64>

Start timestamp in Unix milliseconds. Defaults to 24h ago.

Example:

1767225600000

end
integer<int64>

End timestamp in Unix milliseconds. Defaults to now.

Example:

1767229200000

cursor
integer<int64>

Cursor for pagination (timestamp from previous response's next_cursor)

limit
integer
default:100

Maximum number of checkpoint snapshots (default: 100, max: 1000)

Required range: x <= 1000

Response

Full-depth L2 checkpoint snapshots

success
boolean
Example:

true

data
object[]
meta
object

Response metadata

Last modified on July 7, 2026