# Get pools grouped by config

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/lending/pools/by-config

- operationId: `get-pools-grouped-by-config`
- docs: https://docs.1delta.io/1delta-api/get-pools-grouped-by-config/
- markdown: https://docs.1delta.io/1delta-api/get-pools-grouped-by-config.md
- tags: Lending (Data)

Get pools grouped by config

For each (lender, chain, configId) combination, returns which markets are eligible as collateral or borrowable.

Each item includes a `collaterals` and `borrowables` array with per-market rate, factor, and TVL data. Either array is `null` when no markets qualify. A market absent from a config entry has both collateral and debt disabled for that config.

Useful for building position-builder UIs that need to know which assets can be paired within a given pool configuration (e.g. e-mode categories, isolated pools).

**Parameters**

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `chains` | query | string | no | Comma-separated chain IDs |
| `lenders` | query | string | no | Comma-separated lender keys See the `LenderId` schema for the full set of accepted values. |

**Response `200`** — Config pool breakdown per lender/chain/configId

| Field | Type | Description |
| --- | --- | --- |
| `success` | true |  |
| `data` | object | Informational payload. `null` when the endpoint only builds calldata. |
| `actions` | null |  |

**Example response**

```json
{
  "success": true,
  "data": {}
}
```

**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.
