Skip to main content
The Vaults.fyi API surfaces more data about a DeFi vault than most applications ever need. This page documents everything you can retrieve — what each field means, which endpoint it comes from, and what you would use it for. The primary source for static vault data is GET /v2/detailed-vaults/{network}/{vaultId}. Additional endpoints extend that with time-series history, near real-time state, and per-user position data.
The auto-generated API Reference endpoint pages are the authoritative source for exact field names, types, and required/optional status — they update automatically from the OpenAPI spec on every release. This page is the narrative layer: what each field means and when to use it. If you spot a discrepancy, the endpoint page is correct.

Identity

Every vault has a stable identity and a set of descriptive fields.
FieldDescription
vaultIdStable identifier used in all API calls and deep links. Persists across vault upgrades.
addressVault contract address (EIP-55 checksummed).
nameHuman-readable vault name.
descriptionFree-text description of the vault strategy, if provided by the protocol.
network.nameNetwork slug: mainnet, base, arbitrum, optimism, polygon, and others.
network.chainIdEVM chain ID.
network.networkCaipCAIP-2 network identifier (e.g. eip155:1).
tagsArray of category tags (e.g. stablecoin, liquid-staking, rwa). Useful for filtering.
isAppFeaturedWhether the vault is featured on app.vaults.fyi.
lastUpdateTimestampUnix timestamp of the most recent on-chain data index.

Protocol and Curator

Vaults belong to a protocol. Some are additionally managed by a named curator (e.g. a risk manager or strategy team).
FieldDescription
protocol.nameProtocol name (e.g. Morpho, Aave, Compound).
protocol.productProduct line within the protocol, if applicable.
protocol.versionProtocol version.
protocol.protocolUrlProtocol website.
protocol.descriptionShort protocol description.
protocol.protocolLogoURL to the protocol logo image.
curator.nameName of the vault curator, if one is assigned.
curator.descriptionDescription of the curator.
curator.websiteUrlCurator website.
protocolVaultUrlDirect URL to this vault on the protocol’s own interface.
lendUrlURL to lend the vault’s asset directly.

The Asset

The underlying asset is what users deposit and withdraw. All balances and TVL figures reference this token.
FieldDescription
asset.symbolToken symbol (e.g. USDC, WETH).
asset.nameFull token name.
asset.addressToken contract address.
asset.assetCaipCAIP-19 asset identifier.
asset.decimalsToken precision.
asset.assetPriceInUsdCurrent USD price.
asset.assetGroupHigh-level category: USD, ETH, BTC, EURO, or OTHER.
asset.assetLogoURL to the token logo image.
additionalAssetsFor multi-asset vaults: the same asset fields for each additional accepted asset.

The LP Token

When a user deposits into a vault, they receive LP tokens representing their share. These are the tokens held in a wallet.
FieldDescription
lpToken.symbolLP token symbol.
lpToken.nameLP token name.
lpToken.addressLP token contract address.
lpToken.tokenCaipCAIP-19 identifier for the LP token.
lpToken.decimalsLP token precision.
sharePriceLP token share price.

APY

APY data is normalized across all protocols using a consistent methodology. See Calculating APY for details. Each vault returns APY across four time windows, each broken into three components:
FieldDescription
apy.1hour.baseBase yield earned from lending or strategy, annualized over the last hour.
apy.1hour.rewardToken reward APY (e.g. incentive programs), annualized over the last hour.
apy.1hour.totalSum of base and reward.
apy.1daySame breakdown averaged over 24 hours.
apy.7daySame breakdown averaged over 7 days.
apy.30daySame breakdown averaged over 30 days.
Use apy.7day.total or apy.30day.total for user-facing yield displays. The 1-hour and 1-day figures are noisier and better suited for dashboards or anomaly detection.

Composite APY (nested vaults)

When a vault’s underlying asset is itself another vault’s LP token (e.g. a vault that deposits into another yield vault), an additional apyComposite object is present. It compounds both layers of yield into a single figure.
FieldDescription
apyComposite.totalApyCompounded APY combining this vault and the underlying vault (same 1h/1d/7d/30d windows).
apyComposite.intrinsicApyThe underlying vault’s own APY, before compounding.
apyComposite.vault.vaultIdID of the underlying vault.
apyComposite.assetAsset details of the underlying vault.

TVL

FieldDescription
tvl.usdTotal value locked, denominated in USD.
tvl.nativeTotal value locked, denominated in the vault’s native asset.

Additional Rewards

Many vaults distribute bonus reward tokens on top of base yield. Each entry in the rewards array represents one reward token.
FieldDescription
rewards[].asset.symbolReward token symbol.
rewards[].asset.assetPriceInUsdCurrent USD price of the reward token.
rewards[].apy.1hourReward APY over 1 hour.
rewards[].apy.1dayReward APY over 1 day.
rewards[].apy.7dayReward APY over 7 days.
rewards[].apy.30dayReward APY over 30 days.
Reward APYs are already included in the top-level apy.*.reward field. The rewards array lets you attribute yield to specific tokens and display individual reward rates.

Reputation Score

Vaults.fyi computes a composite reputation score for each vault based on several risk signals. Higher is better. See Reputation Scores for methodology.
FieldDescription
score.vaultScoreComposite score combining all sub-scores.
score.vaultTvlScoreScore component based on this vault’s TVL.
score.protocolTvlScoreScore component based on the protocol’s total TVL.
score.holderScoreScore component based on holder count and distribution.
score.networkScoreScore component based on which network the vault is on.
score.assetScoreScore component based on the underlying asset type and liquidity.

Holders

FieldDescription
holdersData.totalCountTotal number of unique vault holders.
holdersData.totalBalanceCombined LP token balance across all holders.
holdersData.topHolders[].addressAddress of a top holder.
holdersData.topHolders[].lpTokenBalanceLP token balance of that holder.

Capacity

FieldDescription
maxCapacityMaximum total deposit capacity enforced by the vault, in asset units. Omitted if uncapped.
remainingCapacityHow much more can be deposited before the cap is reached.

Fee Structure

FieldDescription
fees.performanceFeePercentage of yield taken by the protocol (as a decimal, e.g. 0.10 for 10%).
fees.managementFeeAnnual fee on AUM (as a decimal).
fees.withdrawalFeeFee charged on withdrawals (as a decimal).
fees.depositFeeFee charged on deposits (as a decimal).
All fee fields are optional and omitted when not applicable to a given vault.

Flags and Warnings

FieldDescription
warningsArray of plain-text warning strings. Used for notices that don’t require action (e.g. migration announcements).
flags[].contentFlag message text.
flags[].severityOne of info, warning, or critical.
flags[].endDateUnix timestamp when the flag expires. Past flags are not returned.
Use flags to surface active protocol notices in your UI, such as paused deposits, ongoing audits, or deprecation notices.

Transactional Support

FieldDescription
isTransactionalWhether this vault supports the Transactions API for deposit, redeem, and claim flows.
transactionalProperties.depositStepsTypeinstant (single tx) or complex (multi-step, e.g. requires approval).
transactionalProperties.redeemStepsTypeinstant or complex.
transactionalProperties.rewardsSupportedWhether reward claim transactions are supported for this vault.
See Transactions for full details on building deposit and withdrawal flows.

Other Metadata

FieldDescription
additionalIncentivesFree-text description of any non-token incentives (e.g. points, airdrop eligibility).
childrenVaultsFor aggregator vaults: the list of sub-vaults the vault allocates to, each with their own asset and LP token info.
userEventsIndexedWhether deposit and withdrawal events for this vault are indexed and queryable via the portfolio endpoints.
isCorruptedFlags vaults where the indexed data is known to be unreliable. Exclude these from production displays.

Historical Time-Series

The following is available from the historical endpoints (GET /v2/historical/{network}/{vaultId}). Each data point in the time series includes:
FieldDescription
timestampUnix timestamp of the snapshot.
blockNumberBlock number of the snapshot.
apy.base / apy.reward / apy.totalAPY breakdown at that point in time.
tvl.usd / tvl.nativeTVL at that point in time.
sharePriceShare price of the vault at that block.
Separate endpoints allow fetching APY-only, TVL-only, or share price-only history for lower cost. See Historical.

Near Real-Time Metrics

Requires a PRO API key.
For applications that need the most current vault state (deposit previews, live dashboards, liquidation monitoring), the NRT endpoints query onchain state directly rather than relying on the hourly index.
EndpointReturns
/v2/nrt/vault/{network}/{vaultId}All four metrics in one call
/v2/nrt/vault/{network}/{vaultId}/sharePriceCurrent share price
/v2/nrt/vault/{network}/{vaultId}/totalAssetsTotal assets in asset-wei
/v2/nrt/vault/{network}/{vaultId}/totalSupplyTotal LP token supply in asset-wei
/v2/nrt/vault/{network}/{vaultId}/underlyingAssetPriceCurrent USD price of the underlying asset

User Position Data

The portfolio endpoints return per-wallet position data for any vault where userEventsIndexed is true.

Current position

GET /v2/portfolio/positions/{userAddress}/{network}/{vaultId}
FieldDescription
asset.balanceNativePosition value in the underlying asset’s native units.
asset.balanceUsdPosition value in USD (omitted if asset price unavailable).
asset.unclaimedNativeUnclaimed reward balance in native units.
asset.unclaimedUsdUnclaimed reward value in USD.
asset.positionValueInAssetPosition value expressed in asset precision.
lpToken.balanceNativeLP token balance held by the user.
lpToken.balanceUsdLP token balance in USD.
lpToken.assetPriceInUsdCurrent LP token price in USD.

Total returns

GET /v2/portfolio/total-returns/{userAddress}/{network}/{vaultId}
FieldDescription
returnsNativeTotal yield earned by this address in this vault, in native token units.
symbol / name / assetPriceInUsdAsset details for display.

Transaction history

GET /v2/portfolio/events/{userAddress}/{network}/{vaultId}
FieldDescription
eventTypeTransaction type: deposit, withdrawal, or reward claim.
timestampUnix timestamp of the transaction.
assetAmountNativeAsset amount moved, in native units.
sharePriceLP token share price at time of transaction.
lpTokenAmountNumber of LP tokens minted or burned.
transactionHashOn-chain transaction hash.
logIndexLog index for disambiguation within a block.