Cambrian Lending overview endpoint API
GET /evm/lending/overview
Lending Overview
Overview
Returns an overview of all pools and vaults across supported EVM lending protocols (Aave, Morpho, Euler, Sky, Sparklend, and more). Each row represents a single lending pool or vault with its supply, borrow, TVL, APY, and cap metrics. Results can be filtered by chain, protocol, address, or underlying token, and sorted or paginated.
Business Value
- Cross-protocol comparison: Compare supply/borrow APYs, net yields, and utilization rates across protocols like Aave v3, Morpho v1/v2, and others in a single call.
- Risk monitoring: Track loan-to-value (LTV), utilization rate, and available liquidity to assess borrowing risk and liquidity conditions per pool/vault.
- Capacity tracking: Monitor supply/borrow caps and remaining capacity in USD to anticipate when a pool or vault approaches its limits.
- Portfolio and market research: Filter by underlying token, protocol, or minimum TVL to power dashboards, yield-scanning tools, and vault discovery features.
- Fee transparency: Surface performance and management fees charged by vaults, useful for net-yield calculations.
Endpoint Details
URL:
https://api.cambrian.org/evm/lending/overview
Method: GET
Authentication: Required via X-API-Key header
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| address | string | No | - | Address of the lending pool / vault |
| underlying_address | string | No | - | Underlying token address. See tokens for valid addresses. |
| chain_id | integer | No | 8453 | EVM chain ID. Enum: 1, 8453 |
| protocol_id | string | No | - | Filter by protocol ID. Ex: aave-v3, morpho-v1, morpho-v2, euler-lend, etc. |
| min_tvl_usd | integer | No | - | Minimum TVL USD of the lending pool/vault |
| borrowable | boolean | No | - | If true, only lending pools/vaults with borrowing enabled will be returned |
| limit | integer | No | 100 | Limit the number of results. |
| offset | integer | No | 0 | Offset the results, allows you to skip a number of rows before starting to return rows. |
| order_asc | array | No | - | List of column names to order by in ascending order divided by comma. |
| order_desc | array | No | - | List of column names to order by in descending order divided by comma. |
Response Field Descriptions
| Response Field | Type | Description |
|---|---|---|
| chainId | UInt16 | EVM chain ID |
| protocolId | String | Lending protocol identifier (e.g. aave-v3, morpho-v1, morpho-v2) |
| address | FixedString(42) | Address of the lending pool / vault |
| symbol | Nullable(String) | Symbol of the pool/vault token |
| vaultName | Nullable(String) | Human-readable name of the vault |
| underlyingAddress | Nullable(FixedString(42)) | Address of the underlying token |
| underlyingSymbol | Nullable(String) | Symbol of the underlying token |
| supply | Float64 | Total supplied amount, in underlying token units |
| supplyUsd | Float64 | Total supplied amount in USD |
| borrow | Nullable(Float64) | Total borrowed amount, in underlying token units |
| borrowUsd | Nullable(Float64) | Total borrowed amount in USD |
| tvlUsd | Float64 | Total value locked in USD |
| supplyCap | Nullable(Float64) | Maximum supply allowed, in underlying token units |
| supplyCapUsd | Nullable(Float64) | Maximum supply allowed in USD |
| borrowCap | Nullable(Float64) | Maximum borrow allowed, in underlying token units |
| borrowCapUsd | Nullable(Float64) | Maximum borrow allowed in USD |
| availableLiquidityUsd | Nullable(Float64) | Liquidity available to borrow in USD |
| remainingCapacityUsd | Nullable(Float64) | Remaining capacity before hitting the supply cap, in USD |
| supplyApy | Nullable(Float64) | Annual percentage yield earned by suppliers |
| borrowApy | Nullable(Float64) | Annual percentage yield paid by borrowers |
| netSupplyApy | Nullable(Float64) | Supply APY net of performance/management fees |
| performanceFee | Nullable(Float64) | Performance fee charged by the vault/curator |
| managementFee | Nullable(Float64) | Management fee charged by the vault/curator |
| utilizationRate | Nullable(Float64) | Ratio of borrowed to supplied funds |
| ltv | Nullable(Float64) | Loan-to-value ratio allowed for the asset |
| borrowable | Bool | Whether borrowing is enabled for this pool/vault |
| depositEnabled | Bool | Whether deposits are currently enabled |
| updatedAt | DateTime('UTC') | Timestamp of the last data update |
Examples
1. Retrieve the lending overview (limited results)
Fetches an overview of lending pools/vaults across supported protocols, limited to 10 results.
curl -X GET "https://api.cambrian.org/evm/lending/overview?limit=10" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json"
Response:
[
{
"columns": [
{ "name": "chainId", "type": "UInt16" },
{ "name": "protocolId", "type": "String" },
{ "name": "address", "type": "FixedString(42)" },
{ "name": "symbol", "type": "Nullable(String)" },
{ "name": "vaultName", "type": "Nullable(String)" },
{ "name": "underlyingAddress", "type": "Nullable(FixedString(42))" },
{ "name": "underlyingSymbol", "type": "Nullable(String)" },
{ "name": "supply", "type": "Float64" },
{ "name": "supplyUsd", "type": "Float64" },
{ "name": "borrow", "type": "Nullable(Float64)" },
{ "name": "borrowUsd", "type": "Nullable(Float64)" },
{ "name": "tvlUsd", "type": "Float64" },
{ "name": "supplyCap", "type": "Nullable(Float64)" },
{ "name": "supplyCapUsd", "type": "Nullable(Float64)" },
{ "name": "borrowCap", "type": "Nullable(Float64)" },
{ "name": "borrowCapUsd", "type": "Nullable(Float64)" },
{ "name": "availableLiquidityUsd", "type": "Nullable(Float64)" },
{ "name": "remainingCapacityUsd", "type": "Nullable(Float64)" },
{ "name": "supplyApy", "type": "Nullable(Float64)" },
{ "name": "borrowApy", "type": "Nullable(Float64)" },
{ "name": "netSupplyApy", "type": "Nullable(Float64)" },
{ "name": "performanceFee", "type": "Nullable(Float64)" },
{ "name": "managementFee", "type": "Nullable(Float64)" },
{ "name": "utilizationRate", "type": "Nullable(Float64)" },
{ "name": "ltv", "type": "Nullable(Float64)" },
{ "name": "borrowable", "type": "Bool" },
{ "name": "depositEnabled", "type": "Bool" },
{ "name": "updatedAt", "type": "DateTime('UTC')" }
],
"data": [
[8453, "morpho-v2", "0xbeef0e0834849acc03f0089f01f4f1eeb06873c9", "steakUSDC", "Steakhouse Prime USDC", "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", "USDC", 428360626.028591, 428360626.028591, 0, 0, 428360626.028591, 2225081878.085773, 2225081878.085773, null, null, 185655318.936964, 1796721252.057182, 0.04168691112169132, null, 0.04168691112169132, 0, 0, null, null, false, true, "2026-09-10T12:57:19+00:00"],
[8453, "morpho-v1", "0xee8f4ec5672f09119b96ab6fb59c27e1b7e44b61", "gtUSDCp", "Gauntlet USDC Prime", "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", "USDC", 421179974.151221, 421179974.151221, 0, 0, 421179974.151221, 101160000000, 101160000000, null, null, 421179974.151221, 100738820025.84879, 0.0418386828020513, null, 0.0418386828020513, 0, null, 0, null, false, true, "2026-09-10T12:54:19+00:00"],
[8453, "morpho-v2", "0xbeeff2490feffa212fac2f6553682c219e6a8845", "sirloinUSDC", "Steakhouse High Yield USDC Edition", "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", "USDC", 384181747.136423, 384181747.136423, 0, 0, 384181747.136423, 2760908735.682115, 2760908735.682115, null, null, 47335877.386685, 2376726988.545692, 0.03796562927208558, null, 0.028474221954064183, 0.25, 0, null, null, false, true, "2026-09-10T12:56:59+00:00"],
[8453, "morpho-v1", "0x7bfa7c4f149e7415b73bdedfe609237e29cbf34a", "sparkUSDC", "Spark USDC Vault", "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", "USDC", 289869497.682424, 289869497.682424, 0, 0, 289869497.682424, 2.451992865385422e+49, 2.451992865385422e+49, null, null, 289869497.682424, 2.451992865385422e+49, 0.04178665114332942, null, 0.037607986028996475, 0.1, null, 0, null, false, true, "2026-09-10T12:57:01+00:00"],
[8453, "aave-v3", "0xbdb9300b7cde636d9cd4aff00f6f009ffbbc8ee6", "aBascbBTC", "Aave Base cbBTC", "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf", "cbBTC", 2751.6131767583693, 211523650.68798336, 97.9392301823718, 7528842.967001539, 211523650.68798336, 3200, 245992310.22689134, 380, 29211586.839443345, 203994807.72098184, 34468659.538907975, 0.00012149499022011393, 0.006789463725820105, 0.00012149499022011393, null, null, 0.0355933860942447, 0.73, true, true, "2026-09-10T12:56:45+00:00"],
[8453, "aave-v3", "0xd4a0e0b9149bcee3c920d2e00b5de09138fd8bb7", "aBasWETH", "Aave Base WETH", "0x4200000000000000000000000000000000000006", "WETH", 84604.2907821623, 205067804.61532235, 72467.64686045826, 175650444.084165, 205067804.61532235, 169000, 409630039.5593688, 143000, 346610033.473312, 29417360.531157345, 204562234.94404644, 0.017314909065424603, 0.023787532652502847, 0.017314909065424603, null, null, 0.8565481276481207, 0.8, true, true, "2026-09-10T12:56:07+00:00"],
[8453, "aave-v3", "0x4e65fe4dba92790696d040ac24aa414708f5c0ab", "aBasUSDC", "Aave Base USDC", "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", "USDC", 183848969.70858726, 183848969.70858726, 163043543.2932307, 163043543.2932307, 183848969.70858726, 230000000, 230000000, 207000000, 207000000, 20805426.415356547, 46151030.29141274, 0.03695634129183326, 0.046307457901129064, 0.03695634129183326, null, null, 0.8868341419136887, 0.75, true, true, "2026-09-10T12:57:05+00:00"],
[8453, "morpho-v2", "0x050ce30b927da55177a4914ec73480238bad56f0", "gtusdcp", "Gauntlet USDC Prime", "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", "USDC", 167305892.845641, 167305892.845641, 0, 0, 167305892.845641, 1256529464.228205, 1256529464.228205, null, null, 167299392.850254, 1089223571.382564, 0.041692103810000436, null, 0.041692103810000436, 0, 0, null, null, false, true, "2026-09-10T12:57:19+00:00"],
[8453, "morpho-v1", "0xbeef010f9cb27031ad51e3333f9af9c6b1228183", "steakUSDC", "Steakhouse USDC", "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913", "USDC", 132850517.415978, 132850517.415978, 0, 0, 132850517.415978, 1001500000000, 1001500000000, null, null, 132850517.415978, 1001367149482.584, 0.04181012899569382, null, 0.03135759674677037, 0.25, null, 0, null, false, true, "2026-09-10T12:54:59+00:00"],
[8453, "aave-v3", "0xcf3d55c10db69f28fd1a75bd73f3d8a2d9c595ad", "aBascbETH", "Aave Base cbETH", "0x2ae3f1ec7f1f5012cfeab0185bfc7aa3cf0dec22", "cbETH", 45657.35633600962, 126045542.26323786, 197.41714380411318, 545006.389763824, 126045542.26323786, 75000, 207051315.02077356, 1010, 2788291.0422797506, 125500535.87347405, 81005772.7575357, 2.4720232434761044e-06, 0.0006726042009256192, 2.4720232434761044e-06, null, null, 0.004323884684677017, 0.75, false, true, "2026-09-10T12:52:31+00:00"]
],
"rows": 10
}
]
Note: result collections are limited to 10 items.
This example returns the top 10 lending pools/vaults on Base (chain ID 8453): Morpho v1/v2 USDC vaults and Aave v3 pools, sorted by the default backend ordering, with full supply/borrow/APY/cap metrics for each.
x402 Payment Option
This endpoint supports pay-per-use access via the x402 payment protocol (v2), paying $0.05 USDC per request using blockchain micropayments. No API key required.
Quick Start (TypeScript)
npm install @x402/fetch @x402/evm viem
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";
const signer = privateKeyToAccount(process.env.EVM_PRIVATE_KEY as `0x${string}`);
const client = new x402Client();
client.register("eip155:*", new ExactEvmScheme(signer));
const fetchWithPayment = wrapFetchWithPayment(fetch, client);
const response = await fetchWithPayment(
"https://x402.cambrian.org/evm/lending/overview"
);
const data = await response.json();
Quick Start (Python)
pip install "x402[httpx]"
import asyncio, os
from eth_account import Account
from x402 import x402Client
from x402.http.clients import x402HttpxClient
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client
async def main():
client = x402Client()
account = Account.from_key(os.getenv("EVM_PRIVATE_KEY"))
register_exact_evm_client(client, EthAccountSigner(account))
async with x402HttpxClient(client) as http:
response = await http.get("https://x402.cambrian.org/evm/lending/overview")
print(response.json())
asyncio.run(main())
Payment Flow
- Send a normal request to the endpoint (no API key needed)
- Server returns
402 Payment Requiredwith payment details - The x402 SDK automatically signs a payment authorization with your wallet
- The SDK resubmits the request with the signed payment
- Server verifies payment and returns the API response
The x402 SDK handles steps 2 through 5 automatically.
Network: Base (chain ID 8453) | Currency: USDC | Price: $0.05 per request