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"