Cambrian Sky Lending vault endpoint API

By Cambrian Network evm

GET /evm/lending/sky/vaults

Sky Lending Vaults

Overview

Returns Sky Protocol lending vaults (such as Savings USDS, Staked USDS, and Savings Dai) with supply, borrow, TVL, APY, and capacity metrics on Ethereum. Results can be filtered by vault or underlying token address and sorted by any supported column.

Business Value

  • Yield Discovery: Quickly compare supply APYs across Sky vaults (e.g. sUSDS, stUSDS, sDAI) to identify the best savings/yield opportunities.
  • Liquidity Monitoring: Track available liquidity, supply caps, and remaining capacity to assess deposit headroom before allocating capital.
  • Risk Assessment: Surface utilization rate, LTV, and fee parameters to evaluate the risk/return profile of each vault.
  • Portfolio Tracking: Monitor TVL and supply balances over time for positions held in Sky lending vaults.
  • Protocol Analytics: Aggregate Sky Protocol lending data for dashboards, alerts, and cross-protocol comparisons.

Endpoint Details

URL:

https://api.cambrian.org/evm/lending/sky/vaults

Method: GET
Authentication: Required via X-API-Key header

Query Parameters

Parameter Type Required Default Description
vault_address string No - Sky vault 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
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
vaultAddress FixedString(42) Sky vault contract address
symbol String Vault token symbol
vaultName String Vault display name
underlyingAddress String 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 Nullable(Float64) Total borrowed amount in underlying token units
borrowUsd Nullable(Float64) Total borrowed amount in USD
tvlUsd Float64 Total value locked in USD
availableLiquidityUsd Float64 Available liquidity in USD
supplyCap Nullable(Float64) Maximum supply cap in underlying token units
supplyCapUsd Nullable(Float64) Maximum supply cap in USD
borrowCap Nullable(Float64) Maximum borrow cap in underlying token units
borrowCapUsd Nullable(Float64) Maximum borrow cap in USD
remainingCapacityUsd Nullable(Float64) Remaining supply capacity in USD before hitting the cap
supplyApy Nullable(Float64) Supply APY (annual percentage yield)
borrowApy Nullable(Float64) Borrow APY (annual percentage yield)
netSupplyApy Nullable(Float64) Net supply APY after fees
performanceFee Nullable(Float64) Performance fee charged on yield
managementFee Nullable(Float64) Management fee charged on the vault
utilizationRate Nullable(Float64) Ratio of borrowed to supplied funds
ltv Nullable(Float64) Loan-to-value ratio
borrowable Bool Whether the vault supports borrowing
depositEnabled Bool Whether deposits are currently enabled
updatedAt DateTime('UTC') Timestamp when the data was last updated

Examples

1. List Sky Lending Vaults

Retrieve Sky Protocol lending vaults with a limit of 10 results.

curl -X GET "https://api.cambrian.org/evm/lending/sky/vaults?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": "vaultAddress",
        "type": "FixedString(42)"
      },
      {
        "name": "symbol",
        "type": "String"
      },
      {
        "name": "vaultName",
        "type": "String"
      },
      {
        "name": "underlyingAddress",
        "type": "String"
      },
      {
        "name": "underlyingSymbol",
        "type": "String"
      },
      {
        "name": "supply",
        "type": "Float64"
      },
      {
        "name": "supplyUsd",
        "type": "Float64"
      },
      {
        "name": "borrow",
        "type": "Nullable(Float64)"
      },
      {
        "name": "borrowUsd",
        "type": "Nullable(Float64)"
      },
      {
        "name": "tvlUsd",
        "type": "Float64"
      },
      {
        "name": "availableLiquidityUsd",
        "type": "Float64"
      },
      {
        "name": "supplyCap",
        "type": "Nullable(Float64)"
      },
      {
        "name": "supplyCapUsd",
        "type": "Nullable(Float64)"
      },
      {
        "name": "borrowCap",
        "type": "Nullable(Float64)"
      },
      {
        "name": "borrowCapUsd",
        "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": [
      [
        1,
        "sky-lending",
        "0xa3931d71877c0e7a3148cb7eb4463524fec27fbd",
        "sUSDS",
        "Savings USDS",
        "0xdc035d45d973e3ec169d2276ddab16f1e407384f",
        "USDS",
        4697087387.534656,
        4697087387.534656,
        null,
        null,
        4697087387.534656,
        4697087387.534656,
        null,
        null,
        null,
        null,
        null,
        0.03522379193427483,
        null,
        0.03522379193427483,
        null,
        null,
        null,
        null,
        false,
        true,
        "2026-09-03T14:27:35+00:00"
      ],
      [
        1,
        "sky-lending",
        "0x99cd4ec3f88a45940936f469e4bb72a2a701eeb9",
        "stUSDS",
        "Staked USDS",
        "0xdc035d45d973e3ec169d2276ddab16f1e407384f",
        "USDS",
        205839979.23579434,
        205839979.23579434,
        null,
        null,
        205839979.23579434,
        205839979.23579434,
        214000000,
        214000000,
        null,
        null,
        8160020.764205664,
        0.05383669195428764,
        null,
        0.05383669195428764,
        null,
        null,
        null,
        null,
        false,
        true,
        "2026-09-03T12:11:11+00:00"
      ],
      [
        1,
        "sky-lending",
        "0x83f20f44975d03b1b09e64809b757c47f942beea",
        "sDAI",
        "Savings Dai",
        "0x6b175474e89094c44da98b954eedeac495271d0f",
        "DAI",
        166563348.4334195,
        166563348.4334195,
        null,
        null,
        166563348.4334195,
        166563348.4334195,
        null,
        null,
        null,
        null,
        null,
        0.012508357850979479,
        null,
        0.012508357850979479,
        null,
        null,
        null,
        null,
        false,
        true,
        "2026-09-03T14:00:00+00:00"
      ]
    ],
    "rows": 3
  }
]

Result collections are limited to 10 items. This response returns 3 Sky vaults (sUSDS, stUSDS, sDAI) on Ethereum, each with supply, TVL, and APY metrics; stUSDS also has a defined supply cap, with remaining capacity of ~$8.16M.

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/sky/vaults"
);
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/sky/vaults")
        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