# Holdings on every chain

`GET https://api.getchord.xyz/v1/wallet/{wallet}/balances`

Source: https://getchord.xyz/docs/api-reference/operations/walletbalances/

What a wallet holds right now on Chord's six chains (Monad, Robinhood Chain, Arc, Avalanche, Base, BNB Chain), read on-chain: the native coin plus every token on Chord's list for each chain, priced by Chord's own maps. `raw` is the exact balance in the token's smallest unit (use it for a Max button); `amount` is the same number in whole tokens. Each chain answers on its own deadline: a slow or failing chain comes back `unavailable` with a reason and the others still answer. Only listed tokens are seen; a token outside Chord's lists will not show. Cached 15 s per wallet and chain set.

## Parameters

| Name | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `wallet` | path | yes | string |  |
| `chains` | query | no | string | Comma list of chain ids (143, 4663, 5042, 43114, 8453, 56). Default: all six; unknown ids are ignored. |

## Response 200

Example (captured from the live API):

```json
{
  "wallet": "0x0d36a315083033d3d097950c9e494acc04588f99",
  "chains": [
    {
      "chain": 8453,
      "name": "Base",
      "status": "ok",
      "totalUsd": 1221.38,
      "holdings": [
        {
          "symbol": "ETH",
          "name": null,
          "address": null,
          "native": true,
          "decimals": 18,
          "raw": "454663939527832318",
          "amount": "0.454663939527832318",
          "priceUsd": 2686.342436128022,
          "valueUsd": 1221.38,
          "logoURI": null,
          "stable": false
        },
        {
          "symbol": "WETH",
          "name": null,
          "address": "0x4200000000000000000000000000000000000006",
          "native": false,
          "decimals": 18,
          "raw": "148044",
          "amount": "0.000000000000148044",
          "priceUsd": 2686.342436128022,
          "valueUsd": 0,
          "logoURI": null,
          "stable": false
        }
      ]
    }
  ],
  "totalUsd": 1221.38,
  "updatedAt": 1791052461304
}
```

- **400**: Invalid parameters — `error` names the check that failed (`INVALID_PARAMS`, `BAD_ADDRESS`, `BAD_LIMIT`, `BAD_HOURS`, …).
