Cambrian Lending protocols endpoint API
GET /api/v1/evm/lending/protocols
Lending Protocols
Overview
This endpoint lists the lending protocols supported on EVM-compatible chains, returning each protocol's identifier, human-readable name, and number of active pools.
Business Value
- Protocol Discovery: Quickly identify which lending protocols are supported before querying protocol-specific endpoints.
- Coverage Insight: The
poolCountfield indicates the breadth of data available for each protocol, helping prioritize integration efforts. - Cross-Protocol Comparison: Enables side-by-side comparison of protocol adoption and pool counts on a given chain.
- Integration Planning: Serves as an entry point for building dashboards or tools that aggregate lending data across multiple protocols.
Endpoint Details
URL:
https://api.cambrian.org/evm/lending/protocols
Method: GET
Authentication: Required via X-API-Key header
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| chain_id | integer | No | 8453 | EVM chain ID. |
| limit | integer | No | 100 | Limit the number of results. |
| offset | integer | No | 0 | Offsets the results, letting you skip a number of rows before rows are returned. |
| order_asc | array | No | - | List of column names to order by in ascending order divided by comma. Leave empty items to combine with descending order. Allowed values: chainId, protocolId, protocolName, poolCount. |
| order_desc | array | No | - | List of column names to order by in descending order divided by comma. Leave empty items to combine with ascending order. Allowed values: chainId, protocolId, protocolName, poolCount. |
Response Field Descriptions
| Response Field | Type | Description |
|---|---|---|
| chainId | UInt16 | EVM chain ID the protocol is deployed on. |
| protocolId | FixedString(50) | Unique identifier for the lending protocol. |
| protocolName | FixedString(50) | Human-readable name of the lending protocol. |
| poolCount | UInt64 | Number of lending pools available for the protocol. |
Examples
1. List Lending Protocols on Base
Retrieve all supported lending protocols on the Base chain.
curl -X GET "https://api.cambrian.org/evm/lending/protocols" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json"
Response:
[
{
"columns": [
{
"name": "chainId",
"type": "UInt16"
},
{
"name": "protocolId",
"type": "FixedString(50)"
},
{
"name": "protocolName",
"type": "FixedString(50)"
},
{
"name": "poolCount",
"type": "UInt64"
}
],
"data": [
[
8453,
"aave-v3",
"Aave V3",
15
],
[
8453,
"euler-lend",
"Euler Lend",
354
],
[
8453,
"morpho-v1",
"Morpho V1",
498
],
[
8453,
"morpho-v2",
"Morpho V2",
2945
]
],
"rows": 4
}
]
Note: Result collections are limited to 10 items.
This response lists the 4 lending protocols supported on Base (chain ID 8453); Morpho V2 has the most pools (2945).
x402 Payment Option
This endpoint supports pay-per-use access via the x402 payment protocol (v2), letting you pay $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/api/v1/evm/lending/protocols"
);
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/api/v1/evm/lending/protocols")
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