curl --request GET \
--url https://api.0xarchive.io/v1/hyperliquid/hip3/oracle/external-price/{symbol} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.0xarchive.io/v1/hyperliquid/hip3/oracle/external-price/{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/hip3/oracle/external-price/{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/hip3/oracle/external-price/{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": {
"symbol": "km:US500",
"block_number": 1038634032,
"timestamp": 1781678086894,
"external_price": 752.24,
"mark_price": 752.1
},
"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-3 oracle external price
0xArchive API reference for Get HIP-3 oracle external price. Includes authentication, parameters, response shape, examples, and route-safe implementation notes.
curl --request GET \
--url https://api.0xarchive.io/v1/hyperliquid/hip3/oracle/external-price/{symbol} \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.0xarchive.io/v1/hyperliquid/hip3/oracle/external-price/{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/hip3/oracle/external-price/{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/hip3/oracle/external-price/{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": {
"symbol": "km:US500",
"block_number": 1038634032,
"timestamp": 1781678086894,
"external_price": 752.24,
"mark_price": 752.1
},
"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-3 symbol with builder prefix. Case-sensitive.
"km:US500"
Response
HIP-3 oracle external price
API response containing HIP-3 oracle external price data.
true
Latest deployer-pushed external and mark price for a HIP-3 market.
Hide child attributes
Hide child attributes
HIP-3 symbol.
"km:US500"
Source block number.
1038634032
Source timestamp in Unix milliseconds.
1781678086894
Externally derived reference price when available.
752.24
On-chain mark input.
752.1
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?