List advanced vaults

List and filter vaults with full analytics.

GEThttps://api-v2.syncrone.fi/api/catalog/advanced-vaults

The full vault object for every vault that passes the filters. When both an allow-list and a deny-list are given for the same field, the allow-list wins.

← Vaults API overview

Try it#

GET/advanced-vaults?perPage=2&allowedNetworks=mainnet&allowedAssets=USDC&sortBy=tvl&sortOrder=desc

Kept in this browser tab only, and sent to Syncrone with each request. No key yet? Create one ↗

Parameters
Response
Paste an API key, then press Send. The parameters are pre-filled with a real example.
curl
curl "https://api-v2.syncrone.fi/api/catalog/advanced-vaults?perPage=2&allowedNetworks=mainnet&allowedAssets=USDC&sortBy=tvl&sortOrder=desc" \
  -H "x-api-key: $SYNCRONE_API_KEY"

Example#

A real response to the pre-filled Try it request, recorded from Syncrone data. Values move with every indexing run.

200GET /advanced-vaults?perPage=2&allowedNetworks=mainnet&allowedAssets=USDC&sortBy=tvl&sortOrder=desc
{
  "itemsOnPage": 2,
  "nextPage": 1,
  "data": [
    {
      "vaultId": "0x98C23E9d8f34FEFb1B7BD6a91B7FF122F4e16F5c",
      "address": "0x98C23E9d8f34FEFb1B7BD6a91B7FF122F4e16F5c",
      "name": "Aave V3 Ethereum USDC",
      "network": {
        "name": "mainnet",
        "chainId": 1,
        "networkCaip": "eip155:1"
      },
      "asset": {
        "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
        "assetCaip": "eip155:1/erc20:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
        "name": "USD Coin",
        "symbol": "USDC",
        "decimals": 6,
        "assetLogo": "https://static.debank.com/image/eth_token/logo_url/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48/fffcd27b9efff5a86ab942084c05924d.png",
        "assetPriceInUsd": "0.9999",
        "assetGroup": "USD"
      },
      "benchmarkId": "edca4b94-02b1-4a32-ba7c-deb246e4b524",
      "slug": "aave-v3-eth-usdc",
      "protocol": {
        "protocolId": "aave-v3",
        "name": "aave-v3",
        "displayName": "Aave V3",
        "protocolUrl": "https://aave.com",
        "protocolLogo": "https://icons.llamao.fi/icons/protocols/aave-v3",
        "description": "Pooled lending: suppliers earn the interest borrowers pay on the reserve."
      },
      "description": "Pooled lending: suppliers earn the interest borrowers pay on the reserve.",
      "tags": [
        "Lending",
        "Direct Protocol Lending",
        "Shared Lending Pool"
      ],
      "apy": {
        "1day": {
          "base": 0.04364611560858411,
          "reward": 0,
          "total": 0.04364611560858411
        },
        "7day": {
          "base": 0.04497736287108545,
          "reward": 0,
          "total": 0.04497736287108545
        },
        "30day": {
          "base": 0.041377517377179096,
          "reward": 0,
          "total": 0.041377517377179096
        }
      },
      "tvl": {
        "usd": "2268702789",
        "native": "2268929682474779"
      },
      "lastUpdateTimestamp": 1791849600,
      "isStale": false,
      "apyTimestamp": 1791849600,
      "curator": null,
      "fees": null
    },
    {
      "vaultId": "0xc3d688B66703497DAA19211EEdff47f25384cdc3",
      "address": "0xc3d688B66703497DAA19211EEdff47f25384cdc3",
      "name": "Compound V3 Ethereum USDC",
      "network": {
        "name": "mainnet",
        "chainId": 1,
        "networkCaip": "eip155:1"
      },
      "asset": {
        "address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
        "assetCaip": "eip155:1/erc20:0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
        "name": "USD Coin",
        "symbol": "USDC",
        "decimals": 6,
        "assetLogo": "https://static.debank.com/image/eth_token/logo_url/0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48/fffcd27b9efff5a86ab942084c05924d.png",
        "assetPriceInUsd": "0.9999",
        "assetGroup": "USD"
      },
      "benchmarkId": "9b881fc1-6e3d-4406-82cf-961d6a927d12",
      "slug": "compound-v3-mainnet-usdc",
      "protocol": {
        "protocolId": "compound-v3",
        "name": "compound-v3",
        "displayName": "Compound V3",
        "protocolUrl": "https://compound.finance",
        "protocolLogo": "https://icons.llamao.fi/icons/protocols/compound-v3",
        "description": "Comet markets: suppliers of the base asset earn the borrowers interest."
      },
      "description": "Comet markets: suppliers of the base asset earn the borrowers interest.",
      "tags": [
        "Lending",
        "Direct Protocol Lending",
        "Shared Lending Pool"
      ],
      "apy": {
        "1day": {
          "base": 0.04345899146623933,
          "reward": 0,
          "total": 0.04345899146623933
        },
        "7day": {
          "base": 0.044107700374089065,
          "reward": 0,
          "total": 0.044107700374089065
        },
        "30day": null
      },
      "tvl": {
        "usd": "382331826",
        "native": "382370064000000"
      },
      "lastUpdateTimestamp": 1791849600,
      "isStale": false,
      "apyTimestamp": 1791849600,
      "curator": null,
      "fees": null
    }
  ]
}

Parameters#

NameTypeDescription
pagequeryinteger

Page number, starting from 0.

default: 0
perPagequeryinteger

Items per page, 1 to 1000.

default: 50
allowedNetworksquerystring[]

Networks to include. Repeat the parameter or separate with commas.

disallowedNetworksquerystring[]

Networks to exclude. Ignored when allowedNetworks is set.

allowedAssetsquerystring[]

Asset symbols to include, case-insensitive.

disallowedAssetsquerystring[]

Asset symbols to exclude. Ignored when allowedAssets is set.

allowedProtocolsquerystring[]

Protocols to include, by protocolId or display name.

disallowedProtocolsquerystring[]

Protocols to exclude. Ignored when allowedProtocols is set.

minTvlquerynumber

Minimum TVL in USD.

default: 0
maxTvlquerynumber

Maximum TVL in USD.

minApyquerynumber

Minimum 7-day total APY, as a fraction (0.05 = 5%).

maxApyquerynumber

Maximum 7-day total APY, as a fraction.

tagsquerystring[]

Keep vaults carrying at least one of these tags.

curatorsquerystring[]

Keep vaults curated by one of these curator names.

sortByquerystringtvl | apy1day | apy7day | apy30day

Field to sort by. APY sorts use the total APY. Vaults without the value sort last.

sortOrderquerystringasc | desc

Sort direction.

default: asc

Response#

200 returns JSON with these fields. APY values are fractions (0.04 = 4%); timestamps are Unix seconds.

FieldTypeDescription
itemsOnPageinteger

Number of items in data.

nextPageinteger

Next page number. Absent on the last page.

data[].vaultIdstring

Id to use in {vaultId} paths: the address, else the slug.

data[].addressstring | null

Vault address, checksummed.

data[].namestring

Vault name.

data[].network.namestring

Network name.

data[].network.chainIdinteger

EVM chain id.

data[].network.networkCaipstring

CAIP-2 id, e.g. eip155:1.

data[].asset.addressstring

Token address, checksummed.

data[].asset.assetCaipstring

CAIP-19 id of the token.

data[].asset.namestring

Token name.

data[].asset.symbolstring

Token symbol.

data[].asset.decimalsinteger

Token decimals.

data[].asset.assetLogostring | null

Logo URL.

data[].asset.assetPriceInUsdstring | null

USD price on the vault's latest bar: USD TVL divided by native TVL.

data[].asset.assetGroupstring

USD, ETH, BTC, EUR or OTHER: the currency the asset is worth, from its price against $1, ETH and BTC.

data[].benchmarkIdstring

Syncrone benchmark id, for the benchmark endpoints of the main API.

data[].slugstring

Syncrone benchmark slug.

data[].protocol.protocolIdstring

Protocol id, used by protocol filters.

data[].protocol.namestring

Same as protocolId.

data[].protocol.displayNamestring

Protocol display name.

data[].protocol.protocolUrlstring | null

Protocol website.

data[].protocol.protocolLogostring | null

Protocol logo URL.

data[].protocol.descriptionstring | null

What earns the yield.

data[].descriptionstring | null

Vault description.

data[].tagsstring[]

What earns the yield, e.g. Lending, Liquid Staking, RWA.

data[].apy.1dayobject | null

1-day trailing window. Null when the vault is younger than the window.

data[].apy.1day.basenumber

Share-price growth over the window, TVL-weighted and annualised, as a fraction (0.04 = 4%). Net of vault fees.

data[].apy.1day.rewardnumber

Mean reward APY over the window: on-chain emissions plus off-chain programs (Merkl) paid to every depositor, divided by this vault's TVL. Restricted, points-only and issuer-priced programs are not counted (see rewards). 0 when none was recorded.

data[].apy.1day.totalnumber

base + reward.

data[].apy.7dayobject | null

7-day trailing window. Null when the vault is younger than the window.

data[].apy.7day.basenumber

Share-price growth over the window, TVL-weighted and annualised, as a fraction (0.04 = 4%). Net of vault fees.

data[].apy.7day.rewardnumber

Mean reward APY over the window: on-chain emissions plus off-chain programs (Merkl) paid to every depositor, divided by this vault's TVL. Restricted, points-only and issuer-priced programs are not counted (see rewards). 0 when none was recorded.

data[].apy.7day.totalnumber

base + reward.

data[].apy.30dayobject | null

30-day trailing window. Null when the vault is younger than the window.

data[].apy.30day.basenumber

Share-price growth over the window, TVL-weighted and annualised, as a fraction (0.04 = 4%). Net of vault fees.

data[].apy.30day.rewardnumber

Mean reward APY over the window: on-chain emissions plus off-chain programs (Merkl) paid to every depositor, divided by this vault's TVL. Restricted, points-only and issuer-priced programs are not counted (see rewards). 0 when none was recorded.

data[].apy.30day.totalnumber

base + reward.

data[].tvl.usdstring | null

TVL in USD, whole dollars.

data[].tvl.nativestring | null

TVL in the asset's base units (wei for an 18-decimal token).

data[].lastUpdateTimestampinteger | null

Unix seconds of the newest indexed bar; TVL is read from it.

data[].isStaleboolean

True when the vault has missed an indexing run: no bar for one live interval plus 6 h (30 h for a daily vault). Its figures are older than expected.

data[].apyTimestampinteger | null

Unix seconds of the daily point the APY windows end at (00:00 UTC).

data[].curatorobject | null

name, websiteUrl, logoUrl of the vault's curator, when it has one.

data[].feesobject | null

performanceFee, managementFee (per year), withdrawalFee, depositFee, as fractions read from the vault contract. Display only: APY is already net of them.

data[].rewardsobject | null

Every incentive on the vault as of the latest synced day: supply_reward_apr, coverage (complete | partial | unknown), legs[] counted per program and token (token, apr, usd_per_day, tvl_basis_usd), excluded[] read but not counted with their exclusions reason, points[] as published (never an APR), embedded when the protocol's rewards are already in the share price, and attribution. Off-chain incentive data: Merkl (merkl.xyz).

data[].alerts[]object

Conditions that can stop deposits or withdrawals, empty when none: code (oracle_unusable, market_stuck, exit_liquidity_low, utilization_sustained_high, withdrawal_delay), level (critical, warning, info), title, detail, navPct (share of NAV affected, 0–100, null for withdrawal_delay) and marketIds[].

Errors#

StatusMeaning
400Invalid query or path parameter, or unknown network.
401Missing or rejected API key.
429Too many requests from the docs playground. Wait a minute.
500The service failed.

Error bodies carry error and, for invalid parameters, details.