Skip to main content

Silo V3 API

Silo provides a public API for Silo V3 that exposes comprehensive protocol data, inclusing all V3 silos + vaults and whitelisted V2 silos + vaults.

Available Data​

Examples of data exposed in the API are:

  • Markets configuration - Liquidation Threshold, tokens, oracles, interest rate models, and more
  • Market states - Total assets, TVL, deposit and borrow rates
  • Vault configurations - Asset, allocated markets
  • Vault state - Total assets, TVL, APR
  • Protocol stats - TVL, users, and other aggregate metrics
  • Market and vault positions - User positions in markets and vaults
  • Protocol actions - Events including deposits, borrows, repayments, withdrawals, and liquidations

Structure​

The API interaction is divided into two main parts: GraphQL and REST endpoints

GraphQL API​

The GraphQL API contains most of the protocol data and offers flexible querying capabilities.

REST API​

The REST API provides specific data endpoints for specialized use cases, including:

  • User position snapshots
  • User net APRs and total positions
  • User defaulting liquidations rewards

Documentation:

Rate Limits​

The API is public and currently has a rate limit of 250 requests per minute.


GraphQL Examples​

List Markets by Liquidity​

Get markets sorted by liquidity in descending order.

query listMarketsByLiquidity {
markets(limit: 100, orderBy: "liquidityUsd", orderDirection: "desc") {
items {
id
siloId
liquidityUsd
}
}
}
curl -X POST https://api-v3.silo.finance \
-H "Content-Type: application/json" \
-d '{"query":"query listMarketsByLiquidity { markets( limit:100 orderBy:\"liquidityUsd\" orderDirection:\"desc\" ) { items { id siloId liquidityUsd } } }"}'

User Position​

Get a user's position in a market including balances, LTV, and bad debt status.

query userPosition {
position(
chainId: 1
id: "0x90957ad08d1ec15d4ccf5461444ffb0dc499eb2d-0x851c31e75961bde3237652582a001f8245779f8e"
) {
id
chainId
sTokenBalance
collateralAssets
collateralAssetsUsd
spTokenBalance
protectedAssets
protectedAssetsUsd
dTokenBalance
debtAssets
debtAssetsUsd
ltv
isInBadDet
badDebtAssets
unclearedDebtAssets
netCashInvestedUsd
hasIncompleteNetCash
depositCount
withdrawCount
borrowCount
repayCount
liquidationCount
isLeverage
account {
id
}
market {
id
siloId
name
inputToken {
id
symbol
}
}
}
}
curl -X POST https://api-v3.silo.finance \
-H "Content-Type: application/json" \
-d '{"query":"query userPosition { position(chainId:1,id:\"0x90957ad08d1ec15d4ccf5461444ffb0dc499eb2d-0x851c31e75961bde3237652582a001f8245779f8e\") { id chainId sTokenBalance collateralAssets collateralAssetsUsd spTokenBalance protectedAssets protectedAssetsUsd dTokenBalance debtAssets debtAssetsUsd ltv isInBadDet badDebtAssets unclearedDebtAssets netCashInvestedUsd hasIncompleteNetCash depositCount withdrawCount borrowCount repayCount liquidationCount isLeverage account { id } market { id siloId name inputToken { id symbol } } } }"}'

REST API Example​

Explore the interactive REST API documentation at https://api-v3.silo.finance/docs.

For automation and agents, the OpenAPI spec is available at https://api-v3.silo.finance/openapi.json.

Market Position Snapshots​

Returns daily snapshots of a user's market positions, including collateral, debt, and USD values.

curl -X GET "https://api-v3.silo.finance/v1/users/0x851c31e75961bde3237652582a001f8245779f8e/market-position-snapshots?chain_id=1&market=0x90957ad08d1ec15d4ccf5461444ffb0dc499eb2d&page_size=10" \
-H "accept: application/json"