Philidor Docs
API Reference

Vaults

List, search, and filter DeFi vaults.

GET /v1/vaults

List all vaults with filtering, sorting, and pagination.

Query Parameters

ParameterTypeDefaultDescription
pagenumber1Page number
limitnumber10Results per page
chainstringFilter by chain (comma-separated: ethereum,base)
protocolstringFilter by protocol ID (comma-separated: morpho,aave-v3)
curatorstringFilter by curator ID (comma-separated)
assetstringFilter by asset symbol (comma-separated: USDC,WETH)
riskTierstringFilter by risk tier (comma-separated: prime,core,edge)
searchstringSearch vault name, symbol, asset, protocol, curator
minTvlstringMinimum TVL in USD
stablecoinstringFilter stablecoin vaults (true/false)
lsdstringFilter LSD vaults (true/false)
singleExposurestringFilter single-exposure vaults (true/false)
noILstringFilter no impermanent loss (true/false)
auditedstringFilter audited vaults (true/false)
highConfidencestringFilter high-confidence vaults (true/false)
sortBystringSort field: tvl_usd, apr_net, name, total_score, last_synced_at
sortOrderstringdescSort 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

ParameterTypeDescription
idstringVault ID (e.g., morpho-ethereum-0x...)

Example

curl https://api.philidor.io/v1/vaults/morpho-ethereum-0x8eB67A509616cd6A7c1B3c8C21D48FF57df3d458

Returns 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-incidents

Response

{
  "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"
    }
  ]
}

On this page

Raw