Cambrian Lending overview endpoint API
GET /evm/lending/overview
GET /evm/lending/overview
Overview
Returns an overview of all pools and vaults across supported EVM lending protocols (Aave, Morpho, Euler, Fluid, Sky, Sparklend, and more). Each row represents a single lending pool or vault with supply, borrow, TVL, APY, and utilization metrics. Results can be filtered by chain, protocol, address, underlying token, TVL, and borrowability.
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, 42161, 4663, 56 |
| protocol_id | string | No | - | Filter by protocol ID. Ex: aave-v3, morpho-v1, morpho-v2, euler-lend, etc. |
| min_tvl_usd | number | 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. (min 1, max 10000) |
| offset | integer | No | 0 | Offset the results, allows you to skip a number of rows before starting to return rows. (min 0, max 100000000) |
| order_asc | array | No | - | List of column names to order by in ascending order, comma-separated |
| order_desc | array | No | - | List of column names to order by in descending order, comma-separated |
Response Field Descriptions
| Response Field | Type | Description |
|---|---|---|
| chainId | UInt16 | EVM chain ID the pool/vault is deployed on |
| protocolId | String | Lending protocol identifier (e.g. aave-v3, morpho-v1, morpho-v2) |
| address | String | 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 asset |
| underlyingSymbol | Nullable(String) | Symbol of the underlying asset |
| supply | Float64 | Total supplied amount, in underlying asset units |
| supplyUsd | Float64 | Total supplied amount, denominated in USD |
| borrow | Nullable(Float64) | Total borrowed amount, in underlying asset units |
| borrowUsd | Nullable(Float64) | Total borrowed amount, denominated in USD |
| tvlUsd | Float64 | Total value locked, denominated in USD |
| supplyCap | Nullable(Float64) | Maximum supply allowed, in underlying asset units |
| supplyCapUsd | Nullable(Float64) | Maximum supply allowed, denominated in USD |
| borrowCap | Nullable(Float64) | Maximum borrow allowed, in underlying asset units |
| borrowCapUsd | Nullable(Float64) | Maximum borrow allowed, denominated in USD |
| availableLiquidityUsd | Nullable(Float64) | Liquidity currently available to borrow, denominated in USD |
| remainingCapacityUsd | Nullable(Float64) | Remaining supply capacity before hitting the supply cap, denominated in USD |
| supplyApy | Nullable(Float64) | Annualized supply yield |
| borrowApy | Nullable(Float64) | Annualized borrow cost |
| netSupplyApy | Nullable(Float64) | Supply APY net of 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 amount to total supplied amount |
| ltv | Nullable(Float64) | Loan-to-value ratio for the pool/vault's collateral |
| borrowable | Bool | Whether borrowing is enabled for this pool/vault |
| depositEnabled | Bool | Whether deposits are currently enabled for this pool/vault |
| updatedAt | DateTime('UTC') | Timestamp when this row was last updated |
Examples
1. Get an overview of EVM lending pools and vaults
Fetches the default overview of lending pools/vaults across supported protocols on Base (default chain), 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": "String"
},
{
"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",
"0xbeef0786756810478b88982de00f3cd7fdb8e7c7",
"grove-steakUSDC",
"Grove x Steakhouse USDC",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
562395335.430599,
562395335.430599,
0,
0,
562395335.430599,
1887186006.291797,
1887186006.291797,
null,
null,
174332275.423168,
1324790670.861198,
0.060914624160266495,
null,
0.060914624160266495,
0,
0,
null,
null,
false,
true,
"2026-10-31T16:39:15+00:00"
],
[
8453,
"morpho-v1",
"0x7bfa7c4f149e7415b73bdedfe609237e29cbf34a",
"sparkUSDC",
"Spark USDC Vault",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
450311698.740525,
450311698.740525,
0,
0,
450311698.740525,
2.451992865385422e+49,
2.451992865385422e+49,
null,
null,
450311698.740525,
2.451992865385422e+49,
0.061163828167606224,
null,
0.0550474453508456,
0.1,
null,
0,
null,
false,
true,
"2026-10-31T16:44:15+00:00"
],
[
8453,
"morpho-v2",
"0xbeeff2490feffa212fac2f6553682c219e6a8845",
"sirloinUSDC",
"Steakhouse High Yield USDC Edition",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
446918324.195002,
446918324.195002,
0,
0,
446918324.195002,
3188591620.975005,
3188591620.975005,
null,
null,
78807534.5929,
2741673296.780003,
0.05212039758270337,
null,
0.03909029818702753,
0.25,
0,
null,
null,
false,
true,
"2026-10-31T16:45:09+00:00"
],
[
8453,
"morpho-v1",
"0xee8f4ec5672f09119b96ab6fb59c27e1b7e44b61",
"gtUSDCp",
"Gauntlet USDC Prime",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
403056560.873985,
403056560.873985,
0,
0,
403056560.873985,
101160000000,
101160000000,
null,
null,
403056560.873985,
100756943439.12602,
0.06113620837528297,
null,
0.06113620837528297,
0,
null,
0,
null,
false,
true,
"2026-10-31T16:45:25+00:00"
],
[
8453,
"aave-v3",
"0xbdb9300b7cde636d9cd4aff00f6f009ffbbc8ee6",
"aBascbBTC",
"Aave Base cbBTC",
"0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf",
"cbBTC",
3028.7145578347313,
234670988.15997487,
88.94640274897127,
6891748.901322244,
234670988.15997487,
4000,
309928167.4503448,
380,
29443175.907782752,
227779239.25865263,
75257179.29036993,
9.497943053368723e-05,
0.006468367810181962,
9.497943053368723e-05,
null,
null,
0.02936770733936718,
0.81,
true,
true,
"2026-10-31T16:41:39+00:00"
],
[
8453,
"aave-v3",
"0xd4a0e0b9149bcee3c920d2e00b5de09138fd8bb7",
"aBasWETH",
"Aave Base WETH",
"0x4200000000000000000000000000000000000006",
"WETH",
93634.8560777212,
210327466.6724838,
76441.36429822572,
171706554.3251225,
210327466.6724838,
125000,
280781478.55791867,
79900,
179475521.09422162,
38620912.3473613,
70454011.88543487,
0.014162450479171683,
0.020409376929700244,
0.014162450479171683,
null,
null,
0.8163772285266919,
0.81,
true,
true,
"2026-10-31T16:41:57+00:00"
],
[
8453,
"aave-v3",
"0x4e65fe4dba92790696d040ac24aa414708f5c0ab",
"aBasUSDC",
"Aave Base USDC",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
180249527.83788693,
180249527.83788693,
172704097.60093433,
172704097.60093433,
180249527.83788693,
230000000,
230000000,
178000000,
178000000,
7545430.236952603,
49750472.16211307,
0.0672766754962005,
0.07801847461903776,
0.0672766754962005,
null,
null,
0.9581389736358208,
0,
true,
true,
"2026-10-31T16:42:03+00:00"
],
[
8453,
"aave-v3",
"0xcf3d55c10db69f28fd1a75bd73f3d8a2d9c595ad",
"aBascbETH",
"Aave Base cbETH",
"0x2ae3f1ec7f1f5012cfeab0185bfc7aa3cf0dec22",
"cbETH",
54978.65779182713,
140746870.080984,
196.56578833211978,
503213.8030270314,
140746870.080984,
60000,
153601643.69298965,
1010,
2585627.6688319924,
140243656.27795696,
12854773.612005651,
1.690176477460821e-06,
0.0005561594578738026,
1.690176477460821e-06,
null,
null,
0.003575310788349954,
0.75,
false,
true,
"2026-10-31T16:41:25+00:00"
],
[
8453,
"morpho-v2",
"0xbeef0e0834849acc03f0089f01f4f1eeb06873c9",
"steakUSDC",
"Steakhouse Prime USDC",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
138273192.931098,
138273192.931098,
0,
0,
138273192.931098,
1087912350.517686,
1087912350.517686,
null,
null,
135009734.496599,
949639157.5865879,
0.060909537478043285,
null,
0.060909537478043285,
0,
0,
null,
null,
false,
true,
"2026-10-31T16:45:13+00:00"
],
[
8453,
"morpho-v1",
"0xbeef010f9cb27031ad51e3333f9af9c6b1228183",
"steakUSDC",
"Steakhouse USDC",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
118607031.077864,
118607031.077864,
0,
0,
118607031.077864,
1001500000000,
1001500000000,
null,
null,
118607031.077864,
1001381392968.9221,
0.06114353332784857,
null,
0.04585764999588643,
0.25,
null,
0,
null,
false,
true,
"2026-10-31T16:44:59+00:00"
]
],
"rows": 10
}
]
Result collections are limited to 10 items. This response shows a mix of Morpho v1/v2 vaults and Aave v3 pools on Base, all for USDC-related or correlated-asset markets, including supply/borrow totals, caps, APYs, utilization, and update timestamps.
x402 Payment Option
This endpoint supports pay-per-use access via the x402 payment protocol (v2), at $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