curl --request GET \
--url https://api.0xarchive.io/v1/hyperliquid/hip4/instruments/{symbol} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.0xarchive.io/v1/hyperliquid/hip4/instruments/{symbol}"
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/instruments/{symbol}', 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/instruments/{symbol}"
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": {
"outcome_id": 0,
"side": 0,
"asset_id": 100000000,
"coin": "#0",
"symbol": "#0",
"name": "BTC ≥ 78213 by 2026-05-03 06:00 UTC — Yes",
"description": "class:priceBinary|underlying:BTC|expiry:20260503-0600|targetPrice:78213|period:1d",
"side_name": "Yes",
"recurring_class": "priceBinary",
"recurring_underlying": "BTC",
"recurring_expiry": "2026-05-03T06:00:00Z",
"recurring_target_px": 78213,
"recurring_period": "1d",
"builder_address": "0x0000000000000000000000000000000000000000",
"is_settled": false,
"settlement_value": 0,
"settlement_at": "2026-05-03T06:00:05.149Z",
"first_seen_at": "2026-05-02T07:47:00Z",
"last_updated_at": "2026-05-02T20:25:00Z",
"display_title": "BTC above 78,213 on May 3 at 06:00 UTC? — Yes",
"slug": "btc-above-78213-yes-may-03-0600"
},
"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": 404,
"error": "Resource not found"
}{
"code": 429,
"error": "Rate limit exceeded"
}Get HIP-4 instrument
0xArchive API reference for Get HIP-4 instrument. Includes authentication, parameters, response shape, examples, and route-safe implementation notes.
curl --request GET \
--url https://api.0xarchive.io/v1/hyperliquid/hip4/instruments/{symbol} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.0xarchive.io/v1/hyperliquid/hip4/instruments/{symbol}"
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/instruments/{symbol}', 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/instruments/{symbol}"
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": {
"outcome_id": 0,
"side": 0,
"asset_id": 100000000,
"coin": "#0",
"symbol": "#0",
"name": "BTC ≥ 78213 by 2026-05-03 06:00 UTC — Yes",
"description": "class:priceBinary|underlying:BTC|expiry:20260503-0600|targetPrice:78213|period:1d",
"side_name": "Yes",
"recurring_class": "priceBinary",
"recurring_underlying": "BTC",
"recurring_expiry": "2026-05-03T06:00:00Z",
"recurring_target_px": 78213,
"recurring_period": "1d",
"builder_address": "0x0000000000000000000000000000000000000000",
"is_settled": false,
"settlement_value": 0,
"settlement_at": "2026-05-03T06:00:05.149Z",
"first_seen_at": "2026-05-02T07:47:00Z",
"last_updated_at": "2026-05-02T20:25:00Z",
"display_title": "BTC above 78,213 on May 3 at 06:00 UTC? — Yes",
"slug": "btc-above-78213-yes-may-03-0600"
},
"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": 404,
"error": "Resource not found"
}{
"code": 429,
"error": "Rate limit exceeded"
}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"
Response
HIP-4 instrument detail
API response wrapping a single HIP-4 per-side instrument
true
HIP-4 per-side instrument metadata. One row per #N coin. Each outcome has two sides: side 0 (Yes) and side 1 (No). Public asset_id formula: 100_000_000 + 10*outcome_id + side. Coin format: #<10*outcome_id + side>.
Hide child attributes
Hide child attributes
Numeric outcome identifier
0
Side index: 0 = Yes, 1 = No
0, 1 0
Public asset ID. Formula: 100_000_000 + 10*outcome_id + side.
100000000
Coin identifier. Returned in #-prefixed form. REST paths accept either the bare numeric id (e.g. 0) or the #-prefixed form (e.g. #0). Format: 10*outcome_id + side.
"#0"
Same value as coin. Provided for consistency with other venues.
"#0"
Human-readable per-side market name
"BTC ≥ 78213 by 2026-05-03 06:00 UTC — Yes"
Pipe-delimited recurring-market metadata
"class:priceBinary|underlying:BTC|expiry:20260503-0600|targetPrice:78213|period:1d"
Human label for this side (typically Yes or No)
"Yes"
Recurring market class (e.g., priceBinary)
"priceBinary"
Underlying asset for recurring price-binary outcomes
"BTC"
Settlement timestamp (UTC)
"2026-05-03T06:00:00Z"
Target price for the binary outcome
78213
Cadence of the recurring market (e.g., 1d, 1h)
"1d"
Builder wallet address that deployed the outcome
"0x0000000000000000000000000000000000000000"
Whether the outcome has settled. Once settled, the market is no longer subscribed by the ingester but historical data remains queryable.
false
Settlement value once the outcome settles (0.0 or 1.0 for binary outcomes). Omitted while unsettled.
0
Settlement timestamp (UTC). Omitted while unsettled.
"2026-05-03T06:00:05.149Z"
Timestamp when the side was first ingested
"2026-05-02T07:47:00Z"
Timestamp when the side metadata was last updated
"2026-05-02T20:25:00Z"
Per-side human-readable title, deterministic from parsed metadata.
"BTC above 78,213 on May 3 at 06:00 UTC? — Yes"
Per-side URL slug mirroring Hyperliquid's pattern.
"btc-above-78213-yes-may-03-0600"
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?