curl --request GET \
--url https://api.0xarchive.io/v1/hyperliquid/hip4/orderbook/{symbol}/l4 \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.0xarchive.io/v1/hyperliquid/hip4/orderbook/{symbol}/l4"
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/hip4/orderbook/{symbol}/l4', 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/hip4/orderbook/{symbol}/l4"
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": {
"coin": "BTC",
"timestamp": "2026-03-12T00:00:00.000Z",
"checkpoint_timestamp": "2026-03-12T00:00:00.000Z",
"diffs_applied": 0,
"last_block_number": 1023882395,
"bids": [
{
"oid": 18499128731,
"user_address": "0x0000000000000000000000000000000000000000",
"side": "B",
"price": 105384.5,
"size": 0.824,
"timestamp": 1773273600123
}
],
"asks": [
{
"oid": 18499128731,
"user_address": "0x0000000000000000000000000000000000000000",
"side": "B",
"price": 105384.5,
"size": 0.824,
"timestamp": 1773273600123
}
],
"bid_count": 12,
"ask_count": 15,
"total_bid_size": 102.34,
"total_ask_size": 98.76,
"is_crossed": true
},
"meta": {
"count": 123,
"next_cursor": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"coverage_from": "2023-11-07T05:31:56Z",
"notice": "<string>"
}
}{
"code": 400,
"error": "Failed to deserialize query string: limit: invalid digit found in string",
"error_code": "invalid_query_params",
"request_id": "3f2a9c71-5b0e-4d68-9a4c-7e1d2b6f8a05"
}{
"code": 401,
"error": "Missing or invalid API key. Provide X-API-Key header."
}{
"code": 429,
"error": "Rate limit exceeded"
}Get HIP-4 L4 orderbook
0xArchive API reference for Get HIP-4 L4 orderbook. Includes authentication, parameters, response shape, examples, and route-safe implementation notes.
curl --request GET \
--url https://api.0xarchive.io/v1/hyperliquid/hip4/orderbook/{symbol}/l4 \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.0xarchive.io/v1/hyperliquid/hip4/orderbook/{symbol}/l4"
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/hip4/orderbook/{symbol}/l4', 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/hip4/orderbook/{symbol}/l4"
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": {
"coin": "BTC",
"timestamp": "2026-03-12T00:00:00.000Z",
"checkpoint_timestamp": "2026-03-12T00:00:00.000Z",
"diffs_applied": 0,
"last_block_number": 1023882395,
"bids": [
{
"oid": 18499128731,
"user_address": "0x0000000000000000000000000000000000000000",
"side": "B",
"price": 105384.5,
"size": 0.824,
"timestamp": 1773273600123
}
],
"asks": [
{
"oid": 18499128731,
"user_address": "0x0000000000000000000000000000000000000000",
"side": "B",
"price": 105384.5,
"size": 0.824,
"timestamp": 1773273600123
}
],
"bid_count": 12,
"ask_count": 15,
"total_bid_size": 102.34,
"total_ask_size": 98.76,
"is_crossed": true
},
"meta": {
"count": 123,
"next_cursor": "<string>",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"coverage_from": "2023-11-07T05:31:56Z",
"notice": "<string>"
}
}{
"code": 400,
"error": "Failed to deserialize query string: limit: invalid digit found in string",
"error_code": "invalid_query_params",
"request_id": "3f2a9c71-5b0e-4d68-9a4c-7e1d2b6f8a05"
}{
"code": 401,
"error": "Missing or invalid API key. Provide X-API-Key header."
}{
"code": 429,
"error": "Rate limit exceeded"
}X-API-Key with this request. See REST authentication.Shared request rules
Shared request rules
Machine schema
Machine schema
Authorizations
API key for authentication. Get yours at https://0xarchive.io/dashboard
Path Parameters
HIP-4 coin id (e.g., 0 for outcome 0 Yes side, 1 for No side). The #-prefixed form (#0, #1) is also accepted.
"0"
Query Parameters
Unix timestamp in milliseconds for the HIP-4 snapshot. If omitted, returns the latest snapshot. ISO 8601 strings are rejected.
1777680000000
Maximum number of resting orders retained per side for this HIP-4 L4 snapshot. Omit for the full stored depth.
20
Response
Typed L4 orderbook snapshot
true
Current or reconstructed Hyperliquid-family L4 orderbook snapshot.
Hide child attributes
Hide child attributes
Trading pair or market symbol.
"BTC"
Snapshot timestamp in UTC.
"2026-03-12T00:00:00.000Z"
Timestamp of the checkpoint used for this snapshot.
"2026-03-12T00:00:00.000Z"
Number of L4 diffs applied after the checkpoint.
0
Last Hyperliquid block represented by this snapshot.
1023882395
Bid-side resting orders, best price first.
Hide child attributes
Hide child attributes
Hyperliquid order identifier.
18499128731
Address attributed to the resting order.
"0x0000000000000000000000000000000000000000"
Book side: B for bid or A for ask.
B, A "B"
Venue-native resting order price.
105384.5
Venue-native remaining order size.
0.824
Queue-join timestamp in Unix epoch milliseconds; 0 when unknown.
1773273600123
Ask-side resting orders, best price first.
Hide child attributes
Hide child attributes
Hyperliquid order identifier.
18499128731
Address attributed to the resting order.
"0x0000000000000000000000000000000000000000"
Book side: B for bid or A for ask.
B, A "B"
Venue-native resting order price.
105384.5
Venue-native remaining order size.
0.824
Queue-join timestamp in Unix epoch milliseconds; 0 when unknown.
1773273600123
Number of bid orders in the full stored/reconstructed checkpoint before optional depth truncates returned bids/asks.
12
Number of ask orders in the full stored/reconstructed checkpoint before optional depth truncates returned bids/asks.
15
Aggregate venue-native bid size in the full stored/reconstructed checkpoint before optional depth truncates returned bids/asks.
102.34
Aggregate venue-native ask size in the full stored/reconstructed checkpoint before optional depth truncates returned bids/asks.
98.76
True only when a reconstructed historical book has best bid greater than or equal to best ask; omitted for clean snapshots.
true
Response metadata
Hide child attributes
Hide child attributes
Number of records returned
Cursor for pagination (timestamp). Use this value as the cursor parameter to fetch the next page of results.
Unique request ID for support
Earliest coverage for the requested symbol and data type. Present only when the requested window ends before coverage begins.
Human-readable advisory about the response. Currently used when the requested window ends before coverage begins for the symbol; may carry other advisories in future.
Was this page helpful?