# Get User Token Balance

{% hint style="info" %}
Retrieve token balance for a user. Can query by PLYR ID or primary wallet address.
{% endhint %}

**Endpoint:** `/user/balance/{identifier}/{tokenName?}`\
**Method:** GET

{% tabs %}
{% tab title="Request Parameters" %}

```typescript
{
    identifier: string;  // PLYR ID or primary wallet address
    tokenName?: string; // Optional token name filter
}
```

{% endtab %}

{% tab title="Success Response (200)" %}

```typescript
{
  balances: {
      [tokenName: string]: string // Map of token name to balance
    }
 }
```

{% endtab %}

{% tab title="Error Response (404)" %}

```typescript
{
  error: "User not found",
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
If no token name is provided, the endpoint returns balances for all tokens the user holds.
{% endhint %}

## Example Usage

```javascript
const timestamp = Date.now().toString();
// Can use either PLYR ID or wallet address
const identifier = 'player123'; // or '0x742d35Cc6634C0532925a3b844Bc454e4438f44e'
const tokenName = 'TOKEN1'; // Optional: specific token to query

// Since this is a GET request with no body, pass null as the body for HMAC
const hmac = generateHmacSignature(timestamp, null, secretKey);

// Build URL based on whether tokenName is provided
const url = `/user/balance/${identifier}/${tokenName}`;

const response = await axios.get(apiEndpoint + url, {
    headers: {
        apikey: apiKey,
        signature: hmac,
        timestamp: timestamp
    }
});

// Response will contain token balances
const { balances } = response.data;

// Process balances
Object.entries(balances).forEach(([tokenName, balance]) => {
    console.log(`Balance for ${tokenName}:`, balance);
    // Use balances in your application
});
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://dev.plyr.network/api-reference/assets/tokens-erc-20/get-user-token-balance.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
