> ## 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.

# extraAgents | Hyperliquid Info API

> Hyperliquid extraAgents: list a user's approved API-agent wallets.

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

The Hyperliquid info endpoint with `type: "extraAgents"` is used to list a user's approved API-agent wallets.

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

<Info>
  * Wire-equal to `POST api.hyperliquid.xyz/info` with `{"type": "extraAgents", "user": "..."}`.
  * Returns an empty array when the user has approved no agent wallets.
  * Each agent's `validUntil` is a millisecond timestamp after which the API wallet's approval expires.
</Info>

Returns the extra API-agent wallets (also called API wallets) that a master account has approved. Agent wallets can sign actions on behalf of the master without holding funds themselves; each entry carries the agent's name, address, and approval expiry.

User-keyed.

## Endpoint

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

## Request

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

<ParamField body="user" type="string" required>
  The wallet address (lowercase 0x-prefixed hex).
</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": "extraAgents",
      "user": "0x2ba553d9f990a3b66b03b2dc0d030dfc1c061036"
    }'
  ```

  ```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: "extraAgents",
      user: "0x2ba553d9f990a3b66b03b2dc0d030dfc1c061036",
    }),
  });

  const agents = 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": "extraAgents",
          "user": "0x2ba553d9f990a3b66b03b2dc0d030dfc1c061036",
      },
  )

  agents = response.json()
  ```
</CodeGroup>

## Response

An array of agent-wallet objects. Empty when the user has approved no agents.

```json theme={null}
[
  {
    "name": "Agent 1",
    "address": "0x77deafccbb9ddbc5da3e8f5d066624265bdb2a74",
    "validUntil": 1775216111330
  },
  {
    "name": "Agent 2",
    "address": "0xfff6471954ad1bbe70f18e2fea9928fd7aba31ad",
    "validUntil": 1782653334723
  }
]
```

### Field descriptions

<ResponseField name="name" type="string">Human-readable label assigned to the agent (API) wallet.</ResponseField>
<ResponseField name="address" type="string">The agent wallet address (0x-prefixed hex).</ResponseField>
<ResponseField name="validUntil" type="int">Millisecond timestamp after which the agent's approval expires.</ResponseField>

*Last reviewed: 2026-07-24*
