Get lending pairs
GET/v1/data/lending/pairs
Returns paginated leverage pair data with optional filters and sorting. Backed by the same origin route as /v1/data/lending/pairs/leverage, so it shares that endpoint's behaviour — including dropping pairs whose collateral leg has no remaining supply capacity (includeIlliquid=true keeps them).
Lista DAO fixed-term (brokered) debt side: when the short (debt) market is brokered, variableBorrowDisabledShort is true and termsShort[] lists the fixed-term loop options (each a MarketTerm). The pair has one loop option per term rather than a single variable-rate loop — use the per-term APR from termsShort[] in place of variableBorrowRateShort (which is 0/undefined for these pairs).
Plain-text reference — GET /v1/data/lending/pairs
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
chainId | query | string | no | Filter by chain ID See the ChainId schema for the full set of supported chains. |
lender | query | string | no | Filter by lender key See the LenderId schema for the full set of accepted values. |
assetGroupLong | query | string | no | Filter by collateral asset group |
assetGroupShort | query | string | no | Filter by debt asset group |
minApr | query | number | no | Minimum total APR |
minLeverage | query | number | no | Minimum max leverage |
minLiquidityUsd | query | number | no | Minimum liquidity in USD |
includeIlliquid | query | boolean | no | Keep pairs whose collateral leg has no remaining supply capacity (un-openable at any size). Off by default. |
sortBy | query | aprTotal, maxLeverage, totalDepositsUsdLong, totalDebtUsdShort | no | Sort field |
sortDir | query | asc, desc | no | Sort direction |
start | query | integer | no | Pagination start index |
count | query | integer | no | Page size |
Response 200
| Field | Type | Description |
|---|---|---|
success | True | |
data | object | |
data.start | integer | |
data.count | integer | Number of entries in items. |
data.items | object[] | The result set for this response. |
data.items[].chainId | string | EVM chain id, as a decimal string. See the ChainId schema. |
data.items[].lender | string | Protocol identifier. See the LenderId schema. |
data.items[].marketLongUid | string | Market UID of the collateral side |
data.items[].marketShortUid | string | Market UID of the debt side |
data.items[].marketNameLong | string | Display name of the collateral market/vault (e.g. the Euler eVault name). Disambiguates rows that share the collateral/debt token symbols and lender. |
data.items[].marketNameShort | string | Display name of the debt market/vault. For Euler this is the controller (debt) eVault — the primary way to tell otherwise-identical WETH→USDC rows apart. |
data.items[].curatorNameLong | string | Curator/brand of the collateral market (Euler: resolved from the vault governor). Null for lenders without a curator, or until the curator registry is seeded. Render as "curatorName + symbol", falling back to marketNameLong. |
data.items[].curatorNameShort | string | Curator/brand of the debt (controller) market. Same semantics as curatorNameLong. |
data.items[].assetLong | string | Collateral asset address |
data.items[].assetShort | string | Debt asset address |
data.items[].assetGroupLong | string | |
data.items[].assetGroupShort | string | |
data.items[].symbolLong | string | Collateral token symbol |
data.items[].nameLong | string | Collateral token name |
data.items[].symbolShort | string | Debt token symbol |
data.items[].nameShort | string | Debt token name |
data.items[].collateralFactorLong | number | Liquidation collateral factor for the long side |
data.items[].borrowCollateralFactorLong | number | Borrow-adjusted collateral factor for the long side |
data.items[].borrowFactorLong | number | Borrow factor for the long side |
data.items[].collateralDisabledLong | boolean | Whether collateral is disabled for the long asset |
data.items[].debtDisabledLong | boolean | Whether debt is disabled for the long asset |
data.items[].collateralFactorShort | number | Liquidation collateral factor for the short side |
data.items[].borrowCollateralFactorShort | number | Borrow-adjusted collateral factor for the short side |
data.items[].borrowFactorShort | number | Borrow factor for the short side |
data.items[].collateralDisabledShort | boolean | Whether collateral is disabled for the short asset |
data.items[].debtDisabledShort | boolean | Whether debt is disabled for the short asset |
data.items[].eModeConfigId | string | E-mode configuration ID |
data.items[].eMode | string | E-mode category |
data.items[].aprBase | number | Base APR (deposit - borrow + intrinsic, before rewards) |
data.items[].aprTotal | number | Total APR (base + rewards) |
data.items[].maxLeverage | number | Highest leverage multiple reachable in this market. |
data.items[].ltv | number | Loan-to-value ratio (0-1) |
data.items[].depositRateLong | number | |
data.items[].variableBorrowRateShort | number | |
data.items[].intrinsicYieldLong | number |
Example response
{
"success": true,
"data": {
"start": 1,
"count": 1,
"items": [
{
"chainId": "1",
"lender": "AAVE_V3",
"marketLongUid": "string",
"marketShortUid": "string",
"marketNameLong": "string",
"marketNameShort": "string",
"curatorNameLong": "string",
"curatorNameShort": "string",
"assetLong": "string",
"assetShort": "string",
"assetGroupLong": "string",
"assetGroupShort": "string",
"symbolLong": "string",
"nameLong": "string",
"symbolShort": "string",
"nameShort": "string",
"collateralFactorLong": 0.94,
"borrowCollateralFactorLong": 0.92,
"borrowFactorLong": 1,
"collateralDisabledLong": true,
"debtDisabledLong": true,
"collateralFactorShort": 0.94,
"borrowCollateralFactorShort": 0.92,
"borrowFactorShort": 1,
"collateralDisabledShort": true,
"debtDisabledShort": true,
"eModeConfigId": "string",
"eMode": "string",
"aprBase": 1.0,
"aprTotal": 1.0,
"maxLeverage": 1.0,
"ltv": 1.0,
"depositRateLong": 1.0,
"variableBorrowRateShort": 1.0,
"intrinsicYieldLong": 1.0,
"intrinsicYieldShort": 1.0,
"variableBorrowDisabledShort": true,
"termsShort": [
{
"termId": 2,
"depositApr": 1.0,
"available": 1.0,
"durationDays": 7,
"durationSecs": 604800,
"apr": 3.85,
"aprAtAmount": 1.0,
"fillable": 1.0,
"capped": true,
"ladder": [
{
"apr": 1.0,
"units": "string",
"assets": 1.0
}
]
}
],
"fixedTerm": {
"model": "term",
"maturity": 1,
"fees": {},
"earlyRepay": {},
"provider": {},
"auction": {
"status": "open",
"canBorrow": true,
"canLend": true,
"secondsUntilClose": 263000,
"implications": [
"string"
],
"id": "string",
"startTime": 1,
"revealTime": 1,
"endTime": 1,
"minBorrowAmount": "1000000000",
"minLendAmount": "1000000000"
}
},
"rewardAprLong": 1.0,
"rewardAprShort": 1.0,
"rewardsLong": [
{}
],
"rewardsShort": [
{}
],
"totalDepositsLong": 1.0,
"totalDebtLong": 1.0,
"totalLiquidityLong": 1.0,
"totalDepositsShort": 1.0,
"totalDebtShort": 1.0,
"totalLiquidityShort": 1.0,
"totalDepositsUsdLong": 1.0,
"totalDebtUsdLong": 1.0,
"totalLiquidityUsdLong": 1.0,
"totalDepositsUsdShort": 1.0,
"totalDebtUsdShort": 1.0,
"totalLiquidityUsdShort": 1.0,
"borrowLiquidityShort": 1.0,
"withdrawLiquidityLong": 1.0,
"depositableLong": 1.0,
"utilizationLong": 1.0,
"utilizationShort": 1.0,
"underlyingInfoLong": {
"asset": {},
"prices": {},
"oraclePrice": {}
},
"underlyingInfoShort": {
"asset": {},
"prices": {},
"oraclePrice": {}
}
}
]
}
}
Request
Responses
- 200
- 400
- 429
- 500
- 502
Pair data
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.