Portfolio
Retrieves historical APY and TVL for a specific vault, based on the provided query parameters.
User address to be used for best vault calculation
^0x[a-fA-F0-9]{40}$
Assets to be included by symbol(ticker).
Assets to be excluded by symbol(ticker). The parameter is ignored if "allowedAssets" is specified.
Protocols to be included by name.
Protocols to be excluded by name. The parameter is ignored if "allowedProtocols" is specified.
Minimum TVL in USD of the vaults to be included
100000
Include only vaults that are supported in the transactional interface.
Include only vaults that are featured in app.vaults.fyi
Networks to be included (name or CAIP).
["base","mainnet","arbitrum","optimism"]
Include only vaults with provided network(name or CAIP)
Networks to be excluded (name or CAIP). The parameter is ignored if "allowedNetworks" is specified.
Include only vaults with provided network(name or CAIP)
Interval for APY data. Possible values: 1day, 7day, 30day
7day
Possible values: Minimum APY of the vault to be included
Minimum USD value of the vault to be included
1
GET /v2/portfolio/best-vault/{userAddress} HTTP/1.1
Host: api.vaults.fyi
x-api-key: YOUR_API_KEY
Accept: */*
{
"requestedAddress": "text",
"asset": {
"address": "text",
"assetCaip": "text",
"name": "text",
"symbol": "text",
"decimals": 1,
"assetLogo": "https://example.com",
"assetPriceInUsd": "text",
"balanceNative": "text",
"balanceUsd": "text"
},
"vault": {
"name": "text",
"address": "text",
"network": {
"name": "mainnet",
"chainId": 1,
"networkCaip": "text"
},
"isTransactional": true,
"isAppFeatured": true,
"protocol": {
"name": "text",
"product": "text",
"version": "text",
"protocolUrl": "text",
"description": "text",
"protocolLogo": "text"
},
"tvl": {
"usd": "text",
"native": "text"
},
"tags": [
"text"
],
"apy": {
"base": 1,
"reward": 1,
"total": 1
},
"projectedUsdAnnualEarnings": "text",
"lendUrl": "text",
"protocolVaultUrl": "text"
},
"errors": {
"unsupportedNetworks": [
"text"
],
"unsupportedAssets": [
"text"
],
"unsupportedProtocols": [
"text"
]
}
}
Retrieves historical APY and TVL for a specific vault, based on the provided query parameters.
User address to be used for best vault calculation
^0x[a-fA-F0-9]{40}$
Assets to be included by symbol(ticker).
Assets to be excluded by symbol(ticker). The parameter is ignored if "allowedAssets" is specified.
Protocols to be included by name.
Protocols to be excluded by name. The parameter is ignored if "allowedProtocols" is specified.
Minimum TVL in USD of the vaults to be included
100000
Include only vaults that are supported in the transactional interface.
Include only vaults that are featured in app.vaults.fyi
Networks to be included (name or CAIP).
["base","mainnet","arbitrum","optimism"]
Include only vaults with provided network(name or CAIP)
Networks to be excluded (name or CAIP). The parameter is ignored if "allowedNetworks" is specified.
Include only vaults with provided network(name or CAIP)
Maximum TVL in USD of the vaults to be included
Tags to be included.
Interval for APY data. Possible values: 1day, 7day, 30day
7day
Possible values: Minimum USD value of the vault to be included
1
GET /v2/portfolio/positions/{userAddress} HTTP/1.1
Host: api.vaults.fyi
x-api-key: YOUR_API_KEY
Accept: */*
{
"data": [
{
"address": "text",
"network": {
"name": "mainnet",
"chainId": 1,
"networkCaip": "text"
},
"asset": {
"address": "text",
"assetCaip": "text",
"name": "text",
"symbol": "text",
"decimals": 1,
"assetLogo": "https://example.com",
"assetPriceInUsd": "text",
"balanceNative": "text",
"balanceUsd": "text",
"unclaimedNative": "text",
"unclaimedUsd": "text",
"positionValueInAsset": "text"
},
"isTransactional": true,
"isAppFeatured": true,
"name": "text",
"protocol": {
"name": "text",
"product": "text",
"version": "text",
"protocolUrl": "text",
"description": "text",
"protocolLogo": "text"
},
"apy": {
"base": 1,
"reward": 1,
"total": 1
},
"additionalAssets": [
{
"address": "text",
"assetCaip": "text",
"name": "text",
"symbol": "text",
"decimals": 1,
"assetLogo": "https://example.com",
"assetPriceInUsd": "text",
"balanceNative": "text",
"balanceUsd": "text",
"unclaimedNative": "text",
"unclaimedUsd": "text",
"positionValueInAsset": "text"
}
],
"lpToken": {
"address": "text",
"tokenCaip": "text",
"name": "text",
"symbol": "text",
"decimals": 1,
"balanceNative": "text",
"balanceUsd": "text",
"unclaimedNative": "text",
"unclaimedUsd": "text",
"positionValueInAsset": "text",
"assetPriceInUsd": "text"
},
"childrenVaults": [
{
"address": "text",
"asset": {
"address": "text",
"assetCaip": "text",
"name": "text",
"symbol": "text",
"decimals": 1,
"assetLogo": "https://example.com",
"assetPriceInUsd": "text",
"balanceNative": "text",
"balanceUsd": "text",
"unclaimedNative": "text",
"unclaimedUsd": "text",
"positionValueInAsset": "text"
},
"lpToken": {
"address": "text",
"tokenCaip": "text",
"name": "text",
"symbol": "text",
"decimals": 1,
"balanceNative": "text",
"balanceUsd": "text",
"unclaimedNative": "text",
"unclaimedUsd": "text",
"positionValueInAsset": "text",
"assetPriceInUsd": "text"
},
"additionalAssets": [
{
"address": "text",
"assetCaip": "text",
"name": "text",
"symbol": "text",
"decimals": 1,
"assetLogo": "https://example.com",
"assetPriceInUsd": "text",
"balanceNative": "text",
"balanceUsd": "text",
"unclaimedNative": "text",
"unclaimedUsd": "text",
"positionValueInAsset": "text"
}
]
}
]
}
],
"errors": {
"unsupportedNetworks": [
"text"
],
"unsupportedAssets": [
"text"
],
"unsupportedProtocols": [
"text"
]
}
}
Retrieves historical APY and TVL for a specific vault, based on the provided query parameters.
User address to be used for best vault calculation
^0x[a-fA-F0-9]{40}$
Include only vaults with provided network(name or CAIP)
Address of the vault for which the data will be returned
^0x[a-fA-F0-9]{40}$
Interval for APY data. Possible values: 1day, 7day, 30day
7day
Possible values: GET /v2/portfolio/positions/{userAddress}/{network}/{vaultAddress} HTTP/1.1
Host: api.vaults.fyi
x-api-key: YOUR_API_KEY
Accept: */*
{
"address": "text",
"network": {
"name": "mainnet",
"chainId": 1,
"networkCaip": "text"
},
"asset": {
"address": "text",
"assetCaip": "text",
"name": "text",
"symbol": "text",
"decimals": 1,
"assetLogo": "https://example.com",
"assetPriceInUsd": "text",
"balanceNative": "text",
"balanceUsd": "text",
"unclaimedNative": "text",
"unclaimedUsd": "text",
"positionValueInAsset": "text"
},
"isTransactional": true,
"isAppFeatured": true,
"name": "text",
"protocol": {
"name": "text",
"product": "text",
"version": "text",
"protocolUrl": "text",
"description": "text",
"protocolLogo": "text"
},
"apy": {
"base": 1,
"reward": 1,
"total": 1
},
"additionalAssets": [
{
"address": "text",
"assetCaip": "text",
"name": "text",
"symbol": "text",
"decimals": 1,
"assetLogo": "https://example.com",
"assetPriceInUsd": "text",
"balanceNative": "text",
"balanceUsd": "text",
"unclaimedNative": "text",
"unclaimedUsd": "text",
"positionValueInAsset": "text"
}
],
"lpToken": {
"address": "text",
"tokenCaip": "text",
"name": "text",
"symbol": "text",
"decimals": 1,
"balanceNative": "text",
"balanceUsd": "text",
"unclaimedNative": "text",
"unclaimedUsd": "text",
"positionValueInAsset": "text",
"assetPriceInUsd": "text"
},
"childrenVaults": [
{
"address": "text",
"asset": {
"address": "text",
"assetCaip": "text",
"name": "text",
"symbol": "text",
"decimals": 1,
"assetLogo": "https://example.com",
"assetPriceInUsd": "text",
"balanceNative": "text",
"balanceUsd": "text",
"unclaimedNative": "text",
"unclaimedUsd": "text",
"positionValueInAsset": "text"
},
"lpToken": {
"address": "text",
"tokenCaip": "text",
"name": "text",
"symbol": "text",
"decimals": 1,
"balanceNative": "text",
"balanceUsd": "text",
"unclaimedNative": "text",
"unclaimedUsd": "text",
"positionValueInAsset": "text",
"assetPriceInUsd": "text"
},
"additionalAssets": [
{
"address": "text",
"assetCaip": "text",
"name": "text",
"symbol": "text",
"decimals": 1,
"assetLogo": "https://example.com",
"assetPriceInUsd": "text",
"balanceNative": "text",
"balanceUsd": "text",
"unclaimedNative": "text",
"unclaimedUsd": "text",
"positionValueInAsset": "text"
}
]
}
]
}
Analyzes a user's existing wallet balances and recommends optimal vault deposit opportunities based on yield performance, risk parameters, and user-defined criteria.
User address to be used for best vault calculation
^0x[a-fA-F0-9]{40}$
Assets to be included by symbol(ticker).
Assets to be excluded by symbol(ticker). The parameter is ignored if "allowedAssets" is specified.
Protocols to be included by name.
Protocols to be excluded by name. The parameter is ignored if "allowedProtocols" is specified.
Minimum TVL in USD of the vaults to be included
100000
Include only vaults that are supported in the transactional interface.
Include only vaults that are featured in app.vaults.fyi
Networks to be included (name or CAIP).
["base","mainnet","arbitrum","optimism"]
Include only vaults with provided network(name or CAIP)
Networks to be excluded (name or CAIP). The parameter is ignored if "allowedNetworks" is specified.
Include only vaults with provided network(name or CAIP)
Interval for APY data. Possible values: 1day, 7day, 30day
7day
Possible values: Minimum APY of the vault to be included
Minimum USD value of the vault to be included
1
Assets to always be included in the response.
Maximum number of vaults to be included per asset.
3
GET /v2/portfolio/best-deposit-options/{userAddress} HTTP/1.1
Host: api.vaults.fyi
x-api-key: YOUR_API_KEY
Accept: */*
{
"requestedAddress": "text",
"userBalances": [
{
"asset": {
"address": "text",
"assetCaip": "text",
"name": "text",
"symbol": "text",
"decimals": 1,
"assetLogo": "https://example.com",
"assetPriceInUsd": "text",
"balanceNative": "text",
"balanceUsd": "text"
},
"depositOptions": [
{
"name": "text",
"address": "text",
"network": {
"name": "mainnet",
"chainId": 1,
"networkCaip": "text"
},
"isTransactional": true,
"isAppFeatured": true,
"protocol": {
"name": "text",
"product": "text",
"version": "text",
"protocolUrl": "text",
"description": "text",
"protocolLogo": "text"
},
"tvl": {
"usd": "text",
"native": "text"
},
"tags": [
"text"
],
"apy": {
"base": 1,
"reward": 1,
"total": 1
},
"projectedUsdAnnualEarnings": "text",
"lendUrl": "text",
"protocolVaultUrl": "text"
}
]
}
],
"errors": {
"unsupportedNetworks": [
"text"
],
"unsupportedAssets": [
"text"
],
"unsupportedProtocols": [
"text"
]
}
}
Retrieves the cumulative investment returns for a user's position in a specific vault, showing total yield earned in both native token amount and USD value. Supported networks: arbitrum, base, mainnet, optimism, polygon, gnosis, celo, swellchain, unichain
User address to get returns for
^0x[a-fA-F0-9]{40}$
Network to get returns for
Vault address to get returns for
^0x[a-fA-F0-9]{40}$
GET /v2/portfolio/returns/{userAddress}/{network}/{vaultAddress} HTTP/1.1
Host: api.vaults.fyi
x-api-key: YOUR_API_KEY
Accept: */*
{
"usd": "text",
"native": "text"
}
Get balances of idle assets for a specific user address.
User address to be used for best vault calculation
^0x[a-fA-F0-9]{40}$
Assets to be included by symbol(ticker).
Assets to be excluded by symbol(ticker). The parameter is ignored if "allowedAssets" is specified.
Minimum USD value of the asset to be included
0.5
Networks to be included (name or CAIP).
["base","mainnet","arbitrum","optimism"]
Include only vaults with provided network(name or CAIP)
Networks to be excluded (name or CAIP). The parameter is ignored if "allowedNetworks" is specified.
Include only vaults with provided network(name or CAIP)
GET /v2/portfolio/idle-assets/{userAddress} HTTP/1.1
Host: api.vaults.fyi
x-api-key: YOUR_API_KEY
Accept: */*
{
"data": [
{
"address": "text",
"assetCaip": "text",
"name": "text",
"symbol": "text",
"decimals": 1,
"assetLogo": "https://example.com",
"assetPriceInUsd": "text",
"balanceNative": "text",
"balanceUsd": "text",
"network": {
"name": "mainnet",
"chainId": 1,
"networkCaip": "text"
}
}
],
"errors": {
"unsupportedNetworks": [
"text"
],
"unsupportedAssets": [
"text"
]
}
}
Retrieves chronological event history for a user's interactions with a specific vault, including deposits, withdrawals, and transfers with timestamp and block number information. Supported networks: arbitrum, base, mainnet, optimism, polygon, gnosis, celo, swellchain, unichain
User address to get returns for
^0x[a-fA-F0-9]{40}$
Network to get returns for
Vault address to get returns for
^0x[a-fA-F0-9]{40}$
Page number (starting from 0)
0
Number of items per page
50
Timestamp for the start of the time period for which data will be fetched
0
Timestamp for the end of the time period for which data will be fetched
GET /v2/portfolio/events/{userAddress}/{network}/{vaultAddress} HTTP/1.1
Host: api.vaults.fyi
x-api-key: YOUR_API_KEY
Accept: */*
{
"itemsOnPage": 1,
"nextPage": 1,
"data": [
{
"timestamp": 1,
"blockNumber": "text",
"eventType": "Deposit",
"eventAssetAmount": {
"usd": "text",
"native": "text"
},
"resultingPosition": {
"usd": "text",
"native": "text"
}
}
]
}
Last updated