Skip to content

Get Borrow Vaults

Retrieve all Fluid borrow vaults and their current market data for a specific chain.

Each vault represents a collateral/borrow market (e.g., ETH as collateral, USDC as borrow token).

Endpoint

text
GET /v2/{chainId}/vaults

Base URL

text
https://api.fluid.instadapp.io

Path Parameters

ParameterTypeRequiredDescription
chainIdintegerYesThe chain ID (e.g., 1 for Ethereum mainnet).

Example Request

bash
curl -X GET "https://api.fluid.instadapp.io/v2/1/vaults"

Response

Returns an array of vault objects, each describing a single borrow vault and its configuration, tokens, and current liquidity state.

Response Structure

json
[
  {
    "id": "string",
    "type": "string",
    "address": "string",
    "supplyToken": {
      "token0": { "...": "Asset Object" },
      "token1": { "...": "Asset Object (zero address for single-token vaults)" }
    },
    "borrowToken": {
      "token0": { "...": "Asset Object" },
      "token1": { "...": "Asset Object (zero address for single-token vaults)" }
    },
    "rewards": [ "...Vault Reward Object..." ],
    "totalSupply": "string",
    "totalSupplyLiquidity": "string",
    "totalBorrow": "string",
    "totalBorrowLiquidity": "string",
    "collateralFactor": "integer",
    "liquidationThreshold": "integer",
    "liquidationMaxLimit": "integer",
    "liquidationPenalty": "integer",
    "withdrawalGap": "integer",
    "withdrawLimit": "string",
    "withdrawableUntilLimit": "string",
    "withdrawable": "string",
    "borrowLimit": "string",
    "borrowableUntilLimit": "string",
    "borrowable": "string",
    "borrowLimitUtilization": "string",
    "minimumBorrowing": "string",
    "totalPositions": "integer",
    "oracle": "string",
    "oraclePriceLiquidate": "string",
    "oraclePriceOperate": "string",
    "metadata": { "pegged": "boolean" },
    "liquiditySupplyData": {
      "token0": { "...": "Liquidity Token Data Object" },
      "token1": { "...": "Liquidity Token Data Object" },
      "dex":    { "...": "DEX AMM data (advanced)" }
    },
    "liquidityBorrowData": {
      "token0": { "...": "Liquidity Token Data Object" },
      "token1": { "...": "Liquidity Token Data Object" },
      "dex":    { "...": "DEX AMM data (advanced)" }
    },
    "supplyDexData": { "...": "DEX AMM data for collateral side (advanced)" },
    "borrowDexData":  { "...": "DEX AMM data for borrow side (advanced)" }
  }
]

Vault Object

FieldTypeDescription
idstringVault identifier used by the API.
typestringVault type/category (e.g., 1, 2, 3, 4 – internal protocol classifications).
addressstringVault contract address.
supplyTokenobjectCollateral token pair used for supplying (see Token Pair Object).
borrowTokenobjectBorrow token pair used for borrowing (see Token Pair Object).
rewardsarrayOptional array of reward programs for borrowing/supplying (see Vault Reward Object).
totalSupplystringTotal collateral supplied to the vault (in collateral token0 decimals).
totalSupplyLiquiditystringTotal supply including interest/liquidity adjustments.
totalBorrowstringTotal amount borrowed from the vault (in borrow token0 decimals).
totalBorrowLiquiditystringTotal borrow including interest/liquidity adjustments.
collateralFactorintegerMaximum borrowable percentage of collateral in basis points (e.g., 8500 = 85%).
liquidationThresholdintegerHealth factor threshold for liquidation, in basis points (e.g., 9000 = 90%).
liquidationMaxLimitintegerMaximum loan-to-value before the entire vault (in borrow token0 decimals).
borrowableUntilLimitstringRemaining amount that can be borrowed before hitting borrowLimit.
borrowablestringCurrently borrowable amount given all protocol constraints.
borrowLimitUtilizationstringUtilization ratio of borrowLimit (scaled integer).
minimumBorrowingstringMinimum borrow amount allowed (in borrow token0 decimals).
totalPositionsintegerNumber of open positions (NFTs) in this vault.
oraclestringAddress of the price oracle contract used for this vault.
oraclePriceLiquidatestringPrice used for liquidation checks (scaled integer).
oraclePriceOperatestringPrice used for operate-level actions (deposits/borrows/repays/withdraws).
metadataobjectVault metadata flags, e.g., { "pegged": true }.
liquiditySupplyDataobjectDetailed collateral-side liquidity (see Liquidity Token Data Object).
liquidityBorrowDataobjectDetailed borrow-side liquidity (see Liquidity Token Data Object).
supplyDexDataobjectDEX AMM data for the collateral side (if the vault uses an AMM).
borrowDexDataobjectDEX AMM data for the borrow side (if the vault uses an AMM).

Token Pair Object

supplyToken and borrowToken share the same structure:

FieldTypeDescription
token0objectPrimary token for this side (collateral or borrow).
token1objectSecondary token for this side; frequently the zero address placeholder.

Each token0 / token1 uses the Asset Object format below.

Asset Object

FieldTypeDescription
addressstringToken contract address (or 0xeeee... sentinel for native ETH-like tokens).
namestringToken name (e.g., ETH, USD Coin).
symbolstringToken symbol (e.g., ETH, USDC).
decimalsintegerNumber of decimals the token uses.
pricestringCurrent token price in USD.
chainIdstringChain ID as a string (e.g., "1").
logoUrlstringURL for the token logo.
coingeckoIdstringCoinGecko identifier, if available.
updatedAtstringISO 8601 timestamp of the last price update.
stakingAprstring(Optional) Staking APR for LST/LRT tokens (basis points).

Vault Reward Object

FieldTypeDescription
tokenobjectReward token information (uses the Asset Object format).
ratestringReward APR in basis points (e.g., 404 = 4.04%).
endTimeintegerUnix timestamp (milliseconds) when the reward program ends.
typestring(Optional) Reward classification (e.g., borrow).
rewardTypestringReward mechanism type (merkle or other).
metadataobjectMetadata for the reward, e.g., Merkle program details.

Reward Metadata (Merkle)

If rewardType is merkle, metadata.merkle is:

FieldTypeDescription
programIdstringIdentifier for the reward program.
merkleContractstringAddress of the Merkle distributor contract.

Liquidity Token Data Object

Used inside liquiditySupplyData.token0, liquidityBorrowData.token0, etc.

FieldTypeDescription
modeWithInterestbooleanWhether this side accrues interest over time.
supply / borrowstringTotal supply / borrow on this side (in token decimals).
withdrawalLimitstringPer-side withdrawal limit (collateral side only).
borrowLimitstringPer-side borrow limit (borrow side only).
lastUpdateTimestampstringUnix timestamp of the last liquidity update.
expandPercentstringLimit expansion percentage in basis points.
expandDurationstringExpansion duration in seconds.
baseWithdrawalLimitstringBase withdrawal cap before expansion.
baseBorrowLimitstringBase borrow cap before expansion.
maxBorrowLimitstringMaximum possible borrow cap.
withdrawableUntilLimitstringWithdrawable amount given the limit.
withdrawablestringCurrently withdrawable amount.
borrowableUntilLimitstringBorrowable amount given the limit.
borrowablestringCurrently borrowable amount on this side.

DEX entries (supplyDexData, borrowDexData, and liquidity*Data.dex) contain additional AMM-specific fields (reserves, price, fee, etc.) that are useful for advanced analytics but not required for basic borrowing flows.

Example Response

json
[
  {
    "id": "1",
    "type": "1",
    "address": "0xeAbBfca72F8a8bf14C4ac59e69ECB2eB69F0811C",
    "supplyToken": {
      "token0": {
        "address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
        "name": "ETH",
        "symbol": "ETH",
        "decimals": 18,
        "price": "1830.23",
        "chainId": "1",
        "logoUrl": "https://coin-images.coingecko.com/coins/images/279/large/ethereum.png?1696501628",
        "coingeckoId": "ethereum",
        "updatedAt": "2026-02-24T08:54:03.000+00:00"
      },
      "token1": {
        "address": "0x0000000000000000000000000000000000000000"
      }
    },
    "borrowToken": {
      "token0": {
        "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
        "name": "USD Coin",
        "symbol": "USDC",
        "decimals": 6,
        "price": "0.999877813172",
        "chainId": "1",
        "logoUrl": "https://coin-images.coingecko.com/coins/images/6319/large/USDC.png?1769615602",
        "coingeckoId": "usd-coin",
        "updatedAt": "2026-02-24T08:54:01.000+00:00"
      },
      "token1": {
        "address": "0x0000000000000000000000000000000000000000"
      }
    },
    "rewards": [],
    "totalSupply": "64125422826312802528397",
    "totalSupplyLiquidity": "64125422826282696574237",
    "totalBorrow": "84898725823558",
    "totalBorrowLiquidity": "84898715340011",
    "collateralFactor": 8700,
    "liquidationThreshold": 9200,
    "liquidationMaxLimit": 9500,
    "liquidationPenalty": 100,
    "withdrawalGap": 500,
    "withdrawLimit": "32062711413141348287118",
    "withdrawableUntilLimit": "28856411415386941631194",
    "withdrawable": "17638507359050003978161",
    "borrowLimit": "127348073010017",
    "borrowableUntilLimit": "42449315220648",
    "borrowable": "42449315220648",
    "borrowLimitUtilization": "243704331491637",
    "minimumBorrowing": "11278",
    "totalPositions": 878,
    "oracle": "0x5b2860C6D6F888319C752aaCDaf8165C21095E3a",
    "oraclePriceLiquidate": "1830651198785853618",
    "oraclePriceOperate": "1830651198785853618",
    "metadata": { "pegged": false },
    "liquiditySupplyData": { "...": "..." },
    "liquidityBorrowData": { "...": "..." },
    "supplyDexData": { "...": "..." },
    "borrowDexData": { "...": "..." }
  }
]

Notes

  • All numeric values are returned as strings to avoid precision loss with large numbers.
  • Prices (oraclePrice*, token price) are scaled integers; you may need to divide by asset-specific scaling factors before displaying them.
  • Factors and limits such as collateralFactor, liquidationThreshold, and liquidationPenalty are expressed in basis points.
  • token0 is the primary collateral/borrow token; token1 is often unused for single-asset vaults.
  • DEX-related fields are primarily used for advanced routing and analytics and can be ignored for basic borrowing flows.

Error Responses

Standard HTTP error codes may be returned:

  • 400 Bad Request – Invalid parameters (e.g., invalid chain ID).
  • 404 Not Found – Chain ID or endpoint not found.
  • 500 Internal Server Error – Server error.