Skip to main content
POST
/
info
metaAndAssetCtxs | Hyperliquid Info API
curl --request POST \
  --url https://hypercore.goldrushdata.com/info \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "type": "<string>",
  "dex": "<string>"
}
'
import requests

url = "https://hypercore.goldrushdata.com/info"

payload = {
"type": "<string>",
"dex": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({type: '<string>', dex: '<string>'})
};

fetch('https://hypercore.goldrushdata.com/info', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://hypercore.goldrushdata.com/info",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'type' => '<string>',
'dex' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

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

func main() {

url := "https://hypercore.goldrushdata.com/info"

payload := strings.NewReader("{\n \"type\": \"<string>\",\n \"dex\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

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

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

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://hypercore.goldrushdata.com/info")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"<string>\",\n \"dex\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://hypercore.goldrushdata.com/info")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"type\": \"<string>\",\n \"dex\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "universe": [
    {
      "name": "<string>",
      "szDecimals": 123,
      "maxLeverage": 123,
      "onlyIsolated": true
    }
  ],
  "funding": "<string>",
  "openInterest": "<string>",
  "prevDayPx": "<string>",
  "dayNtlVlm": "<string>",
  "premium": "<string>",
  "oraclePx": "<string>",
  "markPx": "<string>",
  "midPx": "<string>",
  "impactPxs": [
    "<string>"
  ],
  "dayBaseVlm": "<string>"
}

Credit Cost

1 per call

Processing

Realtime
The Hyperliquid info endpoint with type: "metaAndAssetCtxs" is used to fetch the full Hyperliquid perpetuals market universe with live per-asset trading context.
Estimate your monthly cost for this API using the Pricing Calculator.
  • Wire-equal to POST api.hyperliquid.xyz/info with {"type": "metaAndAssetCtxs"}.
  • For real-time mark-price updates, use the Streaming API OHLCV streams instead of polling.
Returns a tuple [meta, assetCtxs[]] covering the entire Hyperliquid perpetuals universe - every coin’s metadata plus a live snapshot of mark price, funding rate, open interest, and 24-hour volume. This is a global, non-user-keyed type. A single cache entry is shared across all callers and is refreshed continuously from upstream Hyperliquid.

Endpoint

POST https://hypercore.goldrushdata.com/info
Authorization: Bearer <GOLDRUSH_API_KEY>
Content-Type: application/json

Request

type
string
default:"metaAndAssetCtxs"
required
Always "metaAndAssetCtxs".
dex
string
HIP-3 builder DEX identifier. Empty string (default) returns the canonical Hyperliquid perp universe. Pass a builder code (e.g. "xyz") to query a HIP-3 deployer’s universe.

Example

curl -X POST https://hypercore.goldrushdata.com/info \
  -H "Authorization: Bearer $GOLDRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "metaAndAssetCtxs",
    "dex": ""
  }'
const response = await fetch("https://hypercore.goldrushdata.com/info", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.GOLDRUSH_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    type: "metaAndAssetCtxs",
    dex: "",
  }),
});

const [meta, assetCtxs] = await response.json();
import os, requests

response = requests.post(
    "https://hypercore.goldrushdata.com/info",
    headers={"Authorization": f"Bearer {os.environ['GOLDRUSH_API_KEY']}"},
    json={"type": "metaAndAssetCtxs", "dex": ""},
)

meta, asset_ctxs = response.json()

Response

A two-element JSON array. Element 0 is the universe metadata; element 1 is an array of per-asset contexts indexed identically to the universe array.
[
  {
    "universe": [
      { "name": "BTC", "szDecimals": 5, "maxLeverage": 50 },
      { "name": "ETH", "szDecimals": 4, "maxLeverage": 50 },
      { "name": "SOL", "szDecimals": 2, "maxLeverage": 20 }
    ]
  },
  [
    {
      "funding": "0.0000125",
      "openInterest": "12345.67",
      "prevDayPx": "67500.0",
      "dayNtlVlm": "894500000.0",
      "premium": "0.00001",
      "oraclePx": "68210.5",
      "markPx": "68215.0",
      "midPx": "68214.0",
      "impactPxs": ["68210.0", "68220.0"],
      "dayBaseVlm": "13130.45"
    },
    { "funding": "0.0000050", "openInterest": "9876.54", "...": "..." },
    { "funding": "0.0000200", "openInterest": "543210.98", "...": "..." }
  ]
]

Element 0: meta

universe
array<object>
Array of perp asset metadata, indexed identically to element 1’s assetCtxs.

Element 1: assetCtxs[]

Array of per-asset live context, indexed identically to universe.
funding
string
Current funding rate (decimal string).
openInterest
string
Open interest in base units.
prevDayPx
string
Mark price 24 hours ago.
dayNtlVlm
string
24-hour notional volume in USD.
premium
string
Mark vs oracle premium.
oraclePx
string
Current oracle price.
markPx
string
Current mark price.
midPx
string
Current orderbook mid price.
impactPxs
array<string>
Bid/ask impact prices [bidImpact, askImpact].
dayBaseVlm
string
24-hour volume in base units.

spotMetaAndAssetCtxs

fetch the spot universe metadata, token configuration, and live market data in a single call.

activeAssetData

fetch a user’s active trading limits, leverage setting, available size, and mark price for a single…

meta

fetch the perpetuals universe metadata without live market context.

outcomeMeta

enumerate all active HIP-4 binary outcome markets on HyperCore.
Last reviewed: 2026-06-13