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

# userAgents: List All Authorized API Wallet Agent Slots

> List all agent wallets authorized to sign actions on behalf of a master account, including their addresses, names, expiry timestamps, and slot types.

The `userAgents` query returns all agent (API wallet) slots registered for a master account. Agents are sub-wallets that can sign and submit actions on behalf of your master account without exposing your master key. Each agent has an address, an optional label, an expiry time, and a slot type (named or anonymous). This endpoint returns both active and expired agents so you can audit your authorization state and free up quota by revoking or replacing expired entries.

<Note>
  Expired agents are still listed in the response. You can see them, revoke them, or replace them to free up agent quota for new authorizations.
</Note>

## Request

```json theme={"system"}
{"type": "userAgents", "accountId": "5"}
```

<ParamField body="type" type="string" required>
  Must be `"userAgents"`.
</ParamField>

<ParamField body="accountId" type="string" required>
  Your master account ID. Returns all agent slots associated with this account.
</ParamField>

## Response

```json theme={"system"}
{
  "type": "userAgents",
  "accountId": "5",
  "agents": [
    {
      "address": "0xabc...123",
      "name": "bot1",
      "validUntil": "0",
      "isNamed": true
    }
  ]
}
```

### Agent Fields

<ResponseField name="address" type="string">
  The wallet address of the agent. This is the address that signs actions submitted on behalf of your master account.
</ResponseField>

<ResponseField name="name" type="string">
  Human-readable label assigned to this agent. Returns an empty string for anonymous slots where no name was provided at registration.
</ResponseField>

<ResponseField name="validUntil" type="string">
  Expiry of this agent's authorization as a Unix millisecond timestamp string. `"0"` means the agent has no expiry and is permanently authorized until explicitly revoked.
</ResponseField>

<ResponseField name="isNamed" type="boolean">
  `true` if this agent occupies a named slot (counts against the named agent quota). `false` if this agent occupies an anonymous slot (counts against the anonymous agent quota). Named and anonymous agents draw from separate quota pools.
</ResponseField>
