Skip to main content

Get lending pools

GET 

/v1/data/lending/pools

Returns paginated lending pool data with optional filters and sorting.

Server-side defaults (applied when the parameter is omitted; pass an explicit value to override):

ParameterDefault
minUtil0.1
maxUtil0.9
minTvlUsd100000 (Ethereum, chainId 1) / 25000 (all other chains)
maxRiskScore4 (medium)

To disable a default filter, pass 0 (e.g. minUtil=0).

Oracle risk: each pool carries an oracleInfo object classifying its price oracle's feed correctness (provider, reported vs intended pair, a 0–100 worstScore/worstBand, and flags such as wrong-asset/correlated-proxy/cross-numeraire). This is distinct from the price-staleness signal in risk.breakdown[oracle]. See the OracleInfo schema for the full scoring model.

Plain-text reference — GET /v1/data/lending/pools

Parameters

ParameterInTypeRequiredDescription
chainIdquerystringnoFilter by chain ID See the ChainId schema for the full set of supported chains.
lenderquerystringnoFilter by lender key (e.g. AAVE_V3) See the LenderId schema for the full set of accepted values.
underlyingsquerystringnoComma-separated token addresses (0x-prefixed)
assetGroupsquerystringnoComma-separated asset group names
minYieldquerynumbernoMinimum deposit rate
maxYieldquerynumbernoMaximum deposit rate
minUtilquerynumbernoMinimum utilization (0-1). Defaults to 0.1 when omitted.
maxUtilquerynumbernoMaximum utilization (0-1). Defaults to 0.9 when omitted.
minTvlUsdquerynumbernoMinimum total liquidity in USD. Defaults to 100000 on Ethereum (chainId 1), 25000 on other chains.
maxTvlUsdquerynumbernoMaximum total liquidity in USD
minDepositsquerynumbernoMinimum total deposits (native units)
maxDepositsquerynumbernoMaximum total deposits (native units)
minDebtquerynumbernoMinimum total debt (native units)
maxDebtquerynumbernoMaximum total debt (native units)
minLiquidityquerynumbernoMinimum total liquidity (native units)
maxLiquidityquerynumbernoMaximum total liquidity (native units)
minDebtUsdquerynumbernoMinimum total debt in USD
maxDebtUsdquerynumbernoMaximum total debt in USD
minLiquidityUsdquerynumbernoMinimum total liquidity in USD
maxLiquidityUsdquerynumbernoMaximum total liquidity in USD
maxRiskScorequeryintegernoMaximum risk score (1–5). Defaults to 4 (medium) when omitted.
includeExposuresquerybooleannoInclude config exposure data per pool. Opt-in; omit or false to skip (expensive).
sortByquerydepositRate, variableBorrowRate, stableBorrowRate, intrinsicYield, utilization, totalDeposits, … (11 values)noSort field
sortDirqueryASC, DESCnoSort direction
startqueryintegernoPagination offset
countqueryintegernoPage size (default 100, max 1000)

Response 200

FieldTypeDescription
successTrue
dataobject
data.startinteger
data.countintegerNumber of entries in items.
data.poolsobject[]
data.pools[].chain_idstringEVM chain id, as a decimal string. See the ChainId schema.
data.pools[].lender_keystring
data.pools[].underlying_addressstring
data.pools[].asset_groupstring
data.pools[].deposit_ratenumber
data.pools[].variable_borrow_ratenumber
data.pools[].stable_borrow_ratenumber
data.pools[].intrinsic_yieldnumber
data.pools[].utilizationnumberMarket utilization, as a fraction between 0 and 1.
data.pools[].total_depositsnumber
data.pools[].total_debtnumber
data.pools[].total_liquiditynumber
data.pools[].total_deposits_usdnumber
data.pools[].total_debt_usdnumber
data.pools[].total_liquidity_usdnumber
actionsnull

Example response

{
"success": true,
"data": {
"start": 1,
"count": 1,
"pools": [
{
"chain_id": "string",
"lender_key": "AAVE_V3",
"underlying_address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"asset_group": "string",
"deposit_rate": 1.0,
"variable_borrow_rate": 1.0,
"stable_borrow_rate": 1.0,
"intrinsic_yield": 1.0,
"utilization": 1.0,
"total_deposits": 1.0,
"total_debt": 1.0,
"total_liquidity": 1.0,
"total_deposits_usd": 1.0,
"total_debt_usd": 1.0,
"total_liquidity_usd": 1.0
}
]
}
}

Request

Responses

Pool data