Get vault details

Get one vault's full detail object.

GEThttps://api-v2.syncrone.fi/api/catalog/advanced-vaults/{network}/{vaultId}

The full vault object for one vault.

← Vaults API overview

Try it#

GET/advanced-vaults/mainnet/0x98C23E9d8f34FEFb1B7BD6a91B7FF122F4e16F5c

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

Example vaults
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/mainnet/0x98C23E9d8f34FEFb1B7BD6a91B7FF122F4e16F5c" \
  -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/mainnet/0x98C23E9d8f34FEFb1B7BD6a91B7FF122F4e16F5c
{
  "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
}

Parameters#

NameTypeDescription
networkpathrequiredstring

Network name (mainnet, base, arbitrum…), CAIP-2 id (eip155:1) or chain id (1).

vaultIdpathrequiredstring

Vault address (the share or receipt token, any case). A vault listed without an address is addressed by its slug.

Response#

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

FieldTypeDescription
vaultIdstring

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

addressstring | null

Vault address, checksummed.

namestring

Vault name.

network.namestring

Network name.

network.chainIdinteger

EVM chain id.

network.networkCaipstring

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

asset.addressstring

Token address, checksummed.

asset.assetCaipstring

CAIP-19 id of the token.

asset.namestring

Token name.

asset.symbolstring

Token symbol.

asset.decimalsinteger

Token decimals.

asset.assetLogostring | null

Logo URL.

asset.assetPriceInUsdstring | null

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

asset.assetGroupstring

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

benchmarkIdstring

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

slugstring

Syncrone benchmark slug.

protocol.protocolIdstring

Protocol id, used by protocol filters.

protocol.namestring

Same as protocolId.

protocol.displayNamestring

Protocol display name.

protocol.protocolUrlstring | null

Protocol website.

protocol.protocolLogostring | null

Protocol logo URL.

protocol.descriptionstring | null

What earns the yield.

descriptionstring | null

Vault description.

tagsstring[]

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

apy.1dayobject | null

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

apy.1day.basenumber

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

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.

apy.1day.totalnumber

base + reward.

apy.7dayobject | null

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

apy.7day.basenumber

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

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.

apy.7day.totalnumber

base + reward.

apy.30dayobject | null

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

apy.30day.basenumber

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

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.

apy.30day.totalnumber

base + reward.

tvl.usdstring | null

TVL in USD, whole dollars.

tvl.nativestring | null

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

lastUpdateTimestampinteger | null

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

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.

apyTimestampinteger | null

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

curatorobject | null

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

feesobject | null

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

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).

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.
404No vault with this id on this network.
429Too many requests from the docs playground. Wait a minute.
500The service failed.

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