# Lending token balances

Endpoint reference for the 1delta API. Index: https://docs.1delta.io/llms.txt · every endpoint: https://docs.1delta.io/llms-full.txt

---

### GET /v1/data/token/balances/lending

- operationId: `lending-token-balances`
- docs: https://docs.1delta.io/1delta-api/lending-token-balances/
- markdown: https://docs.1delta.io/1delta-api/lending-token-balances.md
- tags: Token

Lending token balances

Fetches token balances for all available lending assets on a chain for a given account. Combines the available-assets lookup with balance fetching in a single call.

**How it works:**
1. Fetches all available lending asset addresses from origin (optionally filtered by lender)
2. Fetches token balances for those assets via multicall
3. Enriches with token metadata, prices, and USD values

**Response Structure:**
- `items`: Array of non-zero balance entries (same format as `/token/balances`)
- `count`: Number of tokens with non-zero balance

**Balance Entry includes:**
- `address`: Token contract address (zeroAddress for native)
- `symbol`: Token symbol
- `name`: Token name
- `decimals`: Token decimals
- `balanceRaw`: Raw balance as string (wei/smallest unit)
- `balance`: Formatted balance as decimal string
- `priceUSD`: Per-unit USD price
- `balanceUSD`: Balance value in USD

**Note:** Zero-balance entries are excluded. The native token balance is included only if non-zero.

**Parameters**

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `chainId` | query | string | yes | Chain ID to fetch balances on See the `ChainId` schema for the full set of supported chains. |
| `account` | query | string | yes | EVM account address (0x-prefixed, 40 hex chars) |
| `lender` | query | string | no | Optional lender filter — only fetch assets available on this protocol See the `LenderId` schema for the full set of accepted values. |

**Response `200`** — Token balances for all lending assets with USD values

| Field | Type | Description |
| --- | --- | --- |
| `success` | true |  |
| `data` | object |  |
| `data.chainId` | string | EVM chain id, as a decimal string. See the `ChainId` schema. |
| `data.account` | string | Lowercase account address |
| `data.count` | integer | Number of balance entries |
| `data.items` | object[] | The result set for this response. |
| `data.items[].address` | string | Token contract address (zeroAddress for native) |
| `data.items[].symbol` | string | Token symbol, e.g. `WETH`. |
| `data.items[].name` | string | Human-readable display name. |
| `data.items[].decimals` | integer | Token decimals — divide raw amounts by `10 ** decimals`. |
| `data.items[].balanceRaw` | string | Raw balance in smallest unit (wei) |
| `data.items[].balance` | string | Formatted balance as decimal string |
| `data.items[].priceUSD` | number | Per-unit USD price of the token |
| `data.items[].balanceUSD` | number | Balance value in USD |
| `actions` | null |  |

**Example response**

```json
{
  "success": true,
  "data": {
    "chainId": "1",
    "account": "0xbada9c382165b31419f4cc0edf0fa84f80a3c8e5",
    "count": 1,
    "items": [
      {
        "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
        "symbol": "USDC",
        "name": "USD Coin",
        "decimals": 6,
        "balanceRaw": "1000000",
        "balance": "1.0",
        "priceUSD": 1,
        "balanceUSD": 1
      }
    ]
  }
}
```

**Response `400`** — Validation error

**Response `429`** — Rate limited. Unauthenticated callers share a per-IP budget; send an `x-api-key` header to lift it. Retry with exponential backoff.

**Response `500`** — Unexpected server error. Safe to retry with backoff.

**Response `502`** — An upstream data source or protocol origin failed (`error.code` is `ORIGIN_FAILED`). `error.details` carries the per-origin status. This is also what a missing or malformed required parameter currently returns, rather than a 400.
