vaultDetails | Hyperliquid Info API
curl --request POST \
--url https://hypercore.goldrushdata.com/info \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "<string>",
"vaultAddress": "<string>",
"user": "<string>"
}
'import requests
url = "https://hypercore.goldrushdata.com/info"
payload = {
"type": "<string>",
"vaultAddress": "<string>",
"user": "<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>', vaultAddress: '<string>', user: '<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>',
'vaultAddress' => '<string>',
'user' => '<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 \"vaultAddress\": \"<string>\",\n \"user\": \"<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 \"vaultAddress\": \"<string>\",\n \"user\": \"<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 \"vaultAddress\": \"<string>\",\n \"user\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"name": "<string>",
"vaultAddress": "<string>",
"leader": "<string>",
"description": "<string>",
"portfolio": [
{
"accountValueHistory": [
{}
],
"pnlHistory": [
{}
],
"vlm": "<string>"
}
],
"apr": 123,
"followerState": {},
"leaderFraction": 123,
"leaderCommission": 123,
"followers": [
{
"user": "<string>",
"vaultEquity": "<string>",
"pnl": "<string>",
"allTimePnl": "<string>",
"daysFollowing": 123,
"vaultEntryTime": 123,
"lockupUntil": 123
}
],
"maxDistributable": 123,
"maxWithdrawable": 123,
"isClosed": true,
"relationship": {
"type": "<string>",
"data": {}
},
"allowDeposits": true,
"alwaysCloseOnWithdraw": true
}Info API
vaultDetails | Hyperliquid Info API
Hyperliquid vaultDetails: fetch detailed information for a specific vault.
POST
/
info
vaultDetails | Hyperliquid Info API
curl --request POST \
--url https://hypercore.goldrushdata.com/info \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "<string>",
"vaultAddress": "<string>",
"user": "<string>"
}
'import requests
url = "https://hypercore.goldrushdata.com/info"
payload = {
"type": "<string>",
"vaultAddress": "<string>",
"user": "<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>', vaultAddress: '<string>', user: '<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>',
'vaultAddress' => '<string>',
'user' => '<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 \"vaultAddress\": \"<string>\",\n \"user\": \"<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 \"vaultAddress\": \"<string>\",\n \"user\": \"<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 \"vaultAddress\": \"<string>\",\n \"user\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"name": "<string>",
"vaultAddress": "<string>",
"leader": "<string>",
"description": "<string>",
"portfolio": [
{
"accountValueHistory": [
{}
],
"pnlHistory": [
{}
],
"vlm": "<string>"
}
],
"apr": 123,
"followerState": {},
"leaderFraction": 123,
"leaderCommission": 123,
"followers": [
{
"user": "<string>",
"vaultEquity": "<string>",
"pnl": "<string>",
"allTimePnl": "<string>",
"daysFollowing": 123,
"vaultEntryTime": 123,
"lockupUntil": 123
}
],
"maxDistributable": 123,
"maxWithdrawable": 123,
"isClosed": true,
"relationship": {
"type": "<string>",
"data": {}
},
"allowDeposits": true,
"alwaysCloseOnWithdraw": true
}Credit Cost
1 per call
Processing
Realtime
type: "vaultDetails" is used to fetch detailed information for a specific vault.
Estimate your monthly cost for this API using the Pricing Calculator.
- Wire-equal to
POST api.hyperliquid.xyz/infowith{"type": "vaultDetails", "vaultAddress": "..."}. vaultAddressis required; the optionaluserfield populatesfollowerStatewith that wallet’s position in the vault.portfoliois an array of[period, series]pairs bucketed byday,week,month,allTime, and theirperp*variants.- Aggregate stats (
apr,leaderFraction,leaderCommission,maxDistributable,maxWithdrawable) are JSON numbers, while position, equity, and history values are decimal strings. - For a lightweight list across all vaults, use vaultSummaries.
portfolio), headline stats (apr, distributable and withdrawable amounts), the follower roster, and the vault’s relationship to any parent or child vaults.
Pass the optional user field to have followerState reflect that wallet’s position in the vault.
Endpoint
POST https://hypercore.goldrushdata.com/info
Authorization: Bearer <GOLDRUSH_API_KEY>
Content-Type: application/json
Request
string
default:"vaultDetails"
required
Always
"vaultDetails".string
required
The vault contract address (lowercase 0x-prefixed hex).
string
Optional wallet address (lowercase 0x-prefixed hex). When supplied,
followerState is populated with that wallet’s position in the vault.Example
curl -X POST https://hypercore.goldrushdata.com/info \
-H "Authorization: Bearer $GOLDRUSH_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "vaultDetails",
"vaultAddress": "0xdfc24b077bc1425ad1dea75bcb6f8158e10df303"
}'
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: "vaultDetails",
vaultAddress: "0xdfc24b077bc1425ad1dea75bcb6f8158e10df303",
}),
});
const vault = 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": "vaultDetails",
"vaultAddress": "0xdfc24b077bc1425ad1dea75bcb6f8158e10df303",
},
)
vault = response.json()
Response
A single object describing the vault.{
"name": "Hyperliquidity Provider (HLP)",
"vaultAddress": "0xdfc24b077bc1425ad1dea75bcb6f8158e10df303",
"leader": "0x677d831aef5328190852e24f13c46cac05f984e7",
"description": "This community-owned vault provides liquidity to Hyperliquid through multiple market making strategies, performs liquidations, and accrues platform fees.",
"portfolio": [
[
"day",
{
"accountValueHistory": [[1784713601558, "248732255.46"]],
"pnlHistory": [[1784713601558, "0.0"]],
"vlm": "0.0"
}
],
["week", { "accountValueHistory": [], "pnlHistory": [], "vlm": "0.0" }],
["allTime", { "accountValueHistory": [], "pnlHistory": [], "vlm": "0.0" }]
],
"apr": 0.36387129259090006,
"followerState": null,
"leaderFraction": 0.0007904828725729887,
"leaderCommission": 0,
"followers": [
{
"user": "0x005844b2ffb2e122cf4244be7dbcb4f84924907c",
"vaultEquity": "714491.71026243",
"pnl": "3203.43026143",
"allTimePnl": "79843.74476743",
"daysFollowing": 388,
"vaultEntryTime": 1700926145201,
"lockupUntil": 1734824439201
}
],
"maxDistributable": 94856870.164485,
"maxWithdrawable": 742557.680863,
"isClosed": false,
"relationship": {
"type": "parent",
"data": {
"childAddresses": [
"0x010461c14e146ac35fe42271bdc1134ee31c703a",
"0x2e3d94f0562703b25c83308a05046ddaf9a8dd14"
]
}
},
"allowDeposits": true,
"alwaysCloseOnWithdraw": false
}
Field descriptions
Position, equity, and history values (
portfolio account-value/PnL samples, vlm, and follower vaultEquity/pnl/allTimePnl) are returned as decimal strings. The aggregate stats apr, leaderFraction, leaderCommission, maxDistributable, and maxWithdrawable are returned as JSON numbers.string
Vault name.
string
Vault contract address (0x-prefixed hex).
string
Vault leader (manager) address.
string
Free-text description of the vault’s strategy.
array<[string, object]>
Time-bucketed performance history. Each element is a
[period, series] pair, where period is one of day, week, month, allTime, perpDay, perpWeek, perpMonth, or perpAllTime, and series holds the account-value and PnL time series for that period.number
Annualized return as a raw fraction (e.g.
0.3639 = 36.39%).object | null
The requesting
user’s follower state in this vault when the optional user field is supplied; null otherwise.number
Fraction of the vault’s equity held by the leader.
number
Leader’s commission rate (fraction of follower profits).
array<object>
Per-follower positions in the vault.
Show properties
Show properties
string
Follower wallet address (0x-prefixed hex).
string
Follower’s current equity in the vault, in USD (decimal string).
string
Follower’s current-period PnL (decimal string).
string
Follower’s all-time PnL in the vault (decimal string).
int
Number of days the follower has been in the vault.
int
Unix timestamp (ms) at which the follower entered the vault.
int
Unix timestamp (ms) until which the follower’s equity is locked.
number
Maximum amount currently distributable from the vault, in USD.
number
Maximum amount the leader can currently withdraw, in USD.
boolean
Whether the vault is closed.
object
Relationship metadata for the vault.
boolean
Whether the vault currently accepts new deposits.
boolean
Whether a withdrawal always fully closes the follower’s position.
Related endpoints
vaultSummaries
list summary information for every vault on the platform.
userVaultEquities
fetch a user’s locked vault equity positions across all vaults they have deposited into.
leadingVaults
list the vaults a user leads.