API Reference
Vaults
List, search, and filter DeFi vaults.
GET /v1/vaults
List all vaults with filtering, sorting, and pagination.
Query Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| page | number | 1 | Page number |
| limit | number | 10 | Results per page |
| chain | string | — | Filter by chain (comma-separated: ethereum,base) |
| protocol | string | — | Filter by protocol ID (comma-separated: morpho,aave-v3) |
| curator | string | — | Filter by curator ID (comma-separated) |
| asset | string | — | Filter by asset symbol (comma-separated: USDC,WETH) |
| riskTier | string | — | Filter by risk tier (comma-separated: prime,core,edge) |
| search | string | — | Search vault name, symbol, asset, protocol, curator |
| minTvl | string | — | Minimum TVL in USD |
| stablecoin | string | — | Filter stablecoin vaults (true/false) |
| lsd | string | — | Filter LSD vaults (true/false) |
| singleExposure | string | — | Filter single-exposure vaults (true/false) |
| noIL | string | — | Filter no impermanent loss (true/false) |
| audited | string | — | Filter audited vaults (true/false) |
| highConfidence | string | — | Filter high-confidence vaults (true/false) |
| sortBy | string | — | Sort field: tvl_usd, apr_net, name, total_score, last_synced_at |
| sortOrder | string | desc | Sort order: asc or desc |
Example
curl "https://api.philidor.io/v1/vaults?riskTier=prime&asset=USDC&sortBy=apr_net&sortOrder=desc&limit=5"Response
{
"success": true,
"data": [
{
"id": "morpho-ethereum-0x...",
"name": "Gauntlet USDC Core",
"address": "0x...",
"protocol_id": "morpho",
"chain_name": "Ethereum",
"asset_symbol": "USDC",
"tvl_usd": "125000000",
"apr_net": "0.0523",
"base_apr": "0.0410",
"total_score": 8.5,
"risk_tier": "prime",
"strategy_type": "isolated_lending",
"curator_name": "Gauntlet",
"is_audited": true,
"last_synced_at": "2026-02-25T12:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 5,
"total": 42,
"totalPages": 9
}
}GET /v1/vaults/{id}
Get a vault by its database ID.
Path Parameters
| Parameter | Type | Description |
|---|---|---|
| id | string | Vault ID (e.g., morpho-ethereum-0x...) |
Example
curl https://api.philidor.io/v1/vaults/morpho-ethereum-0x8eB67A509616cd6A7c1B3c8C21D48FF57df3d458Returns full vault detail with risk vectors, snapshots, events, and rewards. Same schema as vault detail.
GET /v1/vaults/with-critical-incidents
List vaults that have had critical incidents in the last 365 days, sorted by TVL.
Example
curl https://api.philidor.io/v1/vaults/with-critical-incidentsResponse
{
"success": true,
"data": [
{
"vault_id": "yearn-ethereum-0x...",
"vault_name": "Yearn yETH",
"chain_name": "Ethereum",
"protocol_name": "Yearn",
"tvl_usd": "5000000",
"last_incident_at": "2025-11-30T00:00:00Z",
"days_since_incident": 87,
"incident_title": "yETH Stableswap Pool exploit",
"incident_severity": "major"
}
]
}