curl --request GET \
--url https://api.0xarchive.io/v1/hyperliquid/hip4/outcomes/by-slug/{slug} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.0xarchive.io/v1/hyperliquid/hip4/outcomes/by-slug/{slug}"
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/outcomes/by-slug/{slug}', 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/outcomes/by-slug/{slug}"
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_specs": [
{
"side": 0,
"name": "Yes",
"coin": "#0",
"asset_id": 100000000
}
],
"is_settled": false,
"name": "BTC ≥ 78213 by 2026-05-03 06:00 UTC",
"description_raw": "class:priceBinary|underlying:BTC|expiry:20260503-0600|targetPrice:78213|period:1d",
"class": "priceBinary",
"underlying": "BTC",
"expiry": "2026-05-03T06:00:00Z",
"target_price": 78213,
"period": "1d",
"status": "live",
"source_seen_at": "2026-05-02T20:25:00Z",
"aggregated_oi": {
"currency": "USDH",
"side0_open_interest_contracts": 568048,
"side1_open_interest_contracts": 568048,
"outcome_display_open_interest_contracts": 1136096,
"paired_set_supply_contracts": 568048,
"side_supply_parity": true,
"as_of": "2026-05-02T20:27:21Z",
"side0_as_of": "2026-05-02T20:27:21Z",
"side1_as_of": "2026-05-02T20:27:21Z"
}
},
"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 outcome by slug
0xArchive API reference for Get HIP-4 outcome by slug. Includes authentication, parameters, response shape, examples, and route-safe implementation notes.
curl --request GET \
--url https://api.0xarchive.io/v1/hyperliquid/hip4/outcomes/by-slug/{slug} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.0xarchive.io/v1/hyperliquid/hip4/outcomes/by-slug/{slug}"
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/outcomes/by-slug/{slug}', 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/outcomes/by-slug/{slug}"
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_specs": [
{
"side": 0,
"name": "Yes",
"coin": "#0",
"asset_id": 100000000
}
],
"is_settled": false,
"name": "BTC ≥ 78213 by 2026-05-03 06:00 UTC",
"description_raw": "class:priceBinary|underlying:BTC|expiry:20260503-0600|targetPrice:78213|period:1d",
"class": "priceBinary",
"underlying": "BTC",
"expiry": "2026-05-03T06:00:00Z",
"target_price": 78213,
"period": "1d",
"status": "live",
"source_seen_at": "2026-05-02T20:25:00Z",
"aggregated_oi": {
"currency": "USDH",
"side0_open_interest_contracts": 568048,
"side1_open_interest_contracts": 568048,
"outcome_display_open_interest_contracts": 1136096,
"paired_set_supply_contracts": 568048,
"side_supply_parity": true,
"as_of": "2026-05-02T20:27:21Z",
"side0_as_of": "2026-05-02T20:27:21Z",
"side1_as_of": "2026-05-02T20:27:21Z"
}
},
"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"
}Authorizations
API key for authentication. Get yours at https://0xarchive.io/dashboard
Path Parameters
HIP-4 outcome or side slug.
"btc-above-78213-may-04-0600"
Response
HIP-4 outcome aggregate
API response wrapping a single HIP-4 outcome aggregate (with aggregated_oi populated on the detail endpoint)
true
Per-outcome aggregate (both sides combined). Returned by /outcomes (list, without aggregated_oi) and /outcomes/{outcome_id} (detail, with aggregated_oi populated).
Hide child attributes
Hide child attributes
Numeric outcome identifier
0
Per-side specs. Typically two elements: side 0 (Yes) and side 1 (No).
Hide child attributes
Hide child attributes
Side index: 0 = Yes, 1 = No
0, 1 0
Human label for this side
"Yes"
Coin identifier for this side. Returned in #-prefixed form. REST paths accept either the bare numeric id (e.g. 0) or the #-prefixed form (e.g. #0).
"#0"
Public asset ID for this side
100000000
Whether the outcome has settled
false
Human-readable outcome name (without per-side suffix)
"BTC ≥ 78213 by 2026-05-03 06:00 UTC"
Pipe-delimited recurring-market metadata as emitted upstream
"class:priceBinary|underlying:BTC|expiry:20260503-0600|targetPrice:78213|period:1d"
Outcome 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"
Lifecycle status (live, settled, ...)
"live"
Last time the outcome was seen upstream
"2026-05-02T20:25:00Z"
Display/paired/parity OI aggregates. Populated ONLY on the /outcomes/{outcome_id} detail response. Omitted (or null) on the /outcomes list response.
Hide child attributes
Hide child attributes
Notional currency. Always USDH for HIP-4.
USDH "USDH"
Latest open-interest contracts for side 0 (Yes)
568048
Latest open-interest contracts for side 1 (No)
568048
Display total: sum of side0 + side1 OI contracts. Use this for outcome-level OI dashboards.
1136096
Paired-set supply: minimum of side0 and side1 OI contracts. Represents the count of fully collateralized Yes+No pairs in circulation.
568048
True when side0 OI equals side1 OI within tolerance. Parity should hold for binary outcomes; a sustained false value indicates ingestion drift.
true
Latest timestamp across both sides
"2026-05-02T20:27:21Z"
Timestamp of the side 0 OI sample
"2026-05-02T20:27:21Z"
Timestamp of the side 1 OI sample
"2026-05-02T20:27:21Z"
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?