vaults.fyi
Get all current vault positions held by a wallet address across supported networks. Requires header x-402-auth: true to receive x402 payment challenge.
Offering
- Provider
- vaults.fyi
- Method
- GET
- Offering type
- Api Endpoint
- Transport type
- http
- Category
- Financial Analysis
- Delivery
- Not provided
- Pricing model
- Not provided
- x402 version
- 2
Endpoint context
- URL
https://api.vaults.fyi/v2/portfolio/positions/%7Baddress%7D- MIME type
- application/json
- First seen
- 2026-10-16T01:50:03.310Z
- Last seen
- Tags
- X402, DeFi, yield, vaults, Portfolio, on-chain
Payment pricing
x402 payment terms are the authoritative price for calling this endpoint.
- Payment option 1
- 0.01 USDC
Atomic price: 10000 · Network: eip155:8453 · Asset: USDC · Scheme: exact - Payment option 2
- 0.01 USDC
Atomic price: 10000 · Network: eip155:8453 · Asset: USDC · Scheme: batch-settlement
Raw x402 terms
[
{
"scheme": "exact",
"network": "eip155:8453",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "10000",
"payTo": "0x108BCd8a07C3fdfca3Aa500784A8573123a1029F"
},
{
"scheme": "batch-settlement",
"network": "eip155:8453",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "10000",
"payTo": "0x108BCd8a07C3fdfca3Aa500784A8573123a1029F"
}
]Observed health
- Status
- Reachable
- Latest latency
- 122 ms
- Average latency
- 416 ms
- HTTP status
- 400
- Last checked
- Reachability
- 100% over 14 checks
Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.
Input schema
{
"type": "http",
"method": "GET",
"pathParams": {
"type": "object",
"required": [
"userAddress"
],
"properties": {
"userAddress": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "User address to be used for best vault calculation"
}
}
},
"queryParams": {
"type": "object",
"properties": {
"tags": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Tags to be included."
},
"maxApy": {
"type": "number",
"description": "Maximum APY (in decimal) of the vaults to be included"
},
"maxTvl": {
"type": "integer",
"description": "Maximum TVL in USD of the vaults to be included"
},
"minApy": {
"type": "number",
"description": "Minimum APY (in decimal) of the vaults to be included"
},
"minTvl": {
"type": "integer",
"default": 100000,
"minimum": 0,
"description": "Minimum TVL in USD of the vaults to be included"
},
"sortBy": {
"enum": [
"balanceUsd",
"tvl",
"apy1Day",
"apy7Day",
"apy30Day"
],
"type": "string",
"description": "Field to sort by."
},
"curators": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Curators to be included."
},
"sortOrder": {
"enum": [
"asc",
"desc"
],
"type": "string",
"default": "asc",
"description": "Sort order, either asc or desc. Ascending is default."
},
"apyInterval": {
"enum": [
"1day",
"7day",
"30day"
],
"type": "string",
"default": "7day",
"description": "Interval for APY data. Possible values: 1day, 7day, 30day"
},
"allowedAssets": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Assets to be included by symbol(ticker)."
},
"minVaultScore": {
"type": "number",
"minimum": 0,
"description": "Minimum vault score required for a vault to be included"
},
"allowCorrupted": {
"type": "boolean",
"default": false,
"description": "Allow inclusion of corrupted vaults."
},
"allowedNetworks": {
"type": "array",
"items": {
"enum": [
"mainnet",
"optimism",
"arbitrum",
"polygon",
"gnosis",
"base",
"unichain",
"swellchain",
"celo",
"worldchain",
"berachain",
"ink",
"bsc",
"hyperliquid",
"plasma",
"avalanche",
"katana",
"linea",
"mega-eth",
"monad",
"etherlink",
"robinhood",
"eip155:1",
"eip155:10",
"eip155:42161",
"eip155:137",
"eip155:100",
"eip155:8453",
"eip155:130",
"eip155:1923",
"eip155:42220",
"eip155:480",
"eip155:80094",
"eip155:57073",
"eip155:56",
"eip155:999",
"eip155:9745",
"eip155:43114",
"eip155:747474",
"eip155:59144",
"eip155:4326",
"eip155:143",
"eip155:42793",
"eip155:4663"
],
"type": "string",
"description": "Include only vaults with provided network(name or CAIP)"
},
"default": [
"base",
"mainnet",
"arbitrum",
"optimism"
],
"description": "Networks to be included (name or CAIP)."
},
"onlyAppFeatured": {
"type": "boolean",
"description": "Include only vaults that are featured in app.vaults.fyi"
},
"allowedProtocols": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Protocols to be included by protocol ID or name."
},
"disallowedAssets": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Assets to be excluded by symbol(ticker). The parameter is ignored if \"allowedAssets\" is specified."
},
"onlyTransactional": {
"type": "boolean",
"description": "Include only vaults that are supported in the transactional interface."
},
"disallowedNetworks": {
"type": "array",
"items": {
"enum": [
"mainnet",
"optimism",
"arbitrum",
"polygon",
"gnosis",
"base",
"unichain",
"swellchain",
"celo",
"worldchain",
"berachain",
"ink",
"bsc",
"hyperliquid",
"plasma",
"avalanche",
"katana",
"linea",
"mega-eth",
"monad",
"etherlink",
"robinhood",
"eip155:1",
"eip155:10",
"eip155:42161",
"eip155:137",
"eip155:100",
"eip155:8453",
"eip155:130",
"eip155:1923",
"eip155:42220",
"eip155:480",
"eip155:80094",
"eip155:57073",
"eip155:56",
"eip155:999",
"eip155:9745",
"eip155:43114",
"eip155:747474",
"eip155:59144",
"eip155:4326",
"eip155:143",
"eip155:42793",
"eip155:4663"
],
"type": "string",
"description": "Include only vaults with provided network(name or CAIP)"
},
"description": "Networks to be excluded (name or CAIP). The parameter is ignored if \"allowedNetworks\" is specified."
},
"disallowedProtocols": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
},
"description": "Protocols to be excluded by protocol ID or name. The parameter is ignored if \"allowedProtocols\" is specified."
},
"allowVaultsWithWarnings": {
"type": "boolean",
"description": "Whether to include vaults with warnings. Defaults to true."
},
"minUsdAssetValueThreshold": {
"type": "number",
"default": 1,
"minimum": 0,
"description": "Minimum USD value of the vault to be included"
}
}
}
}Output schema
{
"type": "object",
"required": [
"data",
"errors"
],
"properties": {
"data": {
"type": "array",
"items": {
"type": "object",
"required": [
"vaultId",
"address",
"network",
"asset",
"name",
"protocol",
"isTransactional",
"isAppFeatured",
"userEventsIndexed",
"apy"
],
"properties": {
"apy": {
"type": "object",
"required": [
"base",
"reward",
"total"
],
"properties": {
"base": {
"type": "number",
"description": "Base APY"
},
"total": {
"type": "number",
"description": "Total APY"
},
"reward": {
"type": "number",
"description": "Reward APY"
}
},
"description": "APY details of the vault",
"additionalProperties": false
},
"name": {
"type": "string",
"description": "Name of the vault"
},
"asset": {
"type": "object",
"required": [
"address",
"assetCaip",
"name",
"symbol",
"decimals",
"assetGroup",
"balanceNative"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the asset"
},
"symbol": {
"type": "string",
"description": "Symbol of the asset"
},
"address": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "Address of the asset"
},
"decimals": {
"type": "integer",
"description": "Number of decimals of the asset"
},
"assetCaip": {
"type": "string",
"pattern": "^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$",
"description": "CAIP-2 of the asset"
},
"assetLogo": {
"type": "string",
"format": "uri",
"description": "URL of the asset logo"
},
"assetGroup": {
"type": "string",
"description": "Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"
},
"balanceUsd": {
"type": "string",
"description": "Balance of the asset denominated in usd. Omitted when no price is available."
},
"unclaimedUsd": {
"type": "string",
"description": "Unclaimed balance of the asset in the position denominated in usd"
},
"balanceNative": {
"type": "string",
"description": "Balance of the asset denominated in asset precision"
},
"assetPriceInUsd": {
"type": "string",
"description": "Price of the asset in USD"
},
"unclaimedNative": {
"type": "string",
"description": "Unclaimed balance of the asset in the position denominated in asset precision"
},
"positionValueInAsset": {
"type": "string",
"description": "Position value in asset denominated in asset precision"
}
},
"description": "Asset details of the vault",
"additionalProperties": false
},
"address": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "Address of the vault"
},
"lpToken": {
"type": "object",
"required": [
"address",
"tokenCaip",
"name",
"symbol",
"decimals",
"balanceNative"
],
"properties": {
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"address": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$"
},
"decimals": {
"type": "integer"
},
"tokenCaip": {
"type": "string",
"pattern": "^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$"
},
"balanceUsd": {
"type": "string",
"description": "Balance of the asset denominated in usd. Omitted when no price is available."
},
"unclaimedUsd": {
"type": "string",
"description": "Unclaimed balance of the asset in the position denominated in usd"
},
"balanceNative": {
"type": "string",
"description": "Balance of the asset denominated in asset precision"
},
"assetPriceInUsd": {
"type": "string",
"description": "Price of the asset in USD"
},
"unclaimedNative": {
"type": "string",
"description": "Unclaimed balance of the asset in the position denominated in asset precision"
},
"positionValueInAsset": {
"type": "string",
"description": "Position value in asset denominated in asset precision"
}
},
"description": "LP token details of the vault",
"additionalProperties": false
},
"network": {
"type": "object",
"required": [
"name",
"chainId",
"networkCaip"
],
"properties": {
"name": {
"enum": [
"mainnet",
"optimism",
"arbitrum",
"polygon",
"gnosis",
"base",
"unichain",
"swellchain",
"celo",
"worldchain",
"berachain",
"ink",
"bsc",
"hyperliquid",
"plasma",
"avalanche",
"katana",
"linea",
"mega-eth",
"monad",
"etherlink",
"robinhood"
],
"type": "string",
"description": "Name of the network"
},
"chainId": {
"type": "integer",
"description": "Chain ID of the network"
},
"networkCaip": {
"type": "string",
"pattern": "^eip155:\\d+$",
"description": "CAIP-2 of the network"
}
},
"description": "Network details of the vault",
"additionalProperties": false
},
"vaultId": {
"type": "string",
"description": "Stable vault identity for API lookups and links"
},
"protocol": {
"type": "object",
"required": [
"protocolId",
"name"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the protocol"
},
"product": {
"type": "string",
"description": "Product of the protocol"
},
"version": {
"type": "string",
"description": "Version of the protocol"
},
"protocolId": {
"type": "string",
"description": "Lowercase protocol ID constructed from its name, product, and version"
},
"description": {
"type": "string",
"description": "Description of the protocol"
},
"displayName": {
"type": "string",
"description": "Display name of the protocol"
},
"protocolUrl": {
"type": "string",
"description": "URL of the protocol"
},
"protocolLogo": {
"type": "string",
"description": "URL of the protocol logo"
}
},
"description": "Protocol details of the vault",
"additionalProperties": false
},
"apyComposite": {
"type": "object",
"required": [
"totalApy",
"intrinsicApy",
"asset",
"vault"
],
"properties": {
"asset": {
"type": "object",
"required": [
"address",
"assetCaip",
"name",
"symbol",
"decimals",
"assetGroup"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the asset"
},
"symbol": {
"type": "string",
"description": "Symbol of the asset"
},
"address": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "Address of the asset"
},
"decimals": {
"type": "integer",
"description": "Number of decimals of the asset"
},
"assetCaip": {
"type": "string",
"pattern": "^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$",
"description": "CAIP-2 of the asset"
},
"assetLogo": {
"type": "string",
"format": "uri",
"description": "URL of the asset logo"
},
"assetGroup": {
"type": "string",
"description": "Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"
},
"assetPriceInUsd": {
"type": "string",
"description": "Price of the asset in USD"
}
},
"description": "Asset details of the underlying vault",
"additionalProperties": false
},
"vault": {
"type": "object",
"required": [
"vaultId",
"address"
],
"properties": {
"address": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "Address of the underlying vault"
},
"vaultId": {
"type": "string",
"description": "Vault id of the underlying vault"
}
},
"additionalProperties": false
},
"totalApy": {
"type": "object",
"required": [
"base",
"reward",
"total"
],
"properties": {
"base": {
"type": "number",
"description": "Base APY"
},
"total": {
"type": "number",
"description": "Total APY"
},
"reward": {
"type": "number",
"description": "Reward APY"
}
},
"description": "Compounded APY combining the vault and its underlying vault",
"additionalProperties": false
},
"intrinsicApy": {
"type": "object",
"required": [
"base",
"reward",
"total"
],
"properties": {
"base": {
"type": "number",
"description": "Base APY"
},
"total": {
"type": "number",
"description": "Total APY"
},
"reward": {
"type": "number",
"description": "Reward APY"
}
},
"description": "APY of the underlying vault before compounding",
"additionalProperties": false
}
},
"description": "Composite APY data when vault asset is another vault LP token. When present, totalApy compounds the current vault with the underlying vault and intrinsicApy shows the underlying vault's own APY",
"additionalProperties": false
},
"isAppFeatured": {
"type": "boolean",
"description": "Indicates if the vault is featured in app.vaults.fyi"
},
"childrenVaults": {
"type": "array",
"items": {
"type": "object",
"required": [
"vaultId",
"address",
"asset"
],
"properties": {
"asset": {
"type": "object",
"required": [
"address",
"assetCaip",
"name",
"symbol",
"decimals",
"assetGroup",
"balanceNative"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the asset"
},
"symbol": {
"type": "string",
"description": "Symbol of the asset"
},
"address": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "Address of the asset"
},
"decimals": {
"type": "integer",
"description": "Number of decimals of the asset"
},
"assetCaip": {
"type": "string",
"pattern": "^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$",
"description": "CAIP-2 of the asset"
},
"assetLogo": {
"type": "string",
"format": "uri",
"description": "URL of the asset logo"
},
"assetGroup": {
"type": "string",
"description": "Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"
},
"balanceUsd": {
"type": "string",
"description": "Balance of the asset denominated in usd. Omitted when no price is available."
},
"unclaimedUsd": {
"type": "string",
"description": "Unclaimed balance of the asset in the position denominated in usd"
},
"balanceNative": {
"type": "string",
"description": "Balance of the asset denominated in asset precision"
},
"assetPriceInUsd": {
"type": "string",
"description": "Price of the asset in USD"
},
"unclaimedNative": {
"type": "string",
"description": "Unclaimed balance of the asset in the position denominated in asset precision"
},
"positionValueInAsset": {
"type": "string",
"description": "Position value in asset denominated in asset precision"
}
},
"description": "Asset details of the child vault",
"additionalProperties": false
},
"address": {
"type": "string",
"description": "Address of the child vault"
},
"lpToken": {
"type": "object",
"required": [
"address",
"tokenCaip",
"name",
"symbol",
"decimals",
"balanceNative"
],
"properties": {
"name": {
"type": "string"
},
"symbol": {
"type": "string"
},
"address": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$"
},
"decimals": {
"type": "integer"
},
"tokenCaip": {
"type": "string",
"pattern": "^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$"
},
"balanceUsd": {
"type": "string",
"description": "Balance of the asset denominated in usd. Omitted when no price is available."
},
"unclaimedUsd": {
"type": "string",
"description": "Unclaimed balance of the asset in the position denominated in usd"
},
"balanceNative": {
"type": "string",
"description": "Balance of the asset denominated in asset precision"
},
"assetPriceInUsd": {
"type": "string",
"description": "Price of the asset in USD"
},
"unclaimedNative": {
"type": "string",
"description": "Unclaimed balance of the asset in the position denominated in asset precision"
},
"positionValueInAsset": {
"type": "string",
"description": "Position value in asset denominated in asset precision"
}
},
"description": "LP token details of the child vault",
"additionalProperties": false
},
"vaultId": {
"type": "string",
"description": "Vault id of the child vault"
},
"additionalAssets": {
"type": "array",
"items": {
"type": "object",
"required": [
"address",
"assetCaip",
"name",
"symbol",
"decimals",
"assetGroup",
"balanceNative"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the asset"
},
"symbol": {
"type": "string",
"description": "Symbol of the asset"
},
"address": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "Address of the asset"
},
"decimals": {
"type": "integer",
"description": "Number of decimals of the asset"
},
"assetCaip": {
"type": "string",
"pattern": "^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$",
"description": "CAIP-2 of the asset"
},
"assetLogo": {
"type": "string",
"format": "uri",
"description": "URL of the asset logo"
},
"assetGroup": {
"type": "string",
"description": "Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"
},
"balanceUsd": {
"type": "string",
"description": "Balance of the asset denominated in usd. Omitted when no price is available."
},
"unclaimedUsd": {
"type": "string",
"description": "Unclaimed balance of the asset in the position denominated in usd"
},
"balanceNative": {
"type": "string",
"description": "Balance of the asset denominated in asset precision"
},
"assetPriceInUsd": {
"type": "string",
"description": "Price of the asset in USD"
},
"unclaimedNative": {
"type": "string",
"description": "Unclaimed balance of the asset in the position denominated in asset precision"
},
"positionValueInAsset": {
"type": "string",
"description": "Position value in asset denominated in asset precision"
}
},
"additionalProperties": false
},
"description": "Additional assets of the child vault"
}
},
"additionalProperties": false
},
"description": "List of child vaults"
},
"isTransactional": {
"type": "boolean",
"description": "Indicates if the vault supports transactional endpoints"
},
"additionalAssets": {
"type": "array",
"items": {
"type": "object",
"required": [
"address",
"assetCaip",
"name",
"symbol",
"decimals",
"assetGroup",
"balanceNative"
],
"properties": {
"name": {
"type": "string",
"description": "Name of the asset"
},
"symbol": {
"type": "string",
"description": "Symbol of the asset"
},
"address": {
"type": "string",
"pattern": "^0x[a-fA-F0-9]{40}$",
"description": "Address of the asset"
},
"decimals": {
"type": "integer",
"description": "Number of decimals of the asset"
},
"assetCaip": {
"type": "string",
"pattern": "^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$",
"description": "CAIP-2 of the asset"
},
"assetLogo": {
"type": "string",
"format": "uri",
"description": "URL of the asset logo"
},
"assetGroup": {
"type": "string",
"description": "Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"
},
"balanceUsd": {
"type": "string",
"description": "Balance of the asset denominated in usd. Omitted when no price is available."
},
"unclaimedUsd": {
"type": "string",
"description": "Unclaimed balance of the asset in the position denominated in usd"
},
"balanceNative": {
"type": "string",
"description": "Balance of the asset denominated in asset precision"
},
"assetPriceInUsd": {
"type": "string",
"description": "Price of the asset in USD"
},
"unclaimedNative": {
"type": "string",
"description": "Unclaimed balance of the asset in the position denominated in asset precision"
},
"positionValueInAsset": {
"type": "string",
"description": "Position value in asset denominated in asset precision"
}
},
"additionalProperties": false
},
"description": "Additional assets of the vault"
},
"userEventsIndexed": {
"type": "boolean",
"description": "Indicates if user events related to the vault are indexed and available in the API"
}
},
"additionalProperties": false
}
},
"errors": {
"type": "object",
"required": [
"unsupportedNetworks",
"unsupportedAssets",
"unsupportedProtocols"
],
"properties": {
"unsupportedAssets": {
"type": "array",
"items": {
"type": "string"
}
},
"unsupportedNetworks": {
"type": "array",
"items": {
"type": "string"
}
},
"unsupportedProtocols": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}