Cambrian Lending Morpho V2 Vault Markets endpoint API
GET /evm/lending/morpho/v2/vault/markets
Lending Morpho V2 Vault Markets
Overview
Returns the markets a given Morpho V2 vault allocates deposits into, along with per-market supply/borrow APYs, utilization, LLTV, and USD allocation. It shows where a vault's capital sits across Morpho Blue markets.
Business Value
- Vault Transparency: Shows exactly which lending markets a Morpho V2 vault is exposed to, so depositors can assess the underlying risk.
- Yield Attribution: Breaks down supply and borrow APYs per market to explain the blended yield a vault generates.
- Risk Assessment: Exposes utilization rate and LLTV per market, both inputs for evaluating liquidation and liquidity risk.
- Allocation Analysis: Reports
allocationUsdandallocationShareper market, which show capital concentration and diversification within the vault. - Portfolio Monitoring: Supports automated tracking of vault rebalancing and market exposure changes over time via
updatedAt.
Endpoint Details
URL:
https://api.cambrian.org/evm/lending/morpho/v2/vault/markets
Method: GET
Authentication: Required via X-API-Key header
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| chain_id | integer | No | 8453 | EVM chain ID. |
| vault_address | string | Yes | - | Morpho V2 vault address. |
| 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 |
| 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 |
Response Field Descriptions
| Response Field | Type | Description |
|---|---|---|
| chainId | UInt16 | EVM chain ID |
| protocolId | String | Lending protocol identifier |
| marketId | Nullable(String) | Morpho Blue market identifier |
| loanAddress | String | Loan (borrowed) token contract address |
| loanSymbol | String | Loan token symbol |
| collateralAddress | Nullable(String) | Collateral token contract address |
| collateralSymbol | Nullable(String) | Collateral token symbol |
| supplyApy | Float64 | Supply APY for the market |
| borrowApy | Float64 | Borrow APY for the market |
| utilizationRate | Float64 | Market utilization rate |
| lltv | Nullable(Float64) | Liquidation loan-to-value ratio |
| allocationUsd | Float64 | USD amount allocated by the vault to this market |
| allocationShare | Float64 | Share of vault allocation represented by this market |
| updatedAt | DateTime('UTC') | Timestamp of the last update |
Examples
1. Retrieve market allocations for a Morpho V2 vault
Fetches the Morpho Blue markets a specific vault allocates to on Base, including yield and risk metrics for each market.
curl -X GET "https://api.cambrian.org/evm/lending/morpho/v2/vault/markets?vault_address=0xbeeff7aE5E00Aae3Db302e4B0d8C883810a58100" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json"
Response:
[
{
"columns": [
{
"name": "chainId",
"type": "UInt16"
},
{
"name": "protocolId",
"type": "String"
},
{
"name": "marketId",
"type": "Nullable(String)"
},
{
"name": "loanAddress",
"type": "String"
},
{
"name": "loanSymbol",
"type": "String"
},
{
"name": "collateralAddress",
"type": "Nullable(String)"
},
{
"name": "collateralSymbol",
"type": "Nullable(String)"
},
{
"name": "supplyApy",
"type": "Float64"
},
{
"name": "borrowApy",
"type": "Float64"
},
{
"name": "utilizationRate",
"type": "Float64"
},
{
"name": "lltv",
"type": "Nullable(Float64)"
},
{
"name": "allocationUsd",
"type": "Float64"
},
{
"name": "allocationShare",
"type": "Float64"
},
{
"name": "updatedAt",
"type": "DateTime('UTC')"
}
],
"data": [
[
8453,
"morpho-blue",
"0x18316ce427a45d18852267bc90a34548bcc257efc9c8aa48186cb71a095d2f81",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
"0x7d214438d0f27afccc23b3d1e1a53906ace5cfea",
"reUSD",
0.05277953960205612,
0.061350417178630545,
0.860296344006609,
0.915,
0.24422351139500934,
7.027230081030368e-09,
"2026-08-25T08:31:19+00:00"
],
[
8453,
"morpho-blue",
"0x9103c3b4e834476c9a62ea009ba2c884ee42e94e6e314a26f04d312434191836",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
"0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf",
"cbBTC",
0.04215331185385648,
0.0471264820668047,
0.8944718554230625,
0.86,
4.9913203714190494e-08,
1.4361908260898248e-15,
"2026-08-25T08:38:27+00:00"
],
[
8453,
"morpho-blue",
"0xd4a903dc6d949519060c7707f9604fdc9772c046e05c2e3a8fce0bd7196e4109",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
"0xcb585250f852c6c6bf90434ab21a00f02833a4af",
"CBXRP",
0.053270956332682855,
0.06170127884341747,
0.8633687555791398,
0.625,
29252593.83149495,
0.8417072793141627,
"2026-08-25T08:38:09+00:00"
],
[
8453,
"morpho-blue",
"0x09276541cfecb6920a80679a1deced4dde3ae64bf5fc2c9c1f9c21e0c152e1a5",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
"0x97be14dd8f994a5364573bc035d85309e7cb34de",
"JitoSOL",
0.05288989785823989,
0.06080976854102782,
0.8697598942932259,
0.625,
551127.660473549,
0.015858018141027996,
"2026-08-25T08:29:19+00:00"
],
[
8453,
"morpho-blue",
"0x99f294c452edc091c988688d501dca78a06ba559065c242b19653452e6affc7a",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
"0x83db73ef5192de4b6a4c92bd0141ba1a0dc87c65",
"cUSDO",
3.7944407618965466,
3.7944407618965466,
1,
0.915,
22.363751516706557,
6.434893450070192e-07,
"2026-08-25T08:31:19+00:00"
],
[
8453,
"morpho-blue",
"0x8793cf302b8ffd655ab97bd1c695dbd967807e8367a65cb2f4edaf1380ba1bda",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
"0x4200000000000000000000000000000000000006",
"WETH",
0.04327222059966766,
0.047302863995736466,
0.9147907112678823,
0.86,
92234.62371412948,
0.0026539374467846287,
"2026-08-25T08:37:07+00:00"
],
[
8453,
"morpho-blue",
"0xaf2657ed859dcac494afc20ba83e26fa153414da971a1f082ebfcb45d73955f1",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
"0xc31e19dc6c8a90d628432e15bbd538aa8c789e5d",
"PT-USDai-18JUN2026-(ARB)",
20.56939020760078,
21.436658648133324,
0.9595427414893288,
0.915,
7.668652925045469e-07,
2.2065602205145538e-14,
"2026-08-25T08:29:19+00:00"
],
[
8453,
"morpho-blue",
"0xdaa04f6819210b11fe4e3b65300c725c32e55755e3598671559b9ae3bac453d7",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
"0x940181a94a35a4569e4529a3cdfb74e38fd98631",
"AERO",
0.042366697583870724,
0.0495800904478505,
0.8545102923608623,
0.625,
156675.21805147288,
0.004508136006047946,
"2026-08-25T08:29:19+00:00"
],
[
8453,
"morpho-blue",
"0x0ca10126f6c94cbd9cf0a48cc9516ae5e3dec5aa68303e6d988ee37c5149bf0d",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
"0x2ae3f1ec7f1f5012cfeab0185bfc7aa3cf0dec22",
"cbETH",
0.042188697850860345,
0.04716307379208229,
0.8945281649124185,
0.77,
4.869293226728555e-07,
1.4010790214575368e-14,
"2026-08-25T08:37:41+00:00"
],
[
8453,
"morpho-blue",
"0xf2a59ad1aec67664c564cb33c33538ab41372363204ce2bdcf00900b7d28c6ab",
"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913",
"USDC",
"0xcbada732173e39521cdbe8bf59a6dc85a9fc7b8c",
"CBADA",
0.037106663834251985,
0.04528017290072972,
0.8194903300303871,
0.77,
7.798322413436069e-08,
2.24387101521263e-15,
"2026-08-25T08:29:19+00:00"
]
],
"rows": 24
}
]
Result collections are limited to 10 items. The vault 0xbeeff7aE5E00Aae3Db302e4B0d8C883810a58100 on Base allocates across 24 Morpho Blue USDC markets (10 shown), each with a different collateral asset, supply/borrow APY, utilization rate, and LLTV. This shows how the vault spreads its capital across markets.
x402 Payment Option
This endpoint supports pay-per-use access via the x402 payment protocol (v2): 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/evm/lending/morpho/v2/vault/markets"
);
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/morpho/v2/vault/markets")
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