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

# Get a wallet's balance

> Read a wallet's live USDC balance directly from the chain it was issued on.

Returns a wallet's current USDC balance, read live from the chain rather than summed from deposits Minisend has recorded. The chain is always the source of truth, so this figure can never drift from what's actually there.

<Warning>
  This only reports the balance on the chain the wallet was **issued** on. Because an address is identical across every EVM chain, a wallet issued on Base can still receive funds on Polygon or another chain — those funds exist, but this endpoint won't show them. The [`wallet.deposit.received` webhook](/wallet-api/webhooks) and the deposit endpoints report the chain a transfer actually landed on; use those to know about activity on chains other than the one you issued.
</Warning>

## Endpoint

```text theme={null}
GET https://merchant.minisend.xyz/api/v1/wallets/{walletId}/balance
```

```text theme={null}
Authorization: Bearer wsk_live_your_key_here
```

## Example

```bash theme={null}
curl https://merchant.minisend.xyz/api/v1/wallets/3f6b2e1a-.../balance \
  -H "Authorization: Bearer wsk_live_your_key_here"
```

## Response (200)

```json theme={null}
{
  "wallet_id": "3f6b2e1a-...",
  "wallet_ref": "user-9214",
  "address": "0xabc1230000000000000000000000000000dead",
  "chain": "BASE",
  "token": "USDC",
  "amount": "10.500000"
}
```

<ResponseField name="chain" type="string" required>
  The chain this balance covers — always the wallet's issued chain.
</ResponseField>

<ResponseField name="amount" type="string" required>
  A string, not a number. Compare and store it as a decimal.
</ResponseField>

## Errors

| Status | Meaning                                          |
| ------ | ------------------------------------------------ |
| `401`  | Missing or invalid API key                       |
| `404`  | Unknown wallet, or it belongs to another account |
| `502`  | The balance couldn't be read right now. Retry    |
