Enumerate available lenders
GET/v1/data/lending/lenders
Lightweight enumeration of every (chainId, lenderKey) pair that has data for the requested chains, sorted by tvlUsd descending.
Use this endpoint to discover the lender keys to page through GET /v1/data/lending/latest, which is hard-capped at 20 lender keys per request.
GET /v1/data/lending/lenders?chains=1,8453 → enumerate keys
GET /v1/data/lending/latest?chains=1,8453&lenders=k1,…,k20 → page 1
GET /v1/data/lending/latest?chains=1,8453&lenders=k21,…,k40 → page 2
Plain-text reference — GET /v1/data/lending/lenders
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
chains | query | string[] | yes | Chain IDs to query (repeatable, CSV also accepted) |
lenders | query | string[] | no | Filter by lender keys (repeatable, CSV also accepted). Defaults to all lenders. See the LenderId schema for the full set of accepted values. |
maxRiskScore | query | integer | no | Max risk score (1–5). Defaults to 4. |
minTvl | query | number | no | Filter out lender entries with tvlUsd below this USD threshold. Applied as a HAVING clause after aggregation. Returns 400 if non-numeric. |
count | query | integer | no | Optional cap on the number of items returned. |
Response 200
| Field | Type | Description |
|---|---|---|
success | True | |
data | object | Enumeration of available (chainId, lenderKey) pairs sorted by tvlUsd descending. |
data.count | integer | Number of items returned |
data.items | object[] | Lender entries sorted by tvlUsd descending |
data.items[].chainId | string | EVM chain id, as a decimal string. See the ChainId schema. |
data.items[].lenderInfo | object | Protocol/lender metadata (name, logo). |
data.items[].lenderInfo.key | string | Lender key identifier |
data.items[].lenderInfo.name | string | Human-readable lender name |
data.items[].lenderInfo.logoURI | string | Lender logo URL |
data.items[].tvlUsd | number | Σ totalDepositsUsd − Σ totalDebtUsd over the lender's markets on this chain |
data.items[].lastFetched | number | Epoch ms of latest snapshot |
actions | null |
Example response
{
"success": true,
"data": {
"count": 1,
"items": [
{
"chainId": "1",
"lenderInfo": {
"key": "AAVE_V3",
"name": "Aave V3",
"logoURI": "https://raw.githubusercontent.com/1delta-DAO/protocol-icons/main/lender/aave_v3.webp"
},
"tvlUsd": 1234567890.12,
"lastFetched": 1.0
}
]
}
}
Request
Responses
- 200
- 400
- 429
- 500
- 502
Available lenders sorted by TVL
Validation error
Rate limited. Unauthenticated callers share a per-IP budget; send an x-api-key header to lift it. Retry with exponential backoff.
Unexpected server error. Safe to retry with backoff.
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.