Cambrian Lending Sparklend Pool endpoint API
GET /evm/lending/sparklend/pools
Sparklend Lending Pools
Overview
Returns lending pool and vault data for the Sparklend protocol on Ethereum, including supply/borrow balances, caps, utilization, APYs, and LTV. Results can be filtered by pool or underlying token address, minimum TVL, and borrowability, and sorted across any returned column.
Business Value
- Protocol Monitoring: Track total value locked, supply, and borrow balances across all Sparklend pools in real time.
- Yield Discovery: Compare supply and borrow APYs across pools to identify the most attractive lending opportunities.
- Risk Assessment: Evaluate utilization rate, LTV, and remaining borrow/supply capacity to gauge pool health and liquidity risk.
- Capacity Planning: Use supply/borrow caps and remaining capacity fields to determine how much room is left before a pool hits its limits.
- Portfolio Integration: Filter by underlying token or pool address to integrate specific Sparklend markets into portfolio and risk tooling.
Endpoint Details
URL:
https://api.cambrian.org/evm/lending/sparklend/pools
Method: GET
Authentication: Required via X-API-Key header
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| pool_address | string | No | - | Sparklend pool address |
| underlying_address | string | No | - | Underlying token address. See tokens for valid addresses. |
| chain_id | integer | No | 1 | EVM chain ID. |
| 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. 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 | UInt8 | EVM chain ID |
| protocolId | String | Lending protocol identifier |
| poolAddress | FixedString(42) | Sparklend pool contract address |
| symbol | Nullable(String) | Pool token symbol |
| vaultName | Nullable(String) | Pool/vault display name |
| underlyingAddress | FixedString(42) | Underlying token contract address |
| underlyingSymbol | String | Underlying token symbol |
| supply | Float64 | Total supplied amount, in underlying token units |
| supplyUsd | Float64 | Total supplied amount, in USD |
| borrow | Float64 | Total borrowed amount, in underlying token units |
| borrowUsd | Float64 | Total borrowed amount, in USD |
| tvlUsd | Float64 | Total value locked, in USD |
| availableLiquidityUsd | Float64 | Available liquidity remaining in the pool, in USD |
| supplyCap | Float64 | Maximum supply allowed, in underlying token units |
| supplyCapUsd | Float64 | Maximum supply allowed, in USD |
| borrowCap | Float64 | Maximum borrow allowed, in underlying token units |
| borrowCapUsd | Float64 | Maximum borrow allowed, in USD |
| remainingCapacityUsd | Float64 | Remaining capacity before hitting the supply/borrow cap, in USD |
| supplyApy | Float64 | Annual percentage yield earned by suppliers |
| borrowApy | Nullable(Float64) | Annual percentage yield paid by borrowers |
| netSupplyApy | Float64 | Supply APY net of fees |
| performanceFee | Nullable(Float64) | Performance fee applied to the pool/vault |
| managementFee | Nullable(Float64) | Management fee applied to the pool/vault |
| utilizationRate | Float64 | Ratio of borrowed to supplied liquidity |
| ltv | Float64 | Maximum loan-to-value ratio for the underlying asset |
| borrowable | Bool | Whether borrowing is currently enabled for this pool |
| depositEnabled | Bool | Whether deposits are currently enabled for this pool |
| updatedAt | DateTime('UTC') | Timestamp of the last data update |
Examples
1. List Sparklend Pools
Retrieves the current set of Sparklend lending pools with supply, borrow, TVL, and APY data.
curl -X GET "https://api.cambrian.org/evm/lending/sparklend/pools?limit=10" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json"
Response:
[
{
"columns": [
{
"name": "chainId",
"type": "UInt8"
},
{
"name": "protocolId",
"type": "String"
},
{
"name": "poolAddress",
"type": "FixedString(42)"
},
{
"name": "symbol",
"type": "Nullable(String)"
},
{
"name": "vaultName",
"type": "Nullable(String)"
},
{
"name": "underlyingAddress",
"type": "FixedString(42)"
},
{
"name": "underlyingSymbol",
"type": "String"
},
{
"name": "supply",
"type": "Float64"
},
{
"name": "supplyUsd",
"type": "Float64"
},
{
"name": "borrow",
"type": "Float64"
},
{
"name": "borrowUsd",
"type": "Float64"
},
{
"name": "tvlUsd",
"type": "Float64"
},
{
"name": "availableLiquidityUsd",
"type": "Float64"
},
{
"name": "supplyCap",
"type": "Float64"
},
{
"name": "supplyCapUsd",
"type": "Float64"
},
{
"name": "borrowCap",
"type": "Float64"
},
{
"name": "borrowCapUsd",
"type": "Float64"
},
{
"name": "remainingCapacityUsd",
"type": "Float64"
},
{
"name": "supplyApy",
"type": "Float64"
},
{
"name": "borrowApy",
"type": "Nullable(Float64)"
},
{
"name": "netSupplyApy",
"type": "Float64"
},
{
"name": "performanceFee",
"type": "Nullable(Float64)"
},
{
"name": "managementFee",
"type": "Nullable(Float64)"
},
{
"name": "utilizationRate",
"type": "Float64"
},
{
"name": "ltv",
"type": "Float64"
},
{
"name": "borrowable",
"type": "Bool"
},
{
"name": "depositEnabled",
"type": "Bool"
},
{
"name": "updatedAt",
"type": "DateTime('UTC')"
}
],
"data": [
[
1,
"sparklend",
"0x12b54025c112aa61face2cdb7118740875a566e9",
"spwstETH",
"Spark wstETH",
"0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0",
"wstETH",
974625.3434127313,
3022961860.676336,
3.206311627962205,
9944.906348149643,
3022961860.676336,
3022951915.7699876,
1003710,
3113172738.3109317,
1,
3101.66555908672,
90210877.63459587,
2.16454218990507e-13,
9.399396832374497e-08,
2.16454218990507e-13,
null,
null,
3.289788891324167e-06,
0.83,
true,
true,
"2026-08-27T12:25:23+00:00"
],
[
1,
"sparklend",
"0x59cd1c87501baa753d0b5b5ab5d8416a45cd71db",
"spWETH",
"Spark WETH",
"0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
"WETH",
480786.232974122,
1198543232.6769142,
420607.4077302064,
1048524536.6332113,
1198543232.6769142,
150018696.04370296,
584873,
1458019236.0940073,
430606,
1073449844.970611,
259476003.41709304,
0.01693876973782437,
0.020381871910885148,
0.01693876973782437,
null,
null,
0.8748324699905567,
0.85,
true,
true,
"2026-08-27T13:33:35+00:00"
],
[
1,
"sparklend",
"0xc02ab1a5eaa8d1b114ef786d9bde108cd4364359",
"spUSDS",
"Spark USDS",
"0xdc035d45d973e3ec169d2276ddab16f1e407384f",
"USDS",
824870170.1486452,
824870170.1486452,
511245591.4905901,
511245591.4905901,
824870170.1486452,
313624578.65805507,
0,
0,
0,
0,
0,
0.020349658338990037,
0.03648363276372853,
0.020349658338990037,
null,
null,
0.6197891619701332,
0,
true,
true,
"2026-08-27T13:39:59+00:00"
],
[
1,
"sparklend",
"0xe7df13b8e3d6740fe17cbe928c7334243d86c92f",
"spUSDT",
"Spark USDT",
"0xdac17f958d2ee523a2206206994597c13d831ec7",
"USDT",
369886483.4204149,
369886483.4204149,
309079806.7058584,
309079806.7058584,
369886483.4204149,
60806676.714556515,
68719476735,
68719476735,
68719476735,
68719476735,
68349590251.57958,
0.026186192170921566,
0.034823413801895485,
0.026186192170921566,
null,
null,
0.8356071945309684,
0,
true,
true,
"2026-08-27T13:38:47+00:00"
],
[
1,
"sparklend",
"0xb3973d459df38ae57797811f2a1fd061da1bc123",
"spcbBTC",
"Spark cbBTC",
"0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf",
"cbBTC",
4189.222215766693,
332344043.5371486,
47.68404238128493,
3782923.569331988,
332344043.5371486,
328561119.9678166,
4529,
359299673.22210276,
155,
12296632.66712871,
26955629.684954166,
1.295625029478715e-06,
0.0001422819070915375,
1.295625029478715e-06,
null,
null,
0.011382552637532505,
0.81,
true,
true,
"2026-08-27T13:30:35+00:00"
],
[
1,
"sparklend",
"0x4dedf26112b3ec8ec46e7e31ea5e123490b05b8b",
"spDAI",
"Spark DAI",
"0x6b175474e89094c44da98b954eedeac495271d0f",
"DAI",
325299953.4669757,
325299953.4669757,
208343692.83203387,
208343692.83203387,
325299953.4669757,
116956260.63494182,
0,
0,
0,
0,
0,
0.021683997891913605,
0.03766076978555609,
0.021683997891913605,
null,
null,
0.6404664083457511,
0,
true,
true,
"2026-08-27T09:20:23+00:00"
],
[
1,
"sparklend",
"0xa9d4ecebd48c282a70cfd3c469d6c8f178a5738e",
"spLBTC",
"Spark LBTC",
"0x8236a87084f8b84306f72007f36f2618a5634494",
"LBTC",
3313.34855488,
263939887.9796215,
0,
0,
263939887.9796215,
263939887.9796215,
3390,
270045908.3705796,
0,
0,
6106020.390958101,
0,
0.05,
0,
null,
null,
0,
0.74,
false,
true,
"2026-08-25T22:21:11+00:00"
],
[
1,
"sparklend",
"0x4197ba364ae6698015ae5c1468f54087602715b2",
"spWBTC",
"Spark WBTC",
"0x2260fac5e5542a773aa44fbcfedf7c193bc2c599",
"WBTC",
1723.050277029851,
136560941.5942209,
4.1747540656675515,
330871.5675520511,
136560941.5942209,
136230070.02666885,
2237,
177294203.43604967,
104,
8242555.725234317,
40733261.84182876,
1.5654333273575433e-07,
8.076285571963022e-05,
1.5654333273575433e-07,
null,
null,
0.0024228858097303362,
0.77,
false,
true,
"2026-08-27T06:24:11+00:00"
],
[
1,
"sparklend",
"0x779224df1c756b4edd899854f32a53e8c2b2ce5d",
"spPYUSD",
"Spark PYUSD",
"0x6c3ea9036406852006290770bedfcaba0e23a0e8",
"PYUSD",
100000807.81569634,
100001490.1313956,
14802035.947832387,
14802136.943631608,
100001490.1313956,
85199353.18776399,
68719476735,
68719945614.99052,
68719476735,
68719945614.99052,
68619944124.85913,
0.005911091996036087,
0.03821307051906205,
0.005911091996036087,
null,
null,
0.14801916375628546,
0,
true,
true,
"2026-08-27T11:46:23+00:00"
],
[
1,
"sparklend",
"0x377c3bd93f2a2984e1e7be6a5c22c525ed4a4815",
"spUSDC",
"Spark USDC",
"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
"USDC",
23478922.062034138,
23478922.062034138,
21618383.259923548,
21618383.259923548,
23478922.062034138,
1860538.80211059,
68719476735,
68719476735,
68719476735,
68719476735,
68695997812.937965,
0.03479029515577769,
0.041940742864190424,
0.03479029515577769,
null,
null,
0.9207570604308485,
0,
true,
true,
"2026-08-27T11:49:35+00:00"
]
],
"rows": 10
}
]
Result collections are limited to 10 items. This response shows the top 10 Sparklend pools, including major markets such as wstETH, WETH, USDS, USDT, cbBTC, DAI, LBTC, WBTC, PYUSD, and USDC, along with each pool's supply, borrow, TVL, and APY figures.
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/sparklend/pools"
);
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/sparklend/pools")
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