Portfolio
Provides all vault positions for the user, with optional filters.
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
Maximum TVL in USD of the vaults to be included
Maximum APY (in decimal) 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
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
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",
"assetGroup": "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",
"assetGroup": "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",
"assetGroup": "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",
"assetGroup": "text",
"balanceNative": "text",
"balanceUsd": "text",
"unclaimedNative": "text",
"unclaimedUsd": "text",
"positionValueInAsset": "text"
}
]
}
]
}
],
"errors": {
"unsupportedNetworks": [
"text"
],
"unsupportedAssets": [
"text"
],
"unsupportedProtocols": [
"text"
]
}
}
Gives a detailed view of one specific vault position on a given network.
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: Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
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",
"assetGroup": "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",
"assetGroup": "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",
"assetGroup": "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",
"assetGroup": "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
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
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
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",
"assetGroup": "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"
]
}
}
Returns the single best vault opportunity for the user, based on balance and yield analysis.
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
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
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
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",
"assetGroup": "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"
]
}
}
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
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
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",
"assetGroup": "text",
"balanceNative": "text",
"balanceUsd": "text",
"network": {
"name": "mainnet",
"chainId": 1,
"networkCaip": "text"
}
}
],
"errors": {
"unsupportedNetworks": [
"text"
],
"unsupportedAssets": [
"text"
]
}
}
Retrieves the total returns for a user's position in a specific vault, including asset details and native returns amount.
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}$
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
GET /v2/portfolio/total-returns/{userAddress}/{network}/{vaultAddress} HTTP/1.1
Host: api.vaults.fyi
x-api-key: YOUR_API_KEY
Accept: */*
{
"address": "text",
"assetCaip": "text",
"name": "text",
"symbol": "text",
"decimals": 1,
"assetLogo": "https://example.com",
"assetPriceInUsd": "text",
"assetGroup": "text",
"returnsNative": "text"
}
Retrieves all transactions (deposits and withdrawals) for a user's position in a specific vault, including transaction details and metadata.
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}$
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
Default Response
GET /v2/portfolio/events/{userAddress}/{network}/{vaultAddress} HTTP/1.1
Host: api.vaults.fyi
x-api-key: YOUR_API_KEY
Accept: */*
{
"asset": {
"address": "text",
"assetCaip": "text",
"name": "text",
"symbol": "text",
"decimals": 1,
"assetLogo": "https://example.com",
"assetPriceInUsd": "text",
"assetGroup": "text"
},
"lpToken": {
"address": "text",
"tokenCaip": "text",
"name": "text",
"symbol": "text",
"decimals": 1
},
"data": [
{
"timestamp": 1,
"blockNumber": "text",
"eventType": "deposit",
"assetAmountNative": "text",
"sharePrice": 1,
"lpTokenAmount": "text",
"transactionHash": "text",
"logIndex": 1
}
],
"items": 1
}
Last updated