Cambrian Lending Sparklend Pool endpoint API

By Cambrian Network evm

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

  1. Send a normal request to the endpoint (no API key needed)
  2. Server returns 402 Payment Required with payment details
  3. The x402 SDK automatically signs a payment authorization with your wallet
  4. The SDK resubmits the request with the signed payment
  5. 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