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

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

payload = {
"type": "<string>",
"user": "<string>",
"coin": "<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>', user: '<string>', coin: '<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>',
'user' => '<string>',
'coin' => '<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 \"user\": \"<string>\",\n \"coin\": \"<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 \"user\": \"<string>\",\n \"coin\": \"<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 \"user\": \"<string>\",\n \"coin\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "user": "<string>",
  "coin": "<string>",
  "leverage": {
    "type": "<string>",
    "value": 123
  },
  "maxTradeSzs": [
    "<string>"
  ],
  "availableToTrade": [
    "<string>"
  ],
  "markPx": "<string>"
}

Credit Cost

1 per call

Processing

Realtime
The Hyperliquid info endpoint with type: "activeAssetData" is used to fetch a user’s active trading limits, leverage setting, available size, and mark price for a single Hyperliquid perpetual asset.
Estimate your monthly cost for this API using the Pricing Calculator.
  • Wire-equal to POST api.hyperliquid.xyz/info with {"type": "activeAssetData", "user": "...", "coin": "ETH"}.
  • coin accepts the Hyperliquid asset identifier for the target perp market. For HIP-3 markets, pass the same dex-qualified coin string used by Hyperliquid for that asset.
  • maxTradeSzs and availableToTrade are returned as two directional decimal-string values. Preserve the upstream array order and use fixed-precision decimal handling.
  • For whole-account position and margin state, use clearinghouseState; this endpoint is scoped to one user and one active asset.
Returns per-user, per-asset trading state for one active perpetual market: the user’s leverage setting, directional max trade sizes, directional available-to-trade amounts, and the current mark price. User-keyed and coin-keyed. Use this when a trading UI needs to show how much size a wallet can open or close on a specific asset before placing an order. For full account margin and open positions, use clearinghouseState; for market metadata and asset context, use metaAndAssetCtxs.

Endpoint

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

Request

type
string
default:"activeAssetData"
required
Always "activeAssetData".
user
string
required
The wallet address (lowercase 0x-prefixed hex).
coin
string
required
The perp asset identifier, e.g. "ETH" or "APT". For HIP-3 markets, pass the same dex-qualified coin string used by Hyperliquid for that asset.

Example

curl -X POST https://hypercore.goldrushdata.com/info \
  -H "Authorization: Bearer $GOLDRUSH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "activeAssetData",
    "user": "0xb65822a30bbaaa68942d6f4c43d78704faeabbbb",
    "coin": "APT"
  }'
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: "activeAssetData",
    user: "0xb65822a30bbaaa68942d6f4c43d78704faeabbbb",
    coin: "APT",
  }),
});

const activeAsset = 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": "activeAssetData",
        "user": "0xb65822a30bbaaa68942d6f4c43d78704faeabbbb",
        "coin": "APT",
    },
)

active_asset = response.json()

Response

A single JSON object with the user’s active trading configuration and directional trading capacity for the requested asset.
{
  "user": "0xb65822a30bbaaa68942d6f4c43d78704faeabbbb",
  "coin": "APT",
  "leverage": {
    "type": "cross",
    "value": 3
  },
  "maxTradeSzs": ["24836370.4400000013", "24836370.4400000013"],
  "availableToTrade": ["37019438.0284740031", "37019438.0284740031"],
  "markPx": "4.4716"
}

Field descriptions

Prices, sizes, and available amounts are returned as decimal strings, preserving upstream precision. Do not parse them as floats - keep them as strings or use a fixed-precision decimal type.
user
string
Wallet address the active asset data was computed for.
coin
string
Hyperliquid asset identifier, such as "APT" or "ETH".
leverage
object
User’s configured leverage for this asset.
maxTradeSzs
array<string>
Directional maximum trade sizes for this wallet and asset, returned as decimal strings.
availableToTrade
array<string>
Directional available-to-trade amounts for this wallet and asset, returned as decimal strings.
markPx
string
Current mark price for the asset.

metaAndAssetCtxs

fetch the full Hyperliquid perpetuals market universe with live per-asset trading context.

spotMetaAndAssetCtxs

fetch the spot universe metadata, token configuration, and live market data in a single call.
Last reviewed: 2026-07-08