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.
- Endpoint: https://api-v3.silo.finance
- Documentation: Interactive GraphQL playground available at the endpoint
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:
- Interactive docs: https://api-v3.silo.finance/docs
- OpenAPI spec (for agents/automation): https://api-v3.silo.finance/openapi.json
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"