> ## Documentation Index
> Fetch the complete documentation index at: https://goldrush.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# vaultDetails | Hyperliquid Info API

> Hyperliquid vaultDetails: fetch detailed information for a specific vault.

<CardGroup cols={2}>
  <Card title="Credit Cost"> 1 per call</Card>
  <Card title="Processing"> Realtime</Card>
</CardGroup>

The Hyperliquid info endpoint with `type: "vaultDetails"` is used to fetch detailed information for a specific vault.

<Tip>
  Estimate your monthly cost for this API using the [Pricing Calculator](/docs/pricing-calculator?endpoint=%2Fapi-reference%2Fhyperliquid-info%2Fvault-details).
</Tip>

<Info>
  * Wire-equal to `POST api.hyperliquid.xyz/info` with `{"type": "vaultDetails", "vaultAddress": "..."}`.
  * `vaultAddress` is required; the optional `user` field populates `followerState` with that wallet's position in the vault.
  * `portfolio` is an array of `[period, series]` pairs bucketed by `day`, `week`, `month`, `allTime`, and their `perp*` 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 <a href="https://goldrush.dev/docs/api-reference/hyperliquid-info/vault-summaries" target="_blank" rel="noopener noreferrer">vaultSummaries</a>.
</Info>

Returns the full detail for a single vault: identity (name, address, leader, description), time-bucketed performance history (`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

<ParamField body="type" type="string" required default="vaultDetails">
  Always `"vaultDetails"`.
</ParamField>

<ParamField body="vaultAddress" type="string" required>
  The vault contract address (lowercase 0x-prefixed hex).
</ParamField>

<ParamField body="user" type="string">
  Optional wallet address (lowercase 0x-prefixed hex). When supplied, `followerState` is populated with that wallet's position in the vault.
</ParamField>

### Example

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://hypercore.goldrushdata.com/info \
    -H "Authorization: Bearer $GOLDRUSH_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "type": "vaultDetails",
      "vaultAddress": "0xdfc24b077bc1425ad1dea75bcb6f8158e10df303"
    }'
  ```

  ```typescript TypeScript theme={null}
  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();
  ```

  ```python Python theme={null}
  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()
  ```
</CodeGroup>

## Response

A single object describing the vault.

```json theme={null}
{
  "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

<Note>
  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**.
</Note>

<ResponseField name="name" type="string">Vault name.</ResponseField>

<ResponseField name="vaultAddress" type="string">Vault contract address (0x-prefixed hex).</ResponseField>

<ResponseField name="leader" type="string">Vault leader (manager) address.</ResponseField>

<ResponseField name="description" type="string">Free-text description of the vault's strategy.</ResponseField>

<ResponseField name="portfolio" type="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.

  <Expandable title="series properties">
    <ResponseField name="accountValueHistory" type="array<[int, string]>">`[timestampMs, accountValue]` samples. Account value is a decimal string.</ResponseField>
    <ResponseField name="pnlHistory" type="array<[int, string]>">`[timestampMs, pnl]` samples. PnL is a decimal string.</ResponseField>
    <ResponseField name="vlm" type="string">Traded volume over the period, as a decimal string.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="apr" type="number">Annualized return as a raw fraction (e.g. `0.3639` = 36.39%).</ResponseField>

<ResponseField name="followerState" type="object | null">The requesting `user`'s follower state in this vault when the optional `user` field is supplied; `null` otherwise.</ResponseField>

<ResponseField name="leaderFraction" type="number">Fraction of the vault's equity held by the leader.</ResponseField>

<ResponseField name="leaderCommission" type="number">Leader's commission rate (fraction of follower profits).</ResponseField>

<ResponseField name="followers" type="array<object>">
  Per-follower positions in the vault.

  <Expandable title="properties">
    <ResponseField name="user" type="string">Follower wallet address (0x-prefixed hex).</ResponseField>
    <ResponseField name="vaultEquity" type="string">Follower's current equity in the vault, in USD (decimal string).</ResponseField>
    <ResponseField name="pnl" type="string">Follower's current-period PnL (decimal string).</ResponseField>
    <ResponseField name="allTimePnl" type="string">Follower's all-time PnL in the vault (decimal string).</ResponseField>
    <ResponseField name="daysFollowing" type="int">Number of days the follower has been in the vault.</ResponseField>
    <ResponseField name="vaultEntryTime" type="int">Unix timestamp (ms) at which the follower entered the vault.</ResponseField>
    <ResponseField name="lockupUntil" type="int">Unix timestamp (ms) until which the follower's equity is locked.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="maxDistributable" type="number">Maximum amount currently distributable from the vault, in USD.</ResponseField>

<ResponseField name="maxWithdrawable" type="number">Maximum amount the leader can currently withdraw, in USD.</ResponseField>

<ResponseField name="isClosed" type="boolean">Whether the vault is closed.</ResponseField>

<ResponseField name="relationship" type="object">
  Relationship metadata for the vault.

  <Expandable title="properties">
    <ResponseField name="type" type="string">Relationship type - `"normal"` for a standalone vault, or `"parent"` / `"child"` for linked vaults.</ResponseField>
    <ResponseField name="data" type="object">Present for parent/child relationships. For a `parent`, contains `childAddresses` (an array of child vault addresses); for a `child`, identifies the parent vault.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="allowDeposits" type="boolean">Whether the vault currently accepts new deposits.</ResponseField>

<ResponseField name="alwaysCloseOnWithdraw" type="boolean">Whether a withdrawal always fully closes the follower's position.</ResponseField>

*Last reviewed: 2026-07-24*
