{"openapi":"3.0.3","info":{"title":"Vaults.fyi Beta API","version":"0.1.0","description":"Beta API endpoints for features in testing. These endpoints are not included in the main API documentation and may change without notice."},"components":{"securitySchemes":{"apiKey":{"type":"apiKey","name":"x-api-key","in":"header"}},"schemas":{}},"paths":{"/beta/borrow/markets/transactions/context/{userAddress}/{network}/{marketId}/{assetId}":{"get":{"operationId":"getBorrowMarketTransactionContext","summary":"Get borrow market transaction context","tags":["Borrow Markets"],"description":"Retrieves context for borrow market supply, withdraw, borrow, and repay transactions.","parameters":[{"schema":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"]},"in":"path","name":"network","required":true,"description":"Canonical network slug"},{"schema":{"type":"string","minLength":1},"in":"path","name":"marketId","required":true,"description":"Canonical market identifier"},{"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"in":"path","name":"userAddress","required":true,"description":"Address of the user whose borrow market transactions context is requested"},{"schema":{"type":"string","minLength":1},"in":"path","name":"assetId","required":true,"description":"Market asset identifier"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"marketId":{"type":"string"},"name":{"type":"string"},"network":{"type":"object","properties":{"name":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"],"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"}},"required":["name","chainId","networkCaip"],"additionalProperties":false},"protocol":{"type":"object","properties":{"protocolId":{"type":"string","description":"Lowercase protocol ID constructed from its name, product, and version"},"name":{"type":"string","description":"Name of the protocol"},"displayName":{"type":"string","description":"Display name of the protocol"},"product":{"type":"string","description":"Product of the protocol"},"version":{"type":"string","description":"Version of the protocol"},"protocolUrl":{"type":"string","description":"URL of the protocol"},"description":{"type":"string","description":"Description of the protocol"},"protocolLogo":{"type":"string","description":"URL of the protocol logo"}},"required":["protocolId","name"],"additionalProperties":false},"currentSupplyStep":{"type":"string","enum":["supply","withdraw","borrow","repay"]},"supplySteps":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","enum":["supply","withdraw","borrow","repay"]},"actions":{"type":"array","items":{"type":"string","enum":["approve","supply","enableCollateral","enableController","withdraw","borrow","repay"]}},"actionsUrl":{"type":"string"}},"required":["name","actions","actionsUrl"],"additionalProperties":false}},"currentWithdrawStep":{"type":"string","enum":["supply","withdraw","borrow","repay"]},"withdrawSteps":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","enum":["supply","withdraw","borrow","repay"]},"actions":{"type":"array","items":{"type":"string","enum":["approve","supply","enableCollateral","enableController","withdraw","borrow","repay"]}},"actionsUrl":{"type":"string"}},"required":["name","actions","actionsUrl"],"additionalProperties":false}},"currentBorrowStep":{"type":"string","enum":["supply","withdraw","borrow","repay"]},"borrowSteps":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","enum":["supply","withdraw","borrow","repay"]},"actions":{"type":"array","items":{"type":"string","enum":["approve","supply","enableCollateral","enableController","withdraw","borrow","repay"]}},"actionsUrl":{"type":"string"}},"required":["name","actions","actionsUrl"],"additionalProperties":false}},"currentRepayStep":{"type":"string","enum":["supply","withdraw","borrow","repay"]},"repaySteps":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","enum":["supply","withdraw","borrow","repay"]},"actions":{"type":"array","items":{"type":"string","enum":["approve","supply","enableCollateral","enableController","withdraw","borrow","repay"]}},"actionsUrl":{"type":"string"}},"required":["name","actions","actionsUrl"],"additionalProperties":false}},"asset":{"type":"object","properties":{"asset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"},"oraclePriceUsd":{"type":"string","description":"Lending protocol oracle price of the asset in USD. May differ from assetPriceInUsd."}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false},"collateralEnabled":{"type":"boolean"},"balanceNative":{"type":"string"},"suppliedNative":{"type":"string"},"borrowedNative":{"type":"string"}},"required":["asset","collateralEnabled","balanceNative","suppliedNative","borrowedNative"],"additionalProperties":false}},"required":["marketId","name","network","protocol","currentSupplyStep","supplySteps","currentWithdrawStep","withdrawSteps","currentBorrowStep","borrowSteps","currentRepayStep","repaySteps","asset"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/borrow/markets/transactions/{action}/{userAddress}/{network}/{marketId}/{assetId}":{"get":{"operationId":"createBorrowMarketTransaction","summary":"Create borrow market transaction","tags":["Borrow Markets"],"description":"Generates payloads for borrow market supply, withdraw, borrow, or repay transactions.","parameters":[{"schema":{"type":"string"},"in":"query","name":"amount","required":false,"description":"Amount of the asset to use in the transactions request"},{"schema":{"type":"boolean"},"in":"query","name":"all","required":false,"description":"If true, withdraw or repay the full available amount"},{"schema":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"]},"in":"path","name":"network","required":true,"description":"Canonical network slug"},{"schema":{"type":"string","minLength":1},"in":"path","name":"marketId","required":true,"description":"Canonical market identifier"},{"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"in":"path","name":"userAddress","required":true,"description":"Address of the user whose borrow market transactions context is requested"},{"schema":{"type":"string","minLength":1},"in":"path","name":"assetId","required":true,"description":"Market asset identifier"},{"schema":{"type":"string","enum":["supply","withdraw","borrow","repay"]},"in":"path","name":"action","required":true,"description":"Action to generate for borrow market transactions"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"currentActionIndex":{"type":"number"},"actions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the action"},"tx":{"type":"object","properties":{"to":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the transaction recipient"},"chainId":{"type":"integer","exclusiveMinimum":true,"minimum":0,"description":"Chain ID of the transaction"},"data":{"type":"string","description":"Data to be sent with the transaction"},"value":{"type":"string","description":"Value to be sent with the transaction"}},"required":["to","chainId"],"additionalProperties":false},"simulation":{"type":"object","properties":{"url":{"type":"string","description":"URL to simulated transaction"},"status":{"type":"string","enum":["success","failure","internal server error"],"description":"Status of the simulation"},"tokensReceived":{"type":"object","additionalProperties":{"type":"string"},"description":"Tokens received from the transaction"},"tokensSpent":{"type":"object","additionalProperties":{"type":"string"},"description":"Tokens spent in the transaction"}},"required":["url","status"],"additionalProperties":false}},"required":["name","tx"],"additionalProperties":false}}},"required":["currentActionIndex","actions"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/borrow/markets/":{"get":{"operationId":"listBorrowMarkets","summary":"List borrow markets","tags":["Borrow Markets"],"description":"Retrieves a paginated list of supported borrow markets across all supported networks.","parameters":[{"schema":{"type":"integer","minimum":0,"default":0},"in":"query","name":"page","required":false,"description":"Page number (starting from 0)"},{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":1000,"default":50},"in":"query","name":"perPage","required":false,"description":"Number of items per page"},{"schema":{"type":"array","items":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"]}},"in":"query","name":"allowedNetworks","required":false,"description":"Networks to be included by canonical network slug."},{"schema":{"type":"array","items":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"]}},"in":"query","name":"disallowedNetworks","required":false,"description":"Networks to be excluded by canonical network slug. Ignored if allowedNetworks is specified."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"allowedCollateralAssets","required":false,"description":"Collateral assets to be included by symbol, name, or address."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"disallowedCollateralAssets","required":false,"description":"Collateral assets to be excluded by symbol, name, or address. Ignored if allowedCollateralAssets is specified."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"allowedBorrowAssets","required":false,"description":"Borrow assets to be included by symbol, name, or address."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"disallowedBorrowAssets","required":false,"description":"Borrow assets to be excluded by symbol, name, or address. Ignored if allowedBorrowAssets is specified."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"allowedProtocols","required":false,"description":"Protocols to be included by protocol ID or name."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"disallowedProtocols","required":false,"description":"Protocols to be excluded by protocol ID or name. The parameter is ignored if \"allowedProtocols\" is specified."},{"schema":{"type":"integer","minimum":0},"in":"query","name":"minTvl","required":false,"description":"Minimum borrow market TVL in USD, computed from total supplied assets."},{"schema":{"type":"integer"},"in":"query","name":"maxTvl","required":false,"description":"Maximum borrow market TVL in USD, computed from total supplied assets."}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"itemsOnPage":{"type":"integer","description":"Number of items on the current page"},"nextPage":{"type":"integer","description":"Next page number"},"data":{"type":"array","items":{"type":"object","properties":{"marketId":{"type":"string"},"name":{"type":"string"},"network":{"type":"object","properties":{"name":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"],"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"}},"required":["name","chainId","networkCaip"],"additionalProperties":false},"protocol":{"type":"object","properties":{"protocolId":{"type":"string","description":"Lowercase protocol ID constructed from its name, product, and version"},"name":{"type":"string","description":"Name of the protocol"},"displayName":{"type":"string","description":"Display name of the protocol"},"product":{"type":"string","description":"Product of the protocol"},"version":{"type":"string","description":"Version of the protocol"},"protocolUrl":{"type":"string","description":"URL of the protocol"},"description":{"type":"string","description":"Description of the protocol"},"protocolLogo":{"type":"string","description":"URL of the protocol logo"}},"required":["protocolId","name"],"additionalProperties":false},"marketRootAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"assetsData":{"type":"array","items":{"type":"object","properties":{"marketAssetId":{"type":"string"},"asset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"},"oraclePriceUsd":{"type":"string","description":"Lending protocol oracle price of the asset in USD. May differ from assetPriceInUsd."}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false},"isCollateralEnabled":{"type":"boolean"},"supportsHistoricalData":{"type":"boolean"},"supplyRate":{"type":"number","minimum":0},"borrowRate":{"type":"number","minimum":0},"utilizationRate":{"type":"number","minimum":0},"totalSupplied":{"type":"object","properties":{"usd":{"type":"string","description":"USD value of the amount. Omitted when no price is available."},"native":{"type":"string","description":"Amount denominated in asset precision"}},"required":["native"],"additionalProperties":false},"totalBorrowed":{"type":"object","properties":{"usd":{"type":"string","description":"USD value of the amount. Omitted when no price is available."},"native":{"type":"string","description":"Amount denominated in asset precision"}},"required":["native"],"additionalProperties":false},"availableLiquidity":{"type":"object","properties":{"usd":{"type":"string","description":"USD value of the amount. Omitted when no price is available."},"native":{"type":"string","description":"Amount denominated in asset precision"}},"required":["native"],"additionalProperties":false},"availableToBorrow":{"type":"object","properties":{"usd":{"type":"string","description":"USD value of the amount. Omitted when no price is available."},"native":{"type":"string","description":"Amount denominated in asset precision"}},"required":["native"],"additionalProperties":false,"description":"Amount currently available to borrow after applying both protocol borrow caps and liquidity limits"},"assetConfig":{"type":"object","properties":{"isBorrowEnabled":{"type":"boolean","description":"Whether the protocol currently allows new borrows for this asset"},"borrowInterestFeeRate":{"type":"number","minimum":0,"maximum":1},"borrowCap":{"type":"string"},"supplyCap":{"type":"string"}},"required":["isBorrowEnabled"],"additionalProperties":false},"interestRateModel":{"type":"object","properties":{"model":{"type":"string","enum":["single-kink"]},"baseRate":{"type":"number","minimum":0},"optimalUtilization":{"type":"number","minimum":0,"maximum":1},"slope1":{"type":"number","minimum":0},"slope2":{"type":"number","minimum":0}},"required":["model","baseRate","optimalUtilization","slope1","slope2"],"additionalProperties":false},"defaultRiskParameters":{"type":"object","properties":{"maxLtv":{"type":"number","minimum":0,"maximum":1},"liquidationThreshold":{"type":"number","minimum":0,"maximum":1},"liquidationPenalty":{"type":"number","minimum":0,"maximum":1},"borrowRateMultiplier":{"type":"number","minimum":0,"description":"Collateral risk multiplier applied to the base borrow rate"}},"required":["maxLtv","liquidationThreshold"],"additionalProperties":false},"pairwiseRiskParameters":{"type":"object","additionalProperties":{"type":"object","properties":{"maxLtv":{"type":"number","minimum":0,"maximum":1},"liquidationThreshold":{"type":"number","minimum":0,"maximum":1},"liquidationPenalty":{"type":"number","minimum":0,"maximum":1},"borrowRateMultiplier":{"type":"number","minimum":0,"description":"Collateral risk multiplier applied to the base borrow rate"}},"required":["maxLtv","liquidationThreshold"],"additionalProperties":false}}},"required":["marketAssetId","asset","isCollateralEnabled","supportsHistoricalData","assetConfig"],"additionalProperties":false}}},"required":["marketId","name","network","protocol","marketRootAddress","assetsData"],"additionalProperties":false,"description":"Array of items on the current page"}},"errors":{"type":"object","properties":{"unsupportedNetworks":{"type":"array","items":{"type":"string"}},"unsupportedCollateralAssets":{"type":"array","items":{"type":"string"}},"unsupportedBorrowAssets":{"type":"array","items":{"type":"string"}},"unsupportedProtocols":{"type":"array","items":{"type":"string"}}},"required":["unsupportedNetworks","unsupportedCollateralAssets","unsupportedBorrowAssets","unsupportedProtocols"],"additionalProperties":false}},"required":["itemsOnPage","data","errors"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/borrow/markets/historical/{network}/{marketId}/{assetId}":{"get":{"operationId":"getBorrowMarketHistoricalData","summary":"Get borrow market historical data","tags":["Borrow Markets"],"description":"Retrieves paginated historical data for one borrow market asset on one network.","parameters":[{"schema":{"type":"integer","minimum":0,"default":0},"in":"query","name":"page","required":false,"description":"Page number (starting from 0)"},{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":20000,"default":50},"in":"query","name":"perPage","required":false,"description":"Number of items per page"},{"schema":{"type":"string","enum":["1hour","1day","1week"],"default":"1hour"},"in":"query","name":"granularity","required":false,"description":"Granularity for historical data (even intervals starting from epoch 0). Possible values: 1hour, 1day, 1week"},{"schema":{"type":"integer","default":0},"in":"query","name":"fromTimestamp","required":false,"description":"Timestamp for the start of the time period for which data will be fetched"},{"schema":{"type":"integer"},"in":"query","name":"toTimestamp","required":false,"description":"Timestamp for the end of the time period for which data will be fetched"},{"schema":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"]},"in":"path","name":"network","required":true,"description":"Canonical network slug"},{"schema":{"type":"string","minLength":1},"in":"path","name":"marketId","required":true,"description":"Canonical market identifier"},{"schema":{"type":"string","minLength":1},"in":"path","name":"assetId","required":true,"description":"Market asset identifier"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Historical data for a single borrow market asset, paginated by timestamp","content":{"application/json":{"schema":{"type":"object","properties":{"itemsOnPage":{"type":"integer","description":"Number of items on the current page"},"nextPage":{"type":"integer","description":"Next page number"},"data":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"integer","description":"Timestamp of the historical data point"},"blockNumber":{"type":"string","description":"Block number of the historical data point"},"supplyRate":{"type":"number","minimum":0,"description":"Supply rate for the market asset"},"borrowRate":{"type":"number","minimum":0,"description":"Borrow rate for the market asset"},"utilizationRate":{"type":"number","minimum":0,"description":"Utilization rate derived from supplied and borrowed balances"},"totalSupplied":{"type":"object","properties":{"usd":{"type":"string","description":"USD value of the amount. Omitted when no price is available."},"native":{"type":"string","description":"Amount denominated in asset precision"}},"required":["native"],"additionalProperties":false,"description":"Total supplied balance in native units and USD"},"totalBorrowed":{"type":"object","properties":{"usd":{"type":"string","description":"USD value of the amount. Omitted when no price is available."},"native":{"type":"string","description":"Amount denominated in asset precision"}},"required":["native"],"additionalProperties":false,"description":"Total borrowed balance in native units and USD"},"supplyIndex":{"type":"number","minimum":0,"description":"Supply index for the market asset"},"borrowIndex":{"type":"number","minimum":0,"description":"Borrow index for the market asset"}},"required":["timestamp","blockNumber","supplyRate","borrowRate","utilizationRate","totalSupplied","totalBorrowed","supplyIndex","borrowIndex"],"additionalProperties":false,"description":"Array of items on the current page"}}},"required":["itemsOnPage","data"],"additionalProperties":false,"description":"Historical data for a single borrow market asset, paginated by timestamp"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/borrow/markets/nrt/{network}/{marketId}/{assetId}":{"get":{"operationId":"getBorrowMarketNrtData","summary":"Get borrow market asset NRT data","tags":["Borrow Markets"],"description":"Retrieves near-real-time data for one asset within one borrow market.","parameters":[{"schema":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"]},"in":"path","name":"network","required":true,"description":"Canonical network slug"},{"schema":{"type":"string","minLength":1},"in":"path","name":"marketId","required":true,"description":"Canonical market identifier"},{"schema":{"type":"string","minLength":1},"in":"path","name":"assetId","required":true,"description":"Market asset identifier"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Near-real-time data for a single borrow market asset","content":{"application/json":{"schema":{"type":"object","properties":{"oraclePriceUsd":{"type":"string","description":"Current lending protocol oracle price of the asset in USD, when available"},"collateralToBorrowAssetOraclePrice":{"type":"string","description":"Current protocol oracle price of the collateral asset denominated in the borrow asset"},"supplyRate":{"type":"number","minimum":0,"description":"Current supply rate for the market asset"},"borrowRate":{"type":"number","minimum":0,"description":"Current borrow rate for the market asset"},"utilizationRate":{"type":"number","minimum":0,"description":"Current utilization rate derived from supplied and borrowed balances"},"totalSupplied":{"type":"object","properties":{"usd":{"type":"string","description":"USD value of the amount. Omitted when no price is available."},"native":{"type":"string","description":"Amount denominated in asset precision"}},"required":["native"],"additionalProperties":false,"description":"Current total supplied balance in native units and USD"},"totalBorrowed":{"type":"object","properties":{"usd":{"type":"string","description":"USD value of the amount. Omitted when no price is available."},"native":{"type":"string","description":"Amount denominated in asset precision"}},"required":["native"],"additionalProperties":false,"description":"Current total borrowed balance in native units and USD"},"availableLiquidity":{"type":"object","properties":{"usd":{"type":"string","description":"USD value of the amount. Omitted when no price is available."},"native":{"type":"string","description":"Amount denominated in asset precision"}},"required":["native"],"additionalProperties":false,"description":"Current available liquidity in native units and USD"}},"required":["supplyRate","borrowRate","utilizationRate","totalSupplied","totalBorrowed","availableLiquidity"],"additionalProperties":false,"description":"Near-real-time data for a single borrow market asset"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/borrow/markets/{network}":{"get":{"operationId":"listBorrowMarketsByNetwork","summary":"List borrow markets by network","tags":["Borrow Markets"],"description":"Retrieves a paginated list of supported borrow markets for one network using the canonical network slug.","parameters":[{"schema":{"type":"integer","minimum":0,"default":0},"in":"query","name":"page","required":false,"description":"Page number (starting from 0)"},{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":1000,"default":50},"in":"query","name":"perPage","required":false,"description":"Number of items per page"},{"schema":{"type":"array","items":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"]}},"in":"query","name":"allowedNetworks","required":false,"description":"Networks to be included by canonical network slug."},{"schema":{"type":"array","items":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"]}},"in":"query","name":"disallowedNetworks","required":false,"description":"Networks to be excluded by canonical network slug. Ignored if allowedNetworks is specified."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"allowedCollateralAssets","required":false,"description":"Collateral assets to be included by symbol, name, or address."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"disallowedCollateralAssets","required":false,"description":"Collateral assets to be excluded by symbol, name, or address. Ignored if allowedCollateralAssets is specified."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"allowedBorrowAssets","required":false,"description":"Borrow assets to be included by symbol, name, or address."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"disallowedBorrowAssets","required":false,"description":"Borrow assets to be excluded by symbol, name, or address. Ignored if allowedBorrowAssets is specified."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"allowedProtocols","required":false,"description":"Protocols to be included by protocol ID or name."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"disallowedProtocols","required":false,"description":"Protocols to be excluded by protocol ID or name. The parameter is ignored if \"allowedProtocols\" is specified."},{"schema":{"type":"integer","minimum":0},"in":"query","name":"minTvl","required":false,"description":"Minimum borrow market TVL in USD, computed from total supplied assets."},{"schema":{"type":"integer"},"in":"query","name":"maxTvl","required":false,"description":"Maximum borrow market TVL in USD, computed from total supplied assets."},{"schema":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"]},"in":"path","name":"network","required":true,"description":"Canonical network slug"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"itemsOnPage":{"type":"integer","description":"Number of items on the current page"},"nextPage":{"type":"integer","description":"Next page number"},"data":{"type":"array","items":{"type":"object","properties":{"marketId":{"type":"string"},"name":{"type":"string"},"network":{"type":"object","properties":{"name":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"],"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"}},"required":["name","chainId","networkCaip"],"additionalProperties":false},"protocol":{"type":"object","properties":{"protocolId":{"type":"string","description":"Lowercase protocol ID constructed from its name, product, and version"},"name":{"type":"string","description":"Name of the protocol"},"displayName":{"type":"string","description":"Display name of the protocol"},"product":{"type":"string","description":"Product of the protocol"},"version":{"type":"string","description":"Version of the protocol"},"protocolUrl":{"type":"string","description":"URL of the protocol"},"description":{"type":"string","description":"Description of the protocol"},"protocolLogo":{"type":"string","description":"URL of the protocol logo"}},"required":["protocolId","name"],"additionalProperties":false},"marketRootAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"assetsData":{"type":"array","items":{"type":"object","properties":{"marketAssetId":{"type":"string"},"asset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"},"oraclePriceUsd":{"type":"string","description":"Lending protocol oracle price of the asset in USD. May differ from assetPriceInUsd."}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false},"isCollateralEnabled":{"type":"boolean"},"supportsHistoricalData":{"type":"boolean"},"supplyRate":{"type":"number","minimum":0},"borrowRate":{"type":"number","minimum":0},"utilizationRate":{"type":"number","minimum":0},"totalSupplied":{"type":"object","properties":{"usd":{"type":"string","description":"USD value of the amount. Omitted when no price is available."},"native":{"type":"string","description":"Amount denominated in asset precision"}},"required":["native"],"additionalProperties":false},"totalBorrowed":{"type":"object","properties":{"usd":{"type":"string","description":"USD value of the amount. Omitted when no price is available."},"native":{"type":"string","description":"Amount denominated in asset precision"}},"required":["native"],"additionalProperties":false},"availableLiquidity":{"type":"object","properties":{"usd":{"type":"string","description":"USD value of the amount. Omitted when no price is available."},"native":{"type":"string","description":"Amount denominated in asset precision"}},"required":["native"],"additionalProperties":false},"availableToBorrow":{"type":"object","properties":{"usd":{"type":"string","description":"USD value of the amount. Omitted when no price is available."},"native":{"type":"string","description":"Amount denominated in asset precision"}},"required":["native"],"additionalProperties":false,"description":"Amount currently available to borrow after applying both protocol borrow caps and liquidity limits"},"assetConfig":{"type":"object","properties":{"isBorrowEnabled":{"type":"boolean","description":"Whether the protocol currently allows new borrows for this asset"},"borrowInterestFeeRate":{"type":"number","minimum":0,"maximum":1},"borrowCap":{"type":"string"},"supplyCap":{"type":"string"}},"required":["isBorrowEnabled"],"additionalProperties":false},"interestRateModel":{"type":"object","properties":{"model":{"type":"string","enum":["single-kink"]},"baseRate":{"type":"number","minimum":0},"optimalUtilization":{"type":"number","minimum":0,"maximum":1},"slope1":{"type":"number","minimum":0},"slope2":{"type":"number","minimum":0}},"required":["model","baseRate","optimalUtilization","slope1","slope2"],"additionalProperties":false},"defaultRiskParameters":{"type":"object","properties":{"maxLtv":{"type":"number","minimum":0,"maximum":1},"liquidationThreshold":{"type":"number","minimum":0,"maximum":1},"liquidationPenalty":{"type":"number","minimum":0,"maximum":1},"borrowRateMultiplier":{"type":"number","minimum":0,"description":"Collateral risk multiplier applied to the base borrow rate"}},"required":["maxLtv","liquidationThreshold"],"additionalProperties":false},"pairwiseRiskParameters":{"type":"object","additionalProperties":{"type":"object","properties":{"maxLtv":{"type":"number","minimum":0,"maximum":1},"liquidationThreshold":{"type":"number","minimum":0,"maximum":1},"liquidationPenalty":{"type":"number","minimum":0,"maximum":1},"borrowRateMultiplier":{"type":"number","minimum":0,"description":"Collateral risk multiplier applied to the base borrow rate"}},"required":["maxLtv","liquidationThreshold"],"additionalProperties":false}}},"required":["marketAssetId","asset","isCollateralEnabled","supportsHistoricalData","assetConfig"],"additionalProperties":false}}},"required":["marketId","name","network","protocol","marketRootAddress","assetsData"],"additionalProperties":false,"description":"Array of items on the current page"}},"errors":{"type":"object","properties":{"unsupportedNetworks":{"type":"array","items":{"type":"string"}},"unsupportedCollateralAssets":{"type":"array","items":{"type":"string"}},"unsupportedBorrowAssets":{"type":"array","items":{"type":"string"}},"unsupportedProtocols":{"type":"array","items":{"type":"string"}}},"required":["unsupportedNetworks","unsupportedCollateralAssets","unsupportedBorrowAssets","unsupportedProtocols"],"additionalProperties":false}},"required":["itemsOnPage","data","errors"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/borrow/markets/{network}/{marketId}":{"get":{"operationId":"getBorrowMarket","summary":"Get borrow market","tags":["Borrow Markets"],"description":"Retrieves detailed discovery data for one borrow market on one network.","parameters":[{"schema":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"]},"in":"path","name":"network","required":true,"description":"Canonical network slug"},{"schema":{"type":"string","minLength":1},"in":"path","name":"marketId","required":true,"description":"Canonical market identifier"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"market":{"type":"object","properties":{"marketId":{"type":"string"},"name":{"type":"string"},"network":{"type":"object","properties":{"name":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"],"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"}},"required":["name","chainId","networkCaip"],"additionalProperties":false},"protocol":{"type":"object","properties":{"protocolId":{"type":"string","description":"Lowercase protocol ID constructed from its name, product, and version"},"name":{"type":"string","description":"Name of the protocol"},"displayName":{"type":"string","description":"Display name of the protocol"},"product":{"type":"string","description":"Product of the protocol"},"version":{"type":"string","description":"Version of the protocol"},"protocolUrl":{"type":"string","description":"URL of the protocol"},"description":{"type":"string","description":"Description of the protocol"},"protocolLogo":{"type":"string","description":"URL of the protocol logo"}},"required":["protocolId","name"],"additionalProperties":false},"marketRootAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"assetsData":{"type":"array","items":{"type":"object","properties":{"marketAssetId":{"type":"string"},"asset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"},"oraclePriceUsd":{"type":"string","description":"Lending protocol oracle price of the asset in USD. May differ from assetPriceInUsd."}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false},"isCollateralEnabled":{"type":"boolean"},"supportsHistoricalData":{"type":"boolean"},"supplyRate":{"type":"number","minimum":0},"borrowRate":{"type":"number","minimum":0},"utilizationRate":{"type":"number","minimum":0},"totalSupplied":{"type":"object","properties":{"usd":{"type":"string","description":"USD value of the amount. Omitted when no price is available."},"native":{"type":"string","description":"Amount denominated in asset precision"}},"required":["native"],"additionalProperties":false},"totalBorrowed":{"type":"object","properties":{"usd":{"type":"string","description":"USD value of the amount. Omitted when no price is available."},"native":{"type":"string","description":"Amount denominated in asset precision"}},"required":["native"],"additionalProperties":false},"availableLiquidity":{"type":"object","properties":{"usd":{"type":"string","description":"USD value of the amount. Omitted when no price is available."},"native":{"type":"string","description":"Amount denominated in asset precision"}},"required":["native"],"additionalProperties":false},"availableToBorrow":{"type":"object","properties":{"usd":{"type":"string","description":"USD value of the amount. Omitted when no price is available."},"native":{"type":"string","description":"Amount denominated in asset precision"}},"required":["native"],"additionalProperties":false,"description":"Amount currently available to borrow after applying both protocol borrow caps and liquidity limits"},"assetConfig":{"type":"object","properties":{"isBorrowEnabled":{"type":"boolean","description":"Whether the protocol currently allows new borrows for this asset"},"borrowInterestFeeRate":{"type":"number","minimum":0,"maximum":1},"borrowCap":{"type":"string"},"supplyCap":{"type":"string"}},"required":["isBorrowEnabled"],"additionalProperties":false},"interestRateModel":{"type":"object","properties":{"model":{"type":"string","enum":["single-kink"]},"baseRate":{"type":"number","minimum":0},"optimalUtilization":{"type":"number","minimum":0,"maximum":1},"slope1":{"type":"number","minimum":0},"slope2":{"type":"number","minimum":0}},"required":["model","baseRate","optimalUtilization","slope1","slope2"],"additionalProperties":false},"defaultRiskParameters":{"type":"object","properties":{"maxLtv":{"type":"number","minimum":0,"maximum":1},"liquidationThreshold":{"type":"number","minimum":0,"maximum":1},"liquidationPenalty":{"type":"number","minimum":0,"maximum":1},"borrowRateMultiplier":{"type":"number","minimum":0,"description":"Collateral risk multiplier applied to the base borrow rate"}},"required":["maxLtv","liquidationThreshold"],"additionalProperties":false},"pairwiseRiskParameters":{"type":"object","additionalProperties":{"type":"object","properties":{"maxLtv":{"type":"number","minimum":0,"maximum":1},"liquidationThreshold":{"type":"number","minimum":0,"maximum":1},"liquidationPenalty":{"type":"number","minimum":0,"maximum":1},"borrowRateMultiplier":{"type":"number","minimum":0,"description":"Collateral risk multiplier applied to the base borrow rate"}},"required":["maxLtv","liquidationThreshold"],"additionalProperties":false}}},"required":["marketAssetId","asset","isCollateralEnabled","supportsHistoricalData","assetConfig"],"additionalProperties":false}},"pairs":{"type":"array","items":{"type":"object","properties":{"collateralAssetAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"collateralMarketAssetId":{"type":"string"},"borrowAssetAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"borrowMarketAssetId":{"type":"string"},"collateralEnabled":{"type":"boolean"},"borrowEnabled":{"type":"boolean"},"riskParameters":{"type":"object","properties":{"maxLtv":{"type":"number","minimum":0,"maximum":1},"liquidationThreshold":{"type":"number","minimum":0,"maximum":1},"liquidationPenalty":{"type":"number","minimum":0,"maximum":1},"borrowRateMultiplier":{"type":"number","minimum":0,"description":"Collateral risk multiplier applied to the base borrow rate"}},"required":["maxLtv","liquidationThreshold"],"additionalProperties":false},"collateralToBorrowAssetOraclePrice":{"type":"string","description":"Protocol oracle price of the collateral asset denominated in the borrow asset"}},"required":["collateralAssetAddress","collateralMarketAssetId","borrowAssetAddress","borrowMarketAssetId","collateralEnabled","borrowEnabled","riskParameters"],"additionalProperties":false}}},"required":["marketId","name","network","protocol","marketRootAddress","assetsData","pairs"],"additionalProperties":false}},"required":["market"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/borrow/portfolio/events/{userAddress}/{network}/{marketId}/{assetId}":{"get":{"operationId":"listBorrowMarketEvents","summary":"List borrow market events","tags":["Borrow Markets"],"description":"Retrieves paginated borrow market events for one user, market, and asset on one network.","parameters":[{"schema":{"type":"integer","minimum":0,"default":0},"in":"query","name":"page","required":false,"description":"Page number (starting from 0)"},{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":1000,"default":50},"in":"query","name":"perPage","required":false,"description":"Number of items per page"},{"schema":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"]},"in":"path","name":"network","required":true,"description":"Canonical network slug"},{"schema":{"type":"string","minLength":1},"in":"path","name":"marketId","required":true,"description":"Canonical market identifier"},{"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"in":"path","name":"userAddress","required":true,"description":"Address of the user whose borrow market transaction history is requested"},{"schema":{"type":"string","minLength":1},"in":"path","name":"assetId","required":true,"description":"Market asset identifier"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Borrow market events for a single user, market, and asset, sorted by timestamp and paginated","content":{"application/json":{"schema":{"type":"object","properties":{"itemsOnPage":{"type":"integer","description":"Number of items on the current page"},"nextPage":{"type":"integer","description":"Next page number"},"data":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"integer","description":"Transaction timestamp"},"blockNumber":{"type":"string","description":"Block number of the transaction"},"eventType":{"type":"string","enum":["supply","withdraw","borrow","repay"],"description":"Type of borrow market event"},"assetAmountNative":{"type":"string","description":"Asset amount in native units"},"transactionHash":{"type":"string","description":"Transaction hash"},"logIndex":{"type":"integer","description":"Log index of the transaction"}},"required":["timestamp","blockNumber","eventType","assetAmountNative","transactionHash","logIndex"],"additionalProperties":false,"description":"Array of items on the current page"}}},"required":["itemsOnPage","data"],"additionalProperties":false,"description":"Borrow market events for a single user, market, and asset, sorted by timestamp and paginated"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/borrow/portfolio/positions/{userAddress}":{"get":{"operationId":"listBorrowPositions","summary":"List borrow positions","tags":["Borrow Markets"],"description":"Provides all borrow market positions for the user, with optional filters.","parameters":[{"schema":{"type":"array","items":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"]}},"in":"query","name":"allowedNetworks","required":false,"description":"Networks to be included by canonical network slug."},{"schema":{"type":"array","items":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"]}},"in":"query","name":"disallowedNetworks","required":false,"description":"Networks to be excluded by canonical network slug. Ignored if allowedNetworks is specified."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"allowedAssets","required":false,"description":"Assets to be included by symbol, name, or address."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"disallowedAssets","required":false,"description":"Assets to be excluded by symbol, name, or address. Ignored if allowedAssets is specified."},{"schema":{"type":"number","minimum":0,"default":1},"in":"query","name":"minUsdAssetValueThreshold","required":false,"description":"Minimum USD value of a supplied or borrowed market asset to be included"},{"schema":{"type":"string","enum":["balanceUsd"]},"in":"query","name":"sortBy","required":false,"description":"Field to sort by."},{"schema":{"type":"string","enum":["asc","desc"],"default":"asc"},"in":"query","name":"sortOrder","required":false,"description":"Sort order, either asc or desc. Ascending is default."},{"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"in":"path","name":"userAddress","required":true,"description":"Address of the user whose borrow market positions are requested"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"marketId":{"type":"string"},"name":{"type":"string"},"network":{"type":"object","properties":{"name":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"],"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"}},"required":["name","chainId","networkCaip"],"additionalProperties":false},"protocol":{"type":"object","properties":{"protocolId":{"type":"string","description":"Lowercase protocol ID constructed from its name, product, and version"},"name":{"type":"string","description":"Name of the protocol"},"displayName":{"type":"string","description":"Display name of the protocol"},"product":{"type":"string","description":"Product of the protocol"},"version":{"type":"string","description":"Version of the protocol"}},"required":["protocolId","name"],"additionalProperties":false},"userAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"ltv":{"type":"number","minimum":0,"description":"Loan-to-value ratio of the position. Omitted when not applicable."},"healthFactor":{"type":"number","minimum":0,"description":"Health factor of the position. Omitted when not applicable."},"assets":{"type":"array","items":{"type":"object","properties":{"marketAssetId":{"type":"string"},"positionId":{"type":"string","description":"Stable identifier for the underlying economic position. Entries with the same positionId represent the same balance exposed through multiple markets and must not be counted more than once."},"asset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"},"oraclePriceUsd":{"type":"string","description":"Lending protocol oracle price of the asset in USD. May differ from assetPriceInUsd."}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false},"collateralEnabled":{"type":"boolean"},"balanceNative":{"type":"string","description":"Wallet balance of the asset denominated in asset precision"},"balanceUsd":{"type":"string","description":"Wallet balance of the asset in USD. Omitted when no price is available."},"suppliedNative":{"type":"string","description":"Supplied balance denominated in asset precision"},"suppliedUsd":{"type":"string","description":"Supplied balance in USD. Omitted when no price is available."},"borrowedNative":{"type":"string","description":"Borrowed balance denominated in asset precision"},"borrowedUsd":{"type":"string","description":"Borrowed balance in USD. Omitted when no price is available."}},"required":["marketAssetId","positionId","asset","collateralEnabled","balanceNative","suppliedNative","borrowedNative"],"additionalProperties":false}}},"required":["marketId","name","network","protocol","userAddress","assets"],"additionalProperties":false}},"errors":{"type":"object","properties":{"unsupportedNetworks":{"type":"array","items":{"type":"string"}},"unsupportedAssets":{"type":"array","items":{"type":"string"}}},"required":["unsupportedNetworks","unsupportedAssets"],"additionalProperties":false}},"required":["data","errors"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/borrow/portfolio/positions/{userAddress}/{network}/{marketId}/{assetId}":{"get":{"operationId":"getBorrowMarketAssetPosition","summary":"Get borrow market asset position","tags":["Borrow Markets"],"description":"Provides the user position for one asset within one borrow market.","parameters":[{"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"in":"path","name":"userAddress","required":true,"description":"Address of the user whose borrow market positions are requested"},{"schema":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"]},"in":"path","name":"network","required":true,"description":"Canonical network slug"},{"schema":{"type":"string","minLength":1},"in":"path","name":"marketId","required":true,"description":"Canonical market identifier"},{"schema":{"type":"string","minLength":1},"in":"path","name":"assetId","required":true,"description":"Market asset identifier"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"marketId":{"type":"string"},"name":{"type":"string"},"network":{"type":"object","properties":{"name":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"],"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"}},"required":["name","chainId","networkCaip"],"additionalProperties":false},"protocol":{"type":"object","properties":{"protocolId":{"type":"string","description":"Lowercase protocol ID constructed from its name, product, and version"},"name":{"type":"string","description":"Name of the protocol"},"displayName":{"type":"string","description":"Display name of the protocol"},"product":{"type":"string","description":"Product of the protocol"},"version":{"type":"string","description":"Version of the protocol"}},"required":["protocolId","name"],"additionalProperties":false},"userAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"ltv":{"type":"number","minimum":0,"description":"Loan-to-value ratio of the position. Omitted when not applicable."},"healthFactor":{"type":"number","minimum":0,"description":"Health factor of the position. Omitted when not applicable."},"asset":{"type":"object","properties":{"marketAssetId":{"type":"string"},"positionId":{"type":"string","description":"Stable identifier for the underlying economic position. Entries with the same positionId represent the same balance exposed through multiple markets and must not be counted more than once."},"asset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"},"oraclePriceUsd":{"type":"string","description":"Lending protocol oracle price of the asset in USD. May differ from assetPriceInUsd."}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false},"collateralEnabled":{"type":"boolean"},"balanceNative":{"type":"string","description":"Wallet balance of the asset denominated in asset precision"},"balanceUsd":{"type":"string","description":"Wallet balance of the asset in USD. Omitted when no price is available."},"suppliedNative":{"type":"string","description":"Supplied balance denominated in asset precision"},"suppliedUsd":{"type":"string","description":"Supplied balance in USD. Omitted when no price is available."},"borrowedNative":{"type":"string","description":"Borrowed balance denominated in asset precision"},"borrowedUsd":{"type":"string","description":"Borrowed balance in USD. Omitted when no price is available."}},"required":["marketAssetId","positionId","asset","collateralEnabled","balanceNative","suppliedNative","borrowedNative"],"additionalProperties":false}},"required":["marketId","name","network","protocol","userAddress","asset"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/borrow/portfolio/positions/{userAddress}/{network}/{marketId}":{"get":{"operationId":"getBorrowMarketPosition","summary":"Get borrow market position","tags":["Borrow Markets"],"description":"Provides the user position for one borrow market.","parameters":[{"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"in":"path","name":"userAddress","required":true,"description":"Address of the user whose borrow market positions are requested"},{"schema":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"]},"in":"path","name":"network","required":true,"description":"Canonical network slug"},{"schema":{"type":"string","minLength":1},"in":"path","name":"marketId","required":true,"description":"Canonical market identifier"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"marketId":{"type":"string"},"name":{"type":"string"},"network":{"type":"object","properties":{"name":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"],"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"}},"required":["name","chainId","networkCaip"],"additionalProperties":false},"protocol":{"type":"object","properties":{"protocolId":{"type":"string","description":"Lowercase protocol ID constructed from its name, product, and version"},"name":{"type":"string","description":"Name of the protocol"},"displayName":{"type":"string","description":"Display name of the protocol"},"product":{"type":"string","description":"Product of the protocol"},"version":{"type":"string","description":"Version of the protocol"}},"required":["protocolId","name"],"additionalProperties":false},"userAddress":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"ltv":{"type":"number","minimum":0,"description":"Loan-to-value ratio of the position. Omitted when not applicable."},"healthFactor":{"type":"number","minimum":0,"description":"Health factor of the position. Omitted when not applicable."},"assets":{"type":"array","items":{"type":"object","properties":{"marketAssetId":{"type":"string"},"positionId":{"type":"string","description":"Stable identifier for the underlying economic position. Entries with the same positionId represent the same balance exposed through multiple markets and must not be counted more than once."},"asset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"},"oraclePriceUsd":{"type":"string","description":"Lending protocol oracle price of the asset in USD. May differ from assetPriceInUsd."}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false},"collateralEnabled":{"type":"boolean"},"balanceNative":{"type":"string","description":"Wallet balance of the asset denominated in asset precision"},"balanceUsd":{"type":"string","description":"Wallet balance of the asset in USD. Omitted when no price is available."},"suppliedNative":{"type":"string","description":"Supplied balance denominated in asset precision"},"suppliedUsd":{"type":"string","description":"Supplied balance in USD. Omitted when no price is available."},"borrowedNative":{"type":"string","description":"Borrowed balance denominated in asset precision"},"borrowedUsd":{"type":"string","description":"Borrowed balance in USD. Omitted when no price is available."}},"required":["marketAssetId","positionId","asset","collateralEnabled","balanceNative","suppliedNative","borrowedNative"],"additionalProperties":false}}},"required":["marketId","name","network","protocol","userAddress","assets"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/amm/deep/deposit/{userAddress}/{network}/{vaultId}":{"get":{"operationId":"createDeepDepositTransaction","summary":"Create Deep deposit transaction","tags":["The Deep"],"description":"Creates deposit transaction payloads for Deep AMM protocol for a specific user and network.","parameters":[{"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"in":"query","name":"assetAddress0","required":true,"description":"Address of the asset to be used in the deposit"},{"schema":{"type":"string"},"in":"query","name":"amount0","required":true,"description":"Only applicable to deposit, redeem, request-redeem, Amount of the asset to be used in the deposit"},{"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"in":"query","name":"assetAddress1","required":false,"description":"Address of the asset to be used in the deposit"},{"schema":{"type":"string"},"in":"query","name":"amount1","required":false,"description":"Only applicable to deposit, redeem, request-redeem, Amount of the asset to be used in the deposit"},{"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"in":"path","name":"userAddress","required":true,"description":"User address to get returns for"},{"schema":{"type":"string","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"]},"in":"path","name":"network","required":true,"description":"Network to get returns for"},{"schema":{"type":"string"},"in":"path","name":"vaultId","required":true,"description":"Vault id to get returns for"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"currentActionIndex":{"type":"number"},"actions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the action"},"tx":{"type":"object","properties":{"to":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the transaction recipient"},"chainId":{"type":"integer","exclusiveMinimum":true,"minimum":0,"description":"Chain ID of the transaction"},"data":{"type":"string","description":"Data to be sent with the transaction"},"value":{"type":"string","description":"Value to be sent with the transaction"}},"required":["to","chainId"],"additionalProperties":false},"simulation":{"type":"object","properties":{"url":{"type":"string","description":"URL to simulated transaction"},"status":{"type":"string","enum":["success","failure","internal server error"],"description":"Status of the simulation"},"tokensReceived":{"type":"object","additionalProperties":{"type":"string"},"description":"Tokens received from the transaction"},"tokensSpent":{"type":"object","additionalProperties":{"type":"string"},"description":"Tokens spent in the transaction"}},"required":["url","status"],"additionalProperties":false}},"required":["name","tx"],"additionalProperties":false}}},"required":["currentActionIndex","actions"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/amm/deep/withdraw/{userAddress}/{network}/{vaultId}":{"get":{"operationId":"createDeepWithdrawTransaction","summary":"Create Deep withdrawal transaction","tags":["The Deep"],"description":"Creates redeem transaction payloads for Deep AMM protocol for a specific user and network.","parameters":[{"schema":{"type":"string"},"in":"query","name":"amount","required":false,"description":"Amount of shares to be redeemed from the vault"},{"schema":{"type":"boolean"},"in":"query","name":"all","required":false,"description":"If true, all shares will be redeemed"},{"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"in":"path","name":"userAddress","required":true,"description":"User address to get returns for"},{"schema":{"type":"string","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"]},"in":"path","name":"network","required":true,"description":"Network to get returns for"},{"schema":{"type":"string"},"in":"path","name":"vaultId","required":true,"description":"Vault id to get returns for"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"currentActionIndex":{"type":"number"},"actions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the action"},"tx":{"type":"object","properties":{"to":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the transaction recipient"},"chainId":{"type":"integer","exclusiveMinimum":true,"minimum":0,"description":"Chain ID of the transaction"},"data":{"type":"string","description":"Data to be sent with the transaction"},"value":{"type":"string","description":"Value to be sent with the transaction"}},"required":["to","chainId"],"additionalProperties":false},"simulation":{"type":"object","properties":{"url":{"type":"string","description":"URL to simulated transaction"},"status":{"type":"string","enum":["success","failure","internal server error"],"description":"Status of the simulation"},"tokensReceived":{"type":"object","additionalProperties":{"type":"string"},"description":"Tokens received from the transaction"},"tokensSpent":{"type":"object","additionalProperties":{"type":"string"},"description":"Tokens spent in the transaction"}},"required":["url","status"],"additionalProperties":false}},"required":["name","tx"],"additionalProperties":false}}},"required":["currentActionIndex","actions"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/amm/deep/positions/{userAddress}/{network}/{vaultId}":{"get":{"operationId":"getDeepPosition","summary":"Get Deep position","tags":["The Deep"],"description":"Gives a detailed view of one specific vault position on a given network.","parameters":[{"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"in":"path","name":"userAddress","required":true,"description":"User address to be used for best vault calculation"},{"schema":{"type":"string","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"]},"in":"path","name":"network","required":true,"description":"Include only vaults with provided network(name or CAIP)"},{"schema":{"type":"string"},"in":"path","name":"vaultId","required":true,"description":"Vault id of the vault for which the data will be returned"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the vault"},"network":{"type":"object","properties":{"name":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"],"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"}},"required":["name","chainId","networkCaip"],"additionalProperties":false,"description":"Network details of the vault"},"asset0":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"number","description":"Decimals of the asset"},"balanceInVault":{"type":"string","description":"User balance of the asset in the vault"}},"required":["address","symbol","decimals","balanceInVault"],"additionalProperties":false,"description":"Asset details of the vault"},"asset1":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"number","description":"Decimals of the asset"},"balanceInVault":{"type":"string","description":"User balance of the asset in the vault"}},"required":["address","symbol","decimals","balanceInVault"],"additionalProperties":false,"description":"Asset details of the vault"},"name":{"type":"string","description":"Name of the vault"},"apr":{"type":"object","properties":{"7day":{"type":"number","description":"7day APR of the vault"},"30day":{"type":"number","description":"30day APR of the vault"}},"required":["7day","30day"],"additionalProperties":false},"decimals":{"type":"number","description":"Decimals of the vault token"},"userBalance":{"type":"string","description":"User balance in vault shares"}},"required":["address","network","asset0","asset1","name","apr","decimals","userBalance"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/amm/deep/detailed-vaults":{"get":{"operationId":"listDeepDetailedVaults","summary":"List Deep detailed vaults","tags":["The Deep"],"description":"Retrieves a filtered list of Deep vaults with detailed information including chain ID, address, display name, APY (7d and 30d), and TVL in USD.","parameters":[{"schema":{"type":"integer","minimum":0,"default":0},"in":"query","name":"page","required":false,"description":"Page number (starting from 0)"},{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":5000,"default":50},"in":"query","name":"perPage","required":false,"description":"Number of items per page"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"itemsOnPage":{"type":"integer","description":"Number of items on the current page"},"nextPage":{"type":"integer","description":"Next page number"},"data":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Address of the vault"},"displayName":{"type":"string","description":"Display name of the vault"},"network":{"type":"object","properties":{"name":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"],"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"}},"required":["name","chainId","networkCaip"],"additionalProperties":false,"description":"Network details of the vault"},"apy":{"type":"object","properties":{"7day":{"type":"number","description":"7 day APY"},"30day":{"type":"number","description":"30 day APY"}},"required":["7day","30day"],"additionalProperties":false,"description":"APY breakdown"},"tvlInUsd":{"type":"number","description":"Total value locked in USD"},"asset0":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false,"description":"First asset of the vault"},"asset1":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false,"description":"Second asset of the vault"}},"required":["address","displayName","network","apy","tvlInUsd","asset0","asset1"],"additionalProperties":false,"description":"Array of items on the current page"}}},"required":["itemsOnPage","data"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/fixed-term/":{"get":{"operationId":"listFixedTermMarkets","summary":"List fixed-term Pendle markets","tags":["Fixed Term (Pendle)"],"description":"Returns eligible active Pendle PT markets with current Fixed APY, expiry, TVL, and liquidity.","parameters":[{"schema":{"type":"integer","minimum":0,"default":0},"in":"query","name":"page","required":false,"description":"Page number (starting from 0)"},{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":5000,"default":50},"in":"query","name":"perPage","required":false,"description":"Number of items per page"},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"allowedAssets","required":false,"description":"Assets to be included by symbol(ticker)."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"disallowedAssets","required":false,"description":"Assets to be excluded by symbol(ticker). The parameter is ignored if \"allowedAssets\" is specified."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"allowedProtocols","required":false,"description":"Protocols to be included by protocol ID or name."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"disallowedProtocols","required":false,"description":"Protocols to be excluded by protocol ID or name. The parameter is ignored if \"allowedProtocols\" is specified."},{"schema":{"type":"integer","minimum":0,"default":100000},"in":"query","name":"minTvl","required":false,"description":"Minimum TVL in USD of the vaults to be included"},{"schema":{"type":"string"},"in":"query","name":"search","required":false},{"schema":{"type":"string","enum":["tvl","fixedApy","liquidity","expiry"],"default":"tvl"},"in":"query","name":"sortBy","required":false},{"schema":{"type":"string","enum":["asc","desc"],"default":"desc"},"in":"query","name":"sortOrder","required":false,"description":"Sort order, either asc or desc. Ascending is default."},{"schema":{"type":"array","items":{"type":"string","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"],"description":"Include only vaults with provided network(name or CAIP)"},"default":["base","mainnet","arbitrum","optimism"]},"in":"query","name":"allowedNetworks","required":false,"description":"Networks to be included (name or CAIP)."},{"schema":{"type":"array","items":{"type":"string","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"],"description":"Include only vaults with provided network(name or CAIP)"}},"in":"query","name":"disallowedNetworks","required":false,"description":"Networks to be excluded (name or CAIP). The parameter is ignored if \"allowedNetworks\" is specified."}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"itemsOnPage":{"type":"integer","description":"Number of items on the current page"},"nextPage":{"type":"integer","description":"Next page number"},"data":{"type":"array","items":{"type":"object","properties":{"vaultId":{"type":"string","description":"Stable fixed-term market identity for API lookups and links"},"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the fixed-term market contract"},"name":{"type":"string","description":"Name of the fixed-term opportunity"},"network":{"type":"object","properties":{"name":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"],"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"}},"required":["name","chainId","networkCaip"],"additionalProperties":false,"description":"Network details of the fixed-term market"},"protocol":{"type":"object","properties":{"protocolId":{"type":"string","description":"Lowercase protocol ID constructed from its name, product, and version"},"name":{"type":"string","description":"Name of the protocol"},"displayName":{"type":"string","description":"Display name of the protocol"},"product":{"type":"string","description":"Product of the protocol"},"version":{"type":"string","description":"Version of the protocol"},"protocolUrl":{"type":"string","description":"URL of the protocol"},"description":{"type":"string","description":"Description of the protocol"},"protocolLogo":{"type":"string","description":"URL of the protocol logo"}},"required":["protocolId","name"],"additionalProperties":false,"description":"Protocol details of the fixed-term market"},"underlyingProtocol":{"type":"object","properties":{"protocolId":{"type":"string","description":"Lowercase protocol ID constructed from its name, product, and version"},"name":{"type":"string","description":"Name of the protocol"},"displayName":{"type":"string","description":"Display name of the protocol"},"product":{"type":"string","description":"Product of the protocol"},"version":{"type":"string","description":"Version of the protocol"},"protocolUrl":{"type":"string","description":"URL of the protocol"},"description":{"type":"string","description":"Description of the protocol"},"protocolLogo":{"type":"string","description":"URL of the protocol logo"}},"required":["protocolId","name"],"additionalProperties":false,"description":"Underlying protocol details of the fixed-term market"},"pt":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip"],"additionalProperties":false},"underlyingAsset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip"],"additionalProperties":false},"accountingAsset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip"],"additionalProperties":false},"fixedApy":{"type":"number","description":"Current fixed APY in decimal form"},"expiry":{"type":"integer","description":"UTC expiry timestamp in seconds"},"tvl":{"type":"object","properties":{"usd":{"type":"string","description":"Amount in USD"}},"required":["usd"],"additionalProperties":false,"description":"Total value locked in USD"},"liquidity":{"type":"object","properties":{"usd":{"type":"string","description":"Amount in USD"}},"required":["usd"],"additionalProperties":false,"description":"Available liquidity in USD"}},"required":["vaultId","address","name","network","protocol","underlyingProtocol","pt","underlyingAsset","accountingAsset","fixedApy","expiry","tvl","liquidity"],"additionalProperties":false,"description":"Array of items on the current page"}},"errors":{"type":"object","properties":{"unsupportedNetworks":{"type":"array","items":{"type":"string"}},"unsupportedAssets":{"type":"array","items":{"type":"string"}},"unsupportedProtocols":{"type":"array","items":{"type":"string"}}},"required":["unsupportedNetworks","unsupportedAssets","unsupportedProtocols"],"additionalProperties":false}},"required":["itemsOnPage","data","errors"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/fixed-term/detailed/{network}/{vaultId}":{"get":{"operationId":"getFixedTermMarket","summary":"Get fixed-term market","tags":["Fixed Term (Pendle)"],"description":"Retrieves a Pendle fixed-term market including APY, TVL, and expiry","parameters":[{"schema":{"type":"string","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"]},"in":"path","name":"network","required":true,"description":"Include only vaults with provided network(name or CAIP)"},{"schema":{"type":"string"},"in":"path","name":"vaultId","required":true,"description":"Vault id of the vault for which the data will be returned"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"vaultId":{"type":"string","description":"Stable fixed-term market identity for API lookups and links"},"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the fixed-term market contract"},"name":{"type":"string","description":"Name of the fixed-term opportunity"},"network":{"type":"object","properties":{"name":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"],"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"}},"required":["name","chainId","networkCaip"],"additionalProperties":false,"description":"Network details of the fixed-term market"},"protocol":{"type":"object","properties":{"protocolId":{"type":"string","description":"Lowercase protocol ID constructed from its name, product, and version"},"name":{"type":"string","description":"Name of the protocol"},"displayName":{"type":"string","description":"Display name of the protocol"},"product":{"type":"string","description":"Product of the protocol"},"version":{"type":"string","description":"Version of the protocol"},"protocolUrl":{"type":"string","description":"URL of the protocol"},"description":{"type":"string","description":"Description of the protocol"},"protocolLogo":{"type":"string","description":"URL of the protocol logo"}},"required":["protocolId","name"],"additionalProperties":false,"description":"Protocol details of the fixed-term market"},"underlyingProtocol":{"type":"object","properties":{"protocolId":{"type":"string","description":"Lowercase protocol ID constructed from its name, product, and version"},"name":{"type":"string","description":"Name of the protocol"},"displayName":{"type":"string","description":"Display name of the protocol"},"product":{"type":"string","description":"Product of the protocol"},"version":{"type":"string","description":"Version of the protocol"},"protocolUrl":{"type":"string","description":"URL of the protocol"},"description":{"type":"string","description":"Description of the protocol"},"protocolLogo":{"type":"string","description":"URL of the protocol logo"}},"required":["protocolId","name"],"additionalProperties":false,"description":"Underlying protocol details of the fixed-term market"},"pt":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip"],"additionalProperties":false},"underlyingAsset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip"],"additionalProperties":false},"accountingAsset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip"],"additionalProperties":false},"fixedApy":{"type":"number","description":"Current fixed APY in decimal form"},"expiry":{"type":"integer","description":"UTC expiry timestamp in seconds"},"tvl":{"type":"object","properties":{"usd":{"type":"string","description":"Amount in USD"}},"required":["usd"],"additionalProperties":false,"description":"Total value locked in USD"},"liquidity":{"type":"object","properties":{"usd":{"type":"string","description":"Amount in USD"}},"required":["usd"],"additionalProperties":false,"description":"Available liquidity in USD"}},"required":["vaultId","address","name","network","protocol","underlyingProtocol","pt","underlyingAsset","accountingAsset","fixedApy","expiry","tvl","liquidity"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/fixed-term/transactions/{action}/{userAddress}/{network}/{vaultId}":{"get":{"operationId":"createFixedTermTransaction","summary":"Create fixed-term transaction","tags":["Fixed Term (Pendle)"],"description":"Get Pendle fixed-term transaction data via Pendle API. Actions: swap-in (asset→PT), swap-out (PT→asset). API handles SY wrapping internally.","parameters":[{"schema":{"type":"string"},"in":"query","name":"assetAddress","required":true},{"schema":{"type":"string"},"in":"query","name":"amount","required":true,"description":"Amount in wei: asset amount for swap-in (asset→PT), PT amount for swap-out (PT→asset)"},{"schema":{"type":"boolean","default":"false"},"in":"query","name":"simulate","required":false,"description":"Simulate the transaction"},{"schema":{"type":"string","enum":["swap-in","swap-out"]},"in":"path","name":"action","required":true,"description":"Action to be performed"},{"schema":{"type":"string"},"in":"path","name":"userAddress","required":true},{"schema":{"type":"string","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"]},"in":"path","name":"network","required":true,"description":"Network to perform the action on"},{"schema":{"type":"string"},"in":"path","name":"vaultId","required":true,"description":"Vault id of the Pendle market"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"currentActionIndex":{"type":"number"},"actions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the action"},"tx":{"type":"object","properties":{"to":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the transaction recipient"},"chainId":{"type":"integer","exclusiveMinimum":true,"minimum":0,"description":"Chain ID of the transaction"},"data":{"type":"string","description":"Data to be sent with the transaction"},"value":{"type":"string","description":"Value to be sent with the transaction"}},"required":["to","chainId"],"additionalProperties":false},"simulation":{"type":"object","properties":{"url":{"type":"string","description":"URL to simulated transaction"},"status":{"type":"string","enum":["success","failure","internal server error"],"description":"Status of the simulation"},"tokensReceived":{"type":"object","additionalProperties":{"type":"string"},"description":"Tokens received from the transaction"},"tokensSpent":{"type":"object","additionalProperties":{"type":"string"},"description":"Tokens spent in the transaction"}},"required":["url","status"],"additionalProperties":false}},"required":["name","tx"],"additionalProperties":false}}},"required":["currentActionIndex","actions"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/fixed-term/context/{userAddress}/{network}/{vaultId}":{"get":{"operationId":"getFixedTermTransactionContext","summary":"Get fixed-term transaction context","tags":["Fixed Term (Pendle)"],"description":"Retrieves transaction context for a Pendle fixed-term market, including user balances for PT token and underlying asset","parameters":[{"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"in":"path","name":"userAddress","required":true,"description":"User address"},{"schema":{"type":"string","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"]},"in":"path","name":"network","required":true,"description":"Network name or CAIP-2 identifier"},{"schema":{"type":"string"},"in":"path","name":"vaultId","required":true,"description":"Market vault id"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Fixed-term transaction context for a user and market","content":{"application/json":{"schema":{"type":"object","properties":{"currentDepositStep":{"type":"string","enum":["deposit","redeem","request-redeem","request-deposit","claim-redeem","claim-deposit","claim-rewards","start-redeem-cooldown"],"description":"Current deposit step"},"depositSteps":{"type":"array","items":{"type":"object","properties":{"actions":{"type":"array","items":{"type":"string"}},"actionsUrl":{"type":"string"},"name":{"type":"string","enum":["deposit","redeem","request-redeem","request-deposit","claim-redeem","claim-deposit","claim-rewards","start-redeem-cooldown"]}},"required":["actions","actionsUrl","name"],"additionalProperties":false},"description":"Deposit steps"},"currentRedeemStep":{"type":"string","enum":["deposit","redeem","request-redeem","request-deposit","claim-redeem","claim-deposit","claim-rewards","start-redeem-cooldown"],"description":"Current redeem step"},"redeemSteps":{"type":"array","items":{"type":"object","properties":{"actions":{"type":"array","items":{"type":"string"}},"actionsUrl":{"type":"string"},"name":{"type":"string","enum":["deposit","redeem","request-redeem","request-deposit","claim-redeem","claim-deposit","claim-rewards","start-redeem-cooldown"]}},"required":["actions","actionsUrl","name"],"additionalProperties":false},"description":"Redeem steps"},"lpToken":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"tokenCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer"},"balanceNative":{"type":"string","description":"Balance of the LP token"},"balanceUsd":{"type":"string","description":"USD value of the LP token"}},"required":["address","tokenCaip","name","symbol","decimals","balanceNative"],"additionalProperties":false,"description":"LP token details"},"asset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"},"balanceNative":{"type":"string","description":"Balance of the asset denominated in asset precision"},"balanceUsd":{"type":"string","description":"Balance of the asset denominated in usd. Omitted when no price is available."},"unclaimedNative":{"type":"string","description":"Unclaimed balance of the asset in the position denominated in asset precision"},"unclaimedUsd":{"type":"string","description":"Unclaimed balance of the asset in the position denominated in usd"},"positionValueInAsset":{"type":"string","description":"Position value in asset denominated in asset precision"},"depositLimit":{"type":"string","description":"Maximum amount that can be deposited"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup","balanceNative"],"additionalProperties":false,"description":"Asset details"},"additionalAssets":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"},"balanceNative":{"type":"string","description":"Balance of the asset denominated in asset precision"},"balanceUsd":{"type":"string","description":"Balance of the asset denominated in usd. Omitted when no price is available."},"unclaimedNative":{"type":"string","description":"Unclaimed balance of the asset in the position denominated in asset precision"},"unclaimedUsd":{"type":"string","description":"Unclaimed balance of the asset in the position denominated in usd"},"positionValueInAsset":{"type":"string","description":"Position value in asset denominated in asset precision"},"depositLimit":{"type":"string","description":"Maximum amount that can be deposited"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup","balanceNative"],"additionalProperties":false},"description":"Additional assets details"}},"required":["currentDepositStep","depositSteps","currentRedeemStep","redeemSteps","lpToken","asset","additionalAssets"],"additionalProperties":false,"description":"Fixed-term transaction context for a user and market"}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/portfolio/partial-returns/{userAddress}/{network}/{vaultId}":{"get":{"operationId":"getPartialReturns","summary":"Get partial returns","tags":["Portfolio"],"description":"Retrieves the returns for a user's position in a specific vault, calculated only for the requested time window. Returns the same asset metadata as total-returns plus the resolved period boundaries.","parameters":[{"schema":{"type":"integer"},"in":"query","name":"fromTimestamp","required":true,"description":"Start of the window for which partial returns will be calculated (inclusive)"},{"schema":{"type":"integer"},"in":"query","name":"toTimestamp","required":false,"description":"End of the window for which partial returns will be calculated (inclusive). Defaults to the latest available vault aggregation timestamp."},{"schema":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"in":"path","name":"userAddress","required":true,"description":"User address to get returns for"},{"schema":{"type":"string","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"]},"in":"path","name":"network","required":true,"description":"Network to get returns for"},{"schema":{"type":"string"},"in":"path","name":"vaultId","required":true,"description":"Vault id to get returns for"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"},"returnsNative":{"type":"string","description":"Total returns in native token amount"},"fromTimestamp":{"type":"integer","description":"Resolved start timestamp for the partial returns window"},"toTimestamp":{"type":"integer","description":"Resolved end timestamp for the partial returns window"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup","returnsNative","fromTimestamp","toTimestamp"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/svm/portfolio/idle-assets/{userAddress}/{assetAddress}":{"get":{"operationId":"getSvmIdleAsset","summary":"Get SVM idle asset","tags":["SVM"],"description":"Retrieves idle asset balance for a specific user and token on Solana.","parameters":[{"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"in":"path","name":"userAddress","required":true,"description":"User wallet address. On SVM, this is the wallet account public key."},{"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"in":"path","name":"assetAddress","required":true,"description":"Asset address. On SVM, this is the SPL token mint account public key."}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"asset":{"type":"object","properties":{"address":{"type":"string","description":"Asset address. On SVM, this is the SPL token mint account public key."},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"balanceNative":{"type":"string","description":"Native token balance as string"}},"required":["address","name","symbol","decimals","balanceNative"],"additionalProperties":false}},"required":["asset"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/svm/portfolio/idle-assets/{userAddress}":{"get":{"operationId":"listSvmIdleAssets","summary":"List SVM idle assets","tags":["SVM"],"description":"Get balances of idle assets for a specific user address on Solana.","parameters":[{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"allowedAssets","required":false,"description":"Assets to be included by symbol/ticker."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"disallowedAssets","required":false,"description":"Assets to be excluded by symbol/ticker. The parameter is ignored if \"allowedAssets\" is specified."},{"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"in":"path","name":"userAddress","required":true,"description":"User wallet address. On SVM, this is the wallet account public key."}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Asset address. On SVM, this is the SPL token mint account public key."},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"balanceNative":{"type":"string","description":"Native token balance as string"}},"required":["address","name","symbol","decimals","balanceNative"],"additionalProperties":false}},"errors":{"type":"object","properties":{"unsupportedAssets":{"type":"array","items":{"type":"string"}}},"required":["unsupportedAssets"],"additionalProperties":false}},"required":["data","errors"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/svm/vaults":{"get":{"operationId":"listSvmVaults","summary":"List SVM vaults","tags":["SVM"],"description":"Retrieves a filtered list of SVM vaults with their basic information including address (vault account public key) and associated asset details.","parameters":[{"schema":{"type":"integer","minimum":0,"default":0},"in":"query","name":"page","required":false,"description":"Page number (starting from 0)"},{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":5000,"default":50},"in":"query","name":"perPage","required":false,"description":"Number of items per page"},{"schema":{"type":"string","minLength":1},"in":"query","name":"assetSymbol","required":false,"description":"Include only vaults with an asset of provided symbol(ticker)"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"itemsOnPage":{"type":"integer","description":"Number of items on the current page"},"nextPage":{"type":"integer","description":"Next page number"},"data":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Vault address. On SVM, this is the vault account public key."},"asset":{"type":"object","properties":{"address":{"type":"string","description":"Asset address. On SVM, this is the SPL token mint account public key."},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"}},"required":["address","name","symbol","decimals"],"additionalProperties":false,"description":"Asset details of the vault"}},"required":["address","asset"],"additionalProperties":false,"description":"Array of items on the current page"}}},"required":["itemsOnPage","data"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/svm/detailed-vaults":{"get":{"operationId":"listSvmDetailedVaults","summary":"List SVM detailed vaults","tags":["SVM"],"description":"Retrieves a filtered list of SVM vaults with detailed information including address (vault account public key), name, protocol, curator, TVL, and APY details. APY filter inputs and response values use v2 decimal semantics.","parameters":[{"schema":{"type":"integer","minimum":0,"default":0},"in":"query","name":"page","required":false,"description":"Page number (starting from 0)"},{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":5000,"default":50},"in":"query","name":"perPage","required":false,"description":"Number of items per page"},{"schema":{"type":"string","minLength":1},"in":"query","name":"assetSymbol","required":false,"description":"Include only vaults with an asset of provided symbol(ticker)"},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"allowedAssets","required":false,"description":"Assets to be included by symbol(ticker)."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"disallowedAssets","required":false,"description":"Assets to be excluded by symbol(ticker). The parameter is ignored if \"allowedAssets\" is specified."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"allowedProtocols","required":false,"description":"Protocols to be included by protocol ID or name."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"disallowedProtocols","required":false,"description":"Protocols to be excluded by protocol ID or name. The parameter is ignored if \"allowedProtocols\" is specified."},{"schema":{"type":"array","items":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"}},"in":"query","name":"allowedAssetMints","required":false,"description":"Asset SPL token mint account public keys to include."},{"schema":{"type":"array","items":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"}},"in":"query","name":"disallowedAssetMints","required":false,"description":"Asset SPL token mint account public keys to exclude. The parameter is ignored if \"allowedAssetMints\" is specified."},{"schema":{"type":"integer","minimum":0,"default":100000},"in":"query","name":"minTvl","required":false,"description":"Minimum TVL in USD of the vaults to be included"},{"schema":{"type":"integer"},"in":"query","name":"maxTvl","required":false,"description":"Maximum TVL in USD of the vaults to be included"},{"schema":{"type":"number"},"in":"query","name":"minApy","required":false,"description":"Minimum APY in v2 decimal units."},{"schema":{"type":"number"},"in":"query","name":"maxApy","required":false,"description":"Maximum APY in v2 decimal units."},{"schema":{"type":"string","enum":["tvl","apy1day","apy7day","apy30day"]},"in":"query","name":"sortBy","required":false,"description":"Field to sort by"},{"schema":{"type":"string","enum":["asc","desc"],"default":"asc"},"in":"query","name":"sortOrder","required":false,"description":"Sort order, either asc or desc. Ascending is default."}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"itemsOnPage":{"type":"integer","description":"Number of items on the current page"},"nextPage":{"type":"integer","description":"Next page number"},"data":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Vault address. On SVM, this is the vault account public key."},"asset":{"type":"object","properties":{"address":{"type":"string","description":"Asset address. On SVM, this is the SPL token mint account public key."},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"}},"required":["address","name","symbol","decimals"],"additionalProperties":false,"description":"Asset details of the vault"},"name":{"type":"string","description":"Name of the vault"},"protocol":{"type":"object","properties":{"protocolId":{"type":"string","description":"Lowercase protocol ID constructed from its name, product, and version"},"name":{"type":"string","description":"Name of the protocol"},"product":{"type":"string","description":"Product of the protocol"},"version":{"type":"string","description":"Version of the protocol"},"protocolLogo":{"type":"string","description":"URL of the protocol logo"}},"required":["protocolId","name"],"additionalProperties":false,"description":"Protocol details of the vault"},"tvl":{"type":"object","properties":{"usd":{"type":"string","description":"TVL in USD"},"native":{"type":"string","description":"Native TVL"}},"required":["usd","native"],"additionalProperties":false,"description":"TVL details of the vault"},"apy":{"type":"object","properties":{"1day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"1day APY details"},"7day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"7day APY details"},"30day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"30day APY details"}},"required":["1day","7day","30day"],"additionalProperties":false,"description":"APY details of the vault"},"curator":{"type":"object","properties":{"name":{"type":"string","description":"Name of the curator"},"displayName":{"type":"string","description":"Display name of the curator"},"description":{"type":"string","description":"Description of the curator"},"websiteUrl":{"type":"string","description":"Website URL of the curator"}},"required":["name"],"additionalProperties":false,"description":"Curator of the vault"},"lpToken":{"type":"object","properties":{"address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Address of the LP token mint account"},"tokenCaip":{"type":"string","pattern":"^solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp\\/token:[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"CAIP-19 identifier of the LP token on Solana mainnet"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer"}},"required":["address","tokenCaip","name","symbol","decimals"],"additionalProperties":false,"description":"LP token details of the vault"}},"required":["address","asset","name","tvl","apy"],"additionalProperties":false,"description":"Array of items on the current page"}}},"required":["itemsOnPage","data"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/svm/detailed-vaults/{vaultAddress}":{"get":{"operationId":"getSvmDetailedVault","summary":"Get SVM detailed vault","tags":["SVM"],"description":"Retrieves detailed information for a specific SVM vault including address (vault account public key), name, protocol, curator, TVL, and APY details.","parameters":[{"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"in":"path","name":"vaultAddress","required":true,"description":"Vault address. On SVM, this is the vault account public key."}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"address":{"type":"string","description":"Vault address. On SVM, this is the vault account public key."},"asset":{"type":"object","properties":{"address":{"type":"string","description":"Asset address. On SVM, this is the SPL token mint account public key."},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"}},"required":["address","name","symbol","decimals"],"additionalProperties":false,"description":"Asset details of the vault"},"name":{"type":"string","description":"Name of the vault"},"protocol":{"type":"object","properties":{"protocolId":{"type":"string","description":"Lowercase protocol ID constructed from its name, product, and version"},"name":{"type":"string","description":"Name of the protocol"},"product":{"type":"string","description":"Product of the protocol"},"version":{"type":"string","description":"Version of the protocol"},"protocolLogo":{"type":"string","description":"URL of the protocol logo"}},"required":["protocolId","name"],"additionalProperties":false,"description":"Protocol details of the vault"},"tvl":{"type":"object","properties":{"usd":{"type":"string","description":"TVL in USD"},"native":{"type":"string","description":"Native TVL"}},"required":["usd","native"],"additionalProperties":false,"description":"TVL details of the vault"},"apy":{"type":"object","properties":{"1day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"1day APY details"},"7day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"7day APY details"},"30day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"30day APY details"}},"required":["1day","7day","30day"],"additionalProperties":false,"description":"APY details of the vault"},"curator":{"type":"object","properties":{"name":{"type":"string","description":"Name of the curator"},"displayName":{"type":"string","description":"Display name of the curator"},"description":{"type":"string","description":"Description of the curator"},"websiteUrl":{"type":"string","description":"Website URL of the curator"}},"required":["name"],"additionalProperties":false,"description":"Curator of the vault"},"lpToken":{"type":"object","properties":{"address":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"Address of the LP token mint account"},"tokenCaip":{"type":"string","pattern":"^solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp\\/token:[1-9A-HJ-NP-Za-km-z]{32,44}$","description":"CAIP-19 identifier of the LP token on Solana mainnet"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer"}},"required":["address","tokenCaip","name","symbol","decimals"],"additionalProperties":false,"description":"LP token details of the vault"}},"required":["address","asset","name","tvl","apy"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/svm/portfolio/positions/{userAddress}":{"get":{"operationId":"listSvmPositions","summary":"List SVM positions","tags":["SVM"],"description":"Provides all vault positions for a user on Solana.","parameters":[{"schema":{"type":"string","enum":["1day","7day","30day"],"default":"7day"},"in":"query","name":"apyInterval","required":false,"description":"Interval for APY data. Possible values: 1day, 7day, 30day"},{"schema":{"type":"number","minimum":0,"default":1},"in":"query","name":"minUsdAssetValueThreshold","required":false,"description":"Minimum USD value of the position to be included"},{"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"in":"path","name":"userAddress","required":true,"description":"User wallet address. On SVM, this is the wallet account public key."}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","description":"Vault address. On SVM, this is the vault account public key."},"name":{"type":"string","description":"Name of the vault"},"asset":{"type":"object","properties":{"address":{"type":"string","description":"Asset address. On SVM, this is the SPL token mint account public key."},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"balanceNative":{"type":"string","description":"User balance in native asset units"},"balanceUsd":{"type":"string","description":"User balance in USD"},"unclaimedNative":{"type":"string","description":"User unclaimed balance (pending redeems) in native asset units"},"unclaimedUsd":{"type":"string","description":"User unclaimed balance (pending redeems) in USD"},"positionValueInAsset":{"type":"string","description":"Position value in asset denominated in asset precision"}},"required":["address","name","symbol","decimals","balanceNative","balanceUsd","unclaimedNative","unclaimedUsd"],"additionalProperties":false,"description":"Asset details with user balance"},"protocol":{"type":"object","properties":{"protocolId":{"type":"string","description":"Lowercase protocol ID constructed from its name, product, and version"},"name":{"type":"string","description":"Name of the protocol"},"product":{"type":"string","description":"Product of the protocol"},"version":{"type":"string","description":"Version of the protocol"},"protocolLogo":{"type":"string","description":"URL of the protocol logo"}},"required":["protocolId","name"],"additionalProperties":false,"description":"Protocol details of the vault"},"apy":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"APY details of the vault"}},"required":["address","name","asset","apy"],"additionalProperties":false}}},"required":["data"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/svm/transactions/{action}/{userAddress}/{vaultAddress}":{"get":{"operationId":"createSvmTransaction","summary":"Create SVM transaction","tags":["SVM"],"description":"Get Solana transaction data for vault actions (deposit, request-redeem, confirm-redeem, complete-redeem). Returns a base64-encoded serialized transaction ready for wallet signing. Three-step redemption process: request-redeem creates stake account, confirm-redeem deactivates it, complete-redeem withdraws SOL after epoch boundary.","parameters":[{"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"in":"query","name":"assetAddress","required":true,"description":"Asset address. On SVM, this is the SPL token mint account public key."},{"schema":{"type":"string"},"in":"query","name":"amount","required":false,"description":"Amount in lamports (base units). Required for deposit and request-redeem actions"},{"schema":{"type":"boolean","default":"false"},"in":"query","name":"simulate","required":false,"description":"Simulate the transaction"},{"schema":{"type":"string","enum":["deposit","redeem","request-redeem","confirm-redeem","complete-redeem"]},"in":"path","name":"action","required":true,"description":"Action to be performed on Solana vault"},{"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"in":"path","name":"userAddress","required":true,"description":"User wallet address. On SVM, this is the wallet account public key."},{"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"in":"path","name":"vaultAddress","required":true,"description":"Vault address. On SVM, this is the vault account public key."}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"currentActionIndex":{"type":"number","enum":[0],"description":"Index of the current action"},"actions":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","enum":["deposit","redeem","request-redeem","confirm-redeem","complete-redeem"],"description":"Action name"},"tx":{"type":"object","properties":{"type":{"type":"string","enum":["solana"],"description":"Transaction type"},"transaction":{"type":"string","description":"Base64-encoded serialized Solana transaction ready to sign"}},"required":["type","transaction"],"additionalProperties":false},"simulation":{"type":"object","properties":{"status":{"type":"string","enum":["success","failure","internal server error"],"description":"Status of the simulation"},"tokensReceived":{"type":"object","additionalProperties":{"type":"string"},"description":"Tokens received from the transaction"},"tokensSpent":{"type":"object","additionalProperties":{"type":"string"},"description":"Tokens spent in the transaction"}},"required":["status"],"additionalProperties":false}},"required":["name","tx"],"additionalProperties":false}}},"required":["currentActionIndex","actions"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/svm/transactions/context/{userAddress}/{vaultAddress}":{"get":{"operationId":"getSvmTransactionContext","summary":"Get SVM transaction context","tags":["SVM"],"description":"Retrieves the complete transactional context for a user interaction with a Solana vault, including current balances and unclaimed assets.","parameters":[{"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"in":"path","name":"userAddress","required":true,"description":"User wallet address. On SVM, this is the wallet account public key."},{"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"in":"path","name":"vaultAddress","required":true,"description":"Vault address. On SVM, this is the vault account public key."}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"currentDepositStep":{"type":"string","enum":["deposit","redeem","request-redeem","confirm-redeem","complete-redeem"],"description":"Current deposit step"},"depositSteps":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","enum":["deposit","redeem","request-redeem","confirm-redeem","complete-redeem"],"description":"Step name"},"actionsUrl":{"type":"string","description":"URL to get transaction actions for this step"},"actions":{"type":"array","items":{"type":"string","enum":["deposit","redeem","request-redeem","confirm-redeem","complete-redeem"]},"description":"Transaction actions for this step"},"available":{"type":"boolean","description":"Whether this step is currently available to execute"}},"required":["name","actionsUrl","actions","available"],"additionalProperties":false},"description":"Available deposit steps"},"currentRedeemStep":{"type":"string","enum":["deposit","redeem","request-redeem","confirm-redeem","complete-redeem"],"description":"Current redeem step"},"redeemSteps":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","enum":["deposit","redeem","request-redeem","confirm-redeem","complete-redeem"],"description":"Step name"},"actionsUrl":{"type":"string","description":"URL to get transaction actions for this step"},"actions":{"type":"array","items":{"type":"string","enum":["deposit","redeem","request-redeem","confirm-redeem","complete-redeem"]},"description":"Transaction actions for this step"},"available":{"type":"boolean","description":"Whether this step is currently available to execute"}},"required":["name","actionsUrl","actions","available"],"additionalProperties":false},"description":"Available redeem steps"},"lpToken":{"type":"object","properties":{"address":{"type":"string","description":"LP/share token address. On SVM, this is the token mint account public key."},"name":{"type":"string","description":"LP token name"},"symbol":{"type":"string","description":"LP token symbol"},"decimals":{"type":"integer","description":"Number of decimals"},"balanceNative":{"type":"string","description":"LP token balance in native units"},"balanceUsd":{"type":"string","description":"LP token balance in USD"}},"required":["address","name","symbol","decimals","balanceNative","balanceUsd"],"additionalProperties":false,"description":"LP token details with balance"},"asset":{"type":"object","properties":{"address":{"type":"string","description":"Asset address. On SVM, this is the SPL token mint account public key."},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"balanceNative":{"type":"string","description":"User balance in native asset units"},"balanceUsd":{"type":"string","description":"User balance in USD"},"unclaimedNative":{"type":"string","description":"User unclaimed balance (pending redeems) in native asset units"},"unclaimedUsd":{"type":"string","description":"User unclaimed balance (pending redeems) in USD"},"positionValueInAsset":{"type":"string","description":"Position value in asset units"}},"required":["address","name","symbol","decimals","balanceNative","balanceUsd","unclaimedNative","unclaimedUsd","positionValueInAsset"],"additionalProperties":false,"description":"Asset details with balance and unclaimed amounts"},"protocol":{"type":"object","properties":{"protocolId":{"type":"string","description":"Lowercase protocol ID constructed from its name, product, and version"},"name":{"type":"string","description":"Name of the protocol"},"product":{"type":"string","description":"Product of the protocol"},"version":{"type":"string","description":"Version of the protocol"},"protocolLogo":{"type":"string","description":"URL of the protocol logo"}},"required":["protocolId","name"],"additionalProperties":false,"description":"Protocol details"}},"required":["currentDepositStep","depositSteps","currentRedeemStep","redeemSteps","lpToken","asset"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/svm/portfolio/events/{userAddress}":{"get":{"operationId":"listAllSvmPortfolioEvents","summary":"List SVM portfolio events across supported vaults","tags":["SVM"],"description":"Retrieves deposits and withdrawals for a user's activity across supported SVM vaults by resolving protocol flow accounts and parsing vault-asset movements from Helius transactions.","parameters":[{"schema":{"type":"integer","minimum":0,"default":0},"in":"query","name":"page","required":false,"description":"Page number (starting from 0)"},{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":1000,"default":50},"in":"query","name":"perPage","required":false,"description":"Number of items per page"},{"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"in":"path","name":"userAddress","required":true,"description":"User wallet address. On SVM, this is the wallet account public key."}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"integer","description":"Transaction timestamp"},"blockNumber":{"type":"string","description":"Slot of the transaction"},"eventType":{"type":"string","enum":["deposit","withdrawal"],"description":"Type of vault activity event"},"assetAmountNative":{"type":"string","description":"Asset amount in native units"},"transactionHash":{"type":"string","description":"Transaction signature"},"vault":{"type":"object","properties":{"address":{"type":"string","description":"Vault address. On SVM, this is the vault account public key."},"name":{"type":"string","description":"Name of the vault"}},"required":["address","name"],"additionalProperties":false,"description":"Vault details for this event"},"asset":{"type":"object","properties":{"address":{"type":"string","description":"Asset address. On SVM, this is the SPL token mint account public key."},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"}},"required":["address","name","symbol","decimals"],"additionalProperties":false,"description":"Asset details for this event"},"protocol":{"type":"object","properties":{"protocolId":{"type":"string","description":"Lowercase protocol ID constructed from its name, product, and version"},"name":{"type":"string","description":"Name of the protocol"},"product":{"type":"string","description":"Product of the protocol"},"version":{"type":"string","description":"Version of the protocol"},"protocolLogo":{"type":"string","description":"URL of the protocol logo"}},"required":["protocolId","name"],"additionalProperties":false,"description":"Protocol details for this event"}},"required":["timestamp","blockNumber","eventType","assetAmountNative","transactionHash","vault","asset"],"additionalProperties":false},"description":"List of transaction events sorted by timestamp"},"items":{"type":"number","description":"Total number of transaction events"}},"required":["data","items"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/svm/portfolio/events/{userAddress}/{vaultAddress}":{"get":{"operationId":"listSvmPortfolioEvents","summary":"List SVM position events","tags":["SVM"],"description":"Retrieves deposits and withdrawals for a user's position in a specific SVM vault by resolving protocol flow accounts and parsing vault-asset movements from Helius transactions.","parameters":[{"schema":{"type":"integer","minimum":0,"default":0},"in":"query","name":"page","required":false,"description":"Page number (starting from 0)"},{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":1000,"default":50},"in":"query","name":"perPage","required":false,"description":"Number of items per page"},{"schema":{"type":"integer"},"in":"query","name":"fromTimestamp","required":false,"description":"Minimum block timestamp in seconds"},{"schema":{"type":"integer"},"in":"query","name":"toTimestamp","required":false,"description":"Maximum block timestamp in seconds"},{"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"in":"path","name":"userAddress","required":true,"description":"User wallet address. On SVM, this is the wallet account public key."},{"schema":{"type":"string","pattern":"^[1-9A-HJ-NP-Za-km-z]{32,44}$"},"in":"path","name":"vaultAddress","required":true,"description":"Vault address. On SVM, this is the vault account public key."}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"asset":{"type":"object","properties":{"address":{"type":"string","description":"Asset address. On SVM, this is the SPL token mint account public key."},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"}},"required":["address","name","symbol","decimals"],"additionalProperties":false,"description":"Details of the vault asset"},"data":{"type":"array","items":{"type":"object","properties":{"timestamp":{"type":"integer","description":"Transaction timestamp"},"blockNumber":{"type":"string","description":"Slot of the transaction"},"eventType":{"type":"string","enum":["deposit","withdrawal"],"description":"Type of vault activity event"},"assetAmountNative":{"type":"string","description":"Asset amount in native units"},"transactionHash":{"type":"string","description":"Transaction signature"}},"required":["timestamp","blockNumber","eventType","assetAmountNative","transactionHash"],"additionalProperties":false},"description":"List of transaction events sorted by timestamp"},"items":{"type":"number","description":"Total number of transaction events"}},"required":["asset","data","items"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/advanced-analytics":{"post":{"operationId":"listAdvancedAnalytics","summary":"List advanced vault analytics","tags":["Advanced Analytics"],"description":"Returns a paginated list of vaults with advanced analytics. Filtering/pagination is passed via querystring (mirrors the v2 detailed-vaults list endpoint). Use the POST body `select` to opt into per-item analytics sections — max drawdown, withdrawal pause ratio, utilization rate and/or the full v2 `detailedVault` payload. Pricing has a 1 credit request base and scales per returned item: each item costs 2 if `maxDrawdown` is included + 3 if `detailedVault` is included + 2 if `withdrawalPauseRatio` is included + 3 if `composition` is included + 3 if `utilizationRate` is included.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"select":{"type":"object","properties":{"maxDrawdown":{"type":"boolean","enum":[true],"description":"Include max-drawdown metrics for vault price per share"},"detailedVault":{"type":"boolean","enum":[true],"description":"Embed the full v2 detailedVault payload"},"withdrawalPauseRatio":{"type":"boolean","enum":[true],"description":"Include ratio of time the vault withdrawals were paused over the last 2 years. Returns null when the protocol does not expose a withdrawal-pause event source or the underlying tracked event has not yet been backfilled."},"composition":{"type":"boolean","enum":[true],"description":"Include composition for the vault."},"utilizationRate":{"type":"boolean","enum":[true],"description":"Include the share of vault assets currently utilized, as a decimal (e.g. 0.8 = 80%)."}},"additionalProperties":false,"description":"Choose which analytics sections to include in the response. Pricing scales with the selection."}},"additionalProperties":false,"description":"Request body for the advanced-analytics list endpoint. Use `select` to opt into per-item analytics sections."}}},"description":"Request body for the advanced-analytics list endpoint. Use `select` to opt into per-item analytics sections."},"parameters":[{"schema":{"type":"integer","minimum":0,"default":0},"in":"query","name":"page","required":false,"description":"Page number (starting from 0)"},{"schema":{"type":"integer","exclusiveMinimum":true,"minimum":0,"maximum":5000,"default":50},"in":"query","name":"perPage","required":false,"description":"Number of items per page"},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"allowedAssets","required":false,"description":"Assets to be included by symbol(ticker)."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"disallowedAssets","required":false,"description":"Assets to be excluded by symbol(ticker). The parameter is ignored if \"allowedAssets\" is specified."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"allowedProtocols","required":false,"description":"Protocols to be included by protocol ID or name."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"disallowedProtocols","required":false,"description":"Protocols to be excluded by protocol ID or name. The parameter is ignored if \"allowedProtocols\" is specified."},{"schema":{"type":"integer","minimum":0,"default":100000},"in":"query","name":"minTvl","required":false,"description":"Minimum TVL in USD of the vaults to be included"},{"schema":{"type":"number","minimum":0},"in":"query","name":"minVaultScore","required":false,"description":"Minimum vault score required for a vault to be included"},{"schema":{"type":"boolean"},"in":"query","name":"onlyTransactional","required":false,"description":"Include only vaults that are supported in the transactional interface."},{"schema":{"type":"boolean"},"in":"query","name":"onlyAppFeatured","required":false,"description":"Include only vaults that are featured in app.vaults.fyi"},{"schema":{"type":"boolean","default":false},"in":"query","name":"allowCorrupted","required":false,"description":"Allow inclusion of corrupted vaults."},{"schema":{"type":"boolean"},"in":"query","name":"allowVaultsWithWarnings","required":false,"description":"Whether to include vaults with warnings. Defaults to true."},{"schema":{"type":"array","items":{"type":"string","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"],"description":"Include only vaults with provided network(name or CAIP)"},"default":["base","mainnet","arbitrum","optimism"]},"in":"query","name":"allowedNetworks","required":false,"description":"Networks to be included (name or CAIP)."},{"schema":{"type":"array","items":{"type":"string","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"],"description":"Include only vaults with provided network(name or CAIP)"}},"in":"query","name":"disallowedNetworks","required":false,"description":"Networks to be excluded (name or CAIP). The parameter is ignored if \"allowedNetworks\" is specified."},{"schema":{"type":"integer"},"in":"query","name":"maxTvl","required":false,"description":"Maximum TVL in USD of the vaults to be included"},{"schema":{"type":"number"},"in":"query","name":"maxApy","required":false,"description":"Maximum APY (in decimal) of the vaults to be included"},{"schema":{"type":"number"},"in":"query","name":"minApy","required":false,"description":"Minimum APY (in decimal) of the vaults to be included"},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"tags","required":false,"description":"Tags to be included."},{"schema":{"type":"array","items":{"type":"string","minLength":1}},"in":"query","name":"curators","required":false,"description":"Curators to be included."},{"schema":{"type":"string","enum":["asc","desc"],"default":"asc"},"in":"query","name":"sortOrder","required":false,"description":"Sort order, either asc or desc. Ascending is default."},{"schema":{"type":"string","enum":["tvl","apy1day","apy7day","apy30day"]},"in":"query","name":"sortBy","required":false,"description":"Field to sort by"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"itemsOnPage":{"type":"integer","description":"Number of items on the current page"},"nextPage":{"type":"integer","description":"Next page number"},"data":{"type":"array","items":{"type":"object","properties":{"vaultId":{"type":"string"},"network":{"type":"string"},"maxDrawdown":{"type":"object","properties":{"mdd30days":{"type":"number","description":"Largest observed peak-to-trough drop in the vault price per share over the last 30 days, reported as a decimal (e.g. 0.12 = 12%)."},"mdd90days":{"type":"number","description":"Largest observed peak-to-trough drop in the vault price per share over the last 90 days, reported as a decimal (e.g. 0.12 = 12%)."},"mdd365days":{"type":"number","description":"Largest observed peak-to-trough drop in the vault price per share over the last 365 days, reported as a decimal (e.g. 0.12 = 12%)."}},"required":["mdd30days","mdd90days","mdd365days"],"additionalProperties":false,"description":"Max drawdown metrics for vault price per share"},"detailedVault":{"type":"object","properties":{"vaultId":{"type":"string","description":"Stable vault identity for API lookups and links"},"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the vault"},"name":{"type":"string","description":"Name of the vault"},"network":{"type":"object","properties":{"name":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"],"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"}},"required":["name","chainId","networkCaip"],"additionalProperties":false,"description":"Network details of the vault"},"asset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false,"description":"Asset details of the vault"},"isTransactional":{"type":"boolean","description":"Indicates if the vault supports transactional endpoints"},"isAppFeatured":{"type":"boolean","description":"Indicates if the vault is featured in app.vaults.fyi"},"protocol":{"type":"object","properties":{"protocolId":{"type":"string","description":"Lowercase protocol ID constructed from its name, product, and version"},"name":{"type":"string","description":"Name of the protocol"},"displayName":{"type":"string","description":"Display name of the protocol"},"product":{"type":"string","description":"Product of the protocol"},"version":{"type":"string","description":"Version of the protocol"},"protocolUrl":{"type":"string","description":"URL of the protocol"},"description":{"type":"string","description":"Description of the protocol"},"protocolLogo":{"type":"string","description":"URL of the protocol logo"}},"required":["protocolId","name"],"additionalProperties":false,"description":"Protocol details of the vault"},"lendUrl":{"type":"string","description":"URL to lend the asset"},"description":{"type":"string","description":"Description of the vault"},"protocolVaultUrl":{"type":"string","description":"URL to the protocol vault"},"tags":{"type":"array","items":{"type":"string","minLength":1},"description":"Tags of the vault"},"holdersData":{"type":"object","properties":{"totalCount":{"type":"number","description":"Number of holders of the vault"},"totalBalance":{"type":"string","description":"Total balance of the vault holders"},"topHolders":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the holder"},"lpTokenBalance":{"type":"string","description":"Balance of the LP token of the holder"}},"required":["address","lpTokenBalance"],"additionalProperties":false},"description":"Top holders of the vault"}},"additionalProperties":false},"apy":{"type":"object","properties":{"1day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"1day APY details"},"7day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"7day APY details"},"30day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"30day APY details"},"1hour":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"1hour APY details"}},"required":["1day","7day","30day","1hour"],"additionalProperties":false,"description":"APY details of the vault"},"tvl":{"type":"object","properties":{"usd":{"type":"string","description":"TVL in USD"},"native":{"type":"string","description":"Native TVL"}},"required":["usd","native"],"additionalProperties":false,"description":"TVL details of the vault"},"lastUpdateTimestamp":{"type":"integer","description":"Timestamp of the last vault data update"},"creationData":{"type":"object","properties":{"deploymentTimestamp":{"type":"integer","description":"Timestamp of the vault contract deployment block"}},"required":["deploymentTimestamp"],"additionalProperties":false,"description":"Vault contract creation data"},"rewards":{"type":"array","items":{"type":"object","properties":{"asset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false,"description":"Asset details of the reward"},"apy":{"type":"object","properties":{"1hour":{"type":"number","description":"1hour APY of the reward asset"},"1day":{"type":"number","description":"1day APY of the reward asset"},"7day":{"type":"number","description":"7day APY of the reward asset"},"30day":{"type":"number","description":"30day APY of the reward asset"}},"required":["1hour","1day","7day","30day"],"additionalProperties":false}},"required":["asset","apy"],"additionalProperties":false},"description":"List of rewards for the vault"},"score":{"type":"object","properties":{"vaultScore":{"type":"number","description":"Score of the vault"},"vaultTvlScore":{"type":"number","description":"TVL score of the vault"},"protocolTvlScore":{"type":"number","description":"TVL score of the protocol"},"holderScore":{"type":"number","description":"Holder score of the vault"},"networkScore":{"type":"number","description":"Deprecated network score; not included in the Reputation Score"},"assetScore":{"type":"number","description":"Asset score of the vault"},"totalScorePenalty":{"type":"number","description":"Penalty applied to the vault score"},"penaltyComponents":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"content":{"type":"string","description":"Content of the flag"},"severity":{"type":"string","enum":["info","warning","critical"],"description":"Severity level of the flag"},"endDate":{"type":"number","description":"Unix timestamp (seconds) when this flag expires"},"resolution":{"type":"string","description":"Resolution details if the flag has been resolved"},"type":{"type":"string","enum":["flag"],"description":"Type of the penalty component"},"value":{"type":"number","description":"Value of the penalty component, e.g., flag penalty or score factor penalty"}},"required":["content","severity","endDate","type","value"],"additionalProperties":false,"description":"Penalty component derived from a flag"},{"type":"object","properties":{"type":{"type":"string","description":"Type of the penalty component, e.g., score factor penalty"},"value":{"type":"number","description":"Value of the score factor penalty, e.g., 0.1 for a 10% penalty"}},"required":["type","value"],"additionalProperties":false,"description":"Penalty component derived from a score factor"}]},"description":"List of penalty components applied to the vault score"}},"required":["vaultScore","vaultTvlScore","protocolTvlScore","holderScore","networkScore","assetScore","totalScorePenalty","penaltyComponents"],"additionalProperties":false,"description":"Score details of the vault"},"additionalIncentives":{"type":"string","description":"Additional incentives of the vault"},"curator":{"type":"object","properties":{"name":{"type":"string","description":"Name of the curator"},"displayName":{"type":"string","description":"Display name of the curator"},"description":{"type":"string","description":"Description of the curator"},"websiteUrl":{"type":"string","description":"Website URL of the curator"}},"required":["name"],"additionalProperties":false,"description":"Curator of the vault"},"lpToken":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"tokenCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer"}},"required":["address","tokenCaip","name","symbol","decimals"],"additionalProperties":false,"description":"LP token details of the vault"},"remainingCapacity":{"type":"string","description":"Remaining capacity of the vault"},"maxCapacity":{"type":"string","description":"Maximum capacity limit of the vault"},"isCorrupted":{"type":"boolean","description":"Indicates if the vault is corrupted"},"userEventsIndexed":{"type":"boolean","description":"Indicates if user events related to the vault are indexed and available in the API"},"childrenVaults":{"type":"array","items":{"type":"object","properties":{"vaultId":{"type":"string","description":"Vault id of the child vault"},"address":{"type":"string","description":"Address of the child vault"},"asset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false,"description":"Asset details of the child vault"},"lpToken":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"tokenCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer"}},"required":["address","tokenCaip","name","symbol","decimals"],"additionalProperties":false,"description":"LP token details of the child vault"},"additionalAssets":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false},"description":"Additional assets of the child vault"}},"required":["vaultId","address","asset"],"additionalProperties":false},"description":"List of child vaults"},"additionalAssets":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false},"description":"Additional assets of the vault"},"transactionalProperties":{"type":"object","properties":{"depositStepsType":{"type":"string","enum":["instant","complex"],"description":"Type of transaction steps, either \"instant\" or \"complex\""},"redeemStepsType":{"type":"string","enum":["instant","complex"],"description":"Type of transaction steps, either \"instant\" or \"complex\""},"rewardsSupported":{"type":"boolean","description":"Indicates if the vault supports rewards transaction flows"}},"required":["depositStepsType","redeemStepsType","rewardsSupported"],"additionalProperties":false,"description":"Transactional properties of the vault"},"fees":{"type":"object","properties":{"performanceFee":{"type":"number","description":"Performance fee as decimal"},"managementFee":{"type":"number","description":"Management fee as decimal"},"withdrawalFee":{"type":"number","description":"Withdrawal fee as decimal"},"depositFee":{"type":"number","description":"Deposit fee as decimal"}},"additionalProperties":false,"description":"Fee structure of the vault"},"warnings":{"type":"array","items":{"type":"string"},"description":"List of warnings related to the vault"},"flags":{"type":"array","items":{"type":"object","properties":{"content":{"type":"string","description":"Content of the flag"},"severity":{"type":"string","enum":["info","warning","critical"],"description":"Severity level of the flag"},"endDate":{"type":"number","description":"Unix timestamp (seconds) when this flag expires"},"resolution":{"type":"string","description":"Resolution details if the flag has been resolved"}},"required":["content","severity","endDate"],"additionalProperties":false},"description":"List of flags with severity and expiry information"},"apyComposite":{"type":"object","properties":{"totalApy":{"type":"object","properties":{"1day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"1day APY details"},"7day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"7day APY details"},"30day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"30day APY details"},"1hour":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"1hour APY details"}},"required":["1day","7day","30day","1hour"],"additionalProperties":false,"description":"Compounded APY details combining the vault and its underlying vault"},"intrinsicApy":{"type":"object","properties":{"1day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"1day APY details"},"7day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"7day APY details"},"30day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"30day APY details"},"1hour":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"1hour APY details"}},"required":["1day","7day","30day","1hour"],"additionalProperties":false,"description":"APY details of the underlying vault before compounding"},"asset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false,"description":"Asset details of the underlying vault"},"vault":{"type":"object","properties":{"vaultId":{"type":"string","description":"Vault id of the underlying vault"},"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the underlying vault"}},"required":["vaultId","address"],"additionalProperties":false}},"required":["totalApy","intrinsicApy","asset","vault"],"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"}},"required":["vaultId","address","name","network","asset","isTransactional","isAppFeatured","protocol","tags","holdersData","apy","tvl","lastUpdateTimestamp","creationData","rewards","isCorrupted","userEventsIndexed","warnings","flags"],"additionalProperties":false},"withdrawalPauseRatio":{"type":"number","nullable":true,"description":"Ratio (0-1) of time the vault withdrawals were paused over the last 2 years. Null when the protocol has no withdrawal-pause event source or the tracked event has not yet been backfilled."},"composition":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the composition position"},"allocation":{"type":"number","description":"Share of the parent vault allocated to the position when its target can be enriched"},"network":{"type":"object","properties":{"name":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"],"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"}},"required":["name","chainId","networkCaip"],"additionalProperties":false,"description":"Network containing the composition target"},"vaultId":{"type":"string","description":"Vault or market-asset ID when the composition target is addressable"},"lpToken":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the LP token when one exists"},"tokenCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the LP token when one exists"},"name":{"type":"string","description":"Name of the LP token when known"},"symbol":{"type":"string","description":"Symbol of the LP token when known"},"decimals":{"type":"integer","description":"Number of decimals of the LP token when known"},"balanceNative":{"type":"string","description":"Raw balance held in the composition target"},"balanceUsd":{"type":"string","description":"USD value of the target balance when it resolves to indexed data"}},"required":["balanceNative"],"additionalProperties":false},"asset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"},"positionValueInAsset":{"type":"string","description":"Position value denominated in the target underlying asset precision"},"positionValueInUsd":{"type":"string","description":"Position value in USD when the target resolves to indexed data"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup","positionValueInAsset"],"additionalProperties":false,"description":"Underlying asset and position value when the composition target can be enriched"}},"required":["name","network","lpToken"],"additionalProperties":false},"description":"Current known composition positions. Target-derived fields are omitted when metadata is unresolved."},"utilizationRate":{"type":"number","nullable":true,"description":"Share of vault assets currently utilized, as a decimal (e.g. 0.8 = 80%). For Morpho allocator vaults, this is the invested share of vault assets. For Aave and Spark aToken vaults, this is the utilization of the underlying lending reserve. Null when utilization is unavailable."}},"required":["vaultId","network"],"additionalProperties":false,"description":"Array of items on the current page"}},"errors":{"type":"object","properties":{"unsupportedNetworks":{"type":"array","items":{"type":"string"}},"unsupportedAssets":{"type":"array","items":{"type":"string"}},"unsupportedProtocols":{"type":"array","items":{"type":"string"}}},"required":["unsupportedNetworks","unsupportedAssets","unsupportedProtocols"],"additionalProperties":false}},"required":["itemsOnPage","data","errors"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}},"/beta/advanced-analytics/{network}/{vaultId}":{"post":{"operationId":"getAdvancedAnalytics","summary":"Get advanced vault analytics","tags":["Advanced Analytics"],"description":"Returns advanced analytics for a single vault. Use the POST body `select` to opt into analytics sections — max drawdown, withdrawal pause ratio, composition, utilization rate and/or the full v2 `detailedVault` payload.","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"select":{"type":"object","properties":{"maxDrawdown":{"type":"boolean","enum":[true],"description":"Include max-drawdown metrics for vault price per share"},"detailedVault":{"type":"boolean","enum":[true],"description":"Embed the full v2 detailedVault payload"},"withdrawalPauseRatio":{"type":"boolean","enum":[true],"description":"Include ratio of time the vault withdrawals were paused over the last 2 years. Returns null when the protocol does not expose a withdrawal-pause event source or the underlying tracked event has not yet been backfilled."},"composition":{"type":"boolean","enum":[true],"description":"Include composition for the vault."},"utilizationRate":{"type":"boolean","enum":[true],"description":"Include the share of vault assets currently utilized, as a decimal (e.g. 0.8 = 80%)."}},"additionalProperties":false,"description":"Choose which analytics sections to include in the response. Pricing scales with the selection."}},"additionalProperties":false,"description":"Request body for the advanced-analytics list endpoint. Use `select` to opt into per-item analytics sections."}}},"description":"Request body for the advanced-analytics list endpoint. Use `select` to opt into per-item analytics sections."},"parameters":[{"schema":{"type":"string","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"]},"in":"path","name":"network","required":true,"description":"Include only vaults with provided network(name or CAIP)"},{"schema":{"type":"string"},"in":"path","name":"vaultId","required":true,"description":"Vault id of the vault for which the data will be returned"}],"security":[{"apiKey":[]}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"vaultId":{"type":"string"},"network":{"type":"string"},"maxDrawdown":{"type":"object","properties":{"mdd30days":{"type":"number","description":"Largest observed peak-to-trough drop in the vault price per share over the last 30 days, reported as a decimal (e.g. 0.12 = 12%)."},"mdd90days":{"type":"number","description":"Largest observed peak-to-trough drop in the vault price per share over the last 90 days, reported as a decimal (e.g. 0.12 = 12%)."},"mdd365days":{"type":"number","description":"Largest observed peak-to-trough drop in the vault price per share over the last 365 days, reported as a decimal (e.g. 0.12 = 12%)."}},"required":["mdd30days","mdd90days","mdd365days"],"additionalProperties":false,"description":"Max drawdown metrics for vault price per share"},"detailedVault":{"type":"object","properties":{"vaultId":{"type":"string","description":"Stable vault identity for API lookups and links"},"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the vault"},"name":{"type":"string","description":"Name of the vault"},"network":{"type":"object","properties":{"name":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"],"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"}},"required":["name","chainId","networkCaip"],"additionalProperties":false,"description":"Network details of the vault"},"asset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false,"description":"Asset details of the vault"},"isTransactional":{"type":"boolean","description":"Indicates if the vault supports transactional endpoints"},"isAppFeatured":{"type":"boolean","description":"Indicates if the vault is featured in app.vaults.fyi"},"protocol":{"type":"object","properties":{"protocolId":{"type":"string","description":"Lowercase protocol ID constructed from its name, product, and version"},"name":{"type":"string","description":"Name of the protocol"},"displayName":{"type":"string","description":"Display name of the protocol"},"product":{"type":"string","description":"Product of the protocol"},"version":{"type":"string","description":"Version of the protocol"},"protocolUrl":{"type":"string","description":"URL of the protocol"},"description":{"type":"string","description":"Description of the protocol"},"protocolLogo":{"type":"string","description":"URL of the protocol logo"}},"required":["protocolId","name"],"additionalProperties":false,"description":"Protocol details of the vault"},"lendUrl":{"type":"string","description":"URL to lend the asset"},"description":{"type":"string","description":"Description of the vault"},"protocolVaultUrl":{"type":"string","description":"URL to the protocol vault"},"tags":{"type":"array","items":{"type":"string","minLength":1},"description":"Tags of the vault"},"holdersData":{"type":"object","properties":{"totalCount":{"type":"number","description":"Number of holders of the vault"},"totalBalance":{"type":"string","description":"Total balance of the vault holders"},"topHolders":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the holder"},"lpTokenBalance":{"type":"string","description":"Balance of the LP token of the holder"}},"required":["address","lpTokenBalance"],"additionalProperties":false},"description":"Top holders of the vault"}},"additionalProperties":false},"apy":{"type":"object","properties":{"1day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"1day APY details"},"7day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"7day APY details"},"30day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"30day APY details"},"1hour":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"1hour APY details"}},"required":["1day","7day","30day","1hour"],"additionalProperties":false,"description":"APY details of the vault"},"tvl":{"type":"object","properties":{"usd":{"type":"string","description":"TVL in USD"},"native":{"type":"string","description":"Native TVL"}},"required":["usd","native"],"additionalProperties":false,"description":"TVL details of the vault"},"lastUpdateTimestamp":{"type":"integer","description":"Timestamp of the last vault data update"},"creationData":{"type":"object","properties":{"deploymentTimestamp":{"type":"integer","description":"Timestamp of the vault contract deployment block"}},"required":["deploymentTimestamp"],"additionalProperties":false,"description":"Vault contract creation data"},"rewards":{"type":"array","items":{"type":"object","properties":{"asset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false,"description":"Asset details of the reward"},"apy":{"type":"object","properties":{"1hour":{"type":"number","description":"1hour APY of the reward asset"},"1day":{"type":"number","description":"1day APY of the reward asset"},"7day":{"type":"number","description":"7day APY of the reward asset"},"30day":{"type":"number","description":"30day APY of the reward asset"}},"required":["1hour","1day","7day","30day"],"additionalProperties":false}},"required":["asset","apy"],"additionalProperties":false},"description":"List of rewards for the vault"},"score":{"type":"object","properties":{"vaultScore":{"type":"number","description":"Score of the vault"},"vaultTvlScore":{"type":"number","description":"TVL score of the vault"},"protocolTvlScore":{"type":"number","description":"TVL score of the protocol"},"holderScore":{"type":"number","description":"Holder score of the vault"},"networkScore":{"type":"number","description":"Deprecated network score; not included in the Reputation Score"},"assetScore":{"type":"number","description":"Asset score of the vault"},"totalScorePenalty":{"type":"number","description":"Penalty applied to the vault score"},"penaltyComponents":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"content":{"type":"string","description":"Content of the flag"},"severity":{"type":"string","enum":["info","warning","critical"],"description":"Severity level of the flag"},"endDate":{"type":"number","description":"Unix timestamp (seconds) when this flag expires"},"resolution":{"type":"string","description":"Resolution details if the flag has been resolved"},"type":{"type":"string","enum":["flag"],"description":"Type of the penalty component"},"value":{"type":"number","description":"Value of the penalty component, e.g., flag penalty or score factor penalty"}},"required":["content","severity","endDate","type","value"],"additionalProperties":false,"description":"Penalty component derived from a flag"},{"type":"object","properties":{"type":{"type":"string","description":"Type of the penalty component, e.g., score factor penalty"},"value":{"type":"number","description":"Value of the score factor penalty, e.g., 0.1 for a 10% penalty"}},"required":["type","value"],"additionalProperties":false,"description":"Penalty component derived from a score factor"}]},"description":"List of penalty components applied to the vault score"}},"required":["vaultScore","vaultTvlScore","protocolTvlScore","holderScore","networkScore","assetScore","totalScorePenalty","penaltyComponents"],"additionalProperties":false,"description":"Score details of the vault"},"additionalIncentives":{"type":"string","description":"Additional incentives of the vault"},"curator":{"type":"object","properties":{"name":{"type":"string","description":"Name of the curator"},"displayName":{"type":"string","description":"Display name of the curator"},"description":{"type":"string","description":"Description of the curator"},"websiteUrl":{"type":"string","description":"Website URL of the curator"}},"required":["name"],"additionalProperties":false,"description":"Curator of the vault"},"lpToken":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"tokenCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer"}},"required":["address","tokenCaip","name","symbol","decimals"],"additionalProperties":false,"description":"LP token details of the vault"},"remainingCapacity":{"type":"string","description":"Remaining capacity of the vault"},"maxCapacity":{"type":"string","description":"Maximum capacity limit of the vault"},"isCorrupted":{"type":"boolean","description":"Indicates if the vault is corrupted"},"userEventsIndexed":{"type":"boolean","description":"Indicates if user events related to the vault are indexed and available in the API"},"childrenVaults":{"type":"array","items":{"type":"object","properties":{"vaultId":{"type":"string","description":"Vault id of the child vault"},"address":{"type":"string","description":"Address of the child vault"},"asset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false,"description":"Asset details of the child vault"},"lpToken":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$"},"tokenCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$"},"name":{"type":"string"},"symbol":{"type":"string"},"decimals":{"type":"integer"}},"required":["address","tokenCaip","name","symbol","decimals"],"additionalProperties":false,"description":"LP token details of the child vault"},"additionalAssets":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false},"description":"Additional assets of the child vault"}},"required":["vaultId","address","asset"],"additionalProperties":false},"description":"List of child vaults"},"additionalAssets":{"type":"array","items":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false},"description":"Additional assets of the vault"},"transactionalProperties":{"type":"object","properties":{"depositStepsType":{"type":"string","enum":["instant","complex"],"description":"Type of transaction steps, either \"instant\" or \"complex\""},"redeemStepsType":{"type":"string","enum":["instant","complex"],"description":"Type of transaction steps, either \"instant\" or \"complex\""},"rewardsSupported":{"type":"boolean","description":"Indicates if the vault supports rewards transaction flows"}},"required":["depositStepsType","redeemStepsType","rewardsSupported"],"additionalProperties":false,"description":"Transactional properties of the vault"},"fees":{"type":"object","properties":{"performanceFee":{"type":"number","description":"Performance fee as decimal"},"managementFee":{"type":"number","description":"Management fee as decimal"},"withdrawalFee":{"type":"number","description":"Withdrawal fee as decimal"},"depositFee":{"type":"number","description":"Deposit fee as decimal"}},"additionalProperties":false,"description":"Fee structure of the vault"},"warnings":{"type":"array","items":{"type":"string"},"description":"List of warnings related to the vault"},"flags":{"type":"array","items":{"type":"object","properties":{"content":{"type":"string","description":"Content of the flag"},"severity":{"type":"string","enum":["info","warning","critical"],"description":"Severity level of the flag"},"endDate":{"type":"number","description":"Unix timestamp (seconds) when this flag expires"},"resolution":{"type":"string","description":"Resolution details if the flag has been resolved"}},"required":["content","severity","endDate"],"additionalProperties":false},"description":"List of flags with severity and expiry information"},"apyComposite":{"type":"object","properties":{"totalApy":{"type":"object","properties":{"1day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"1day APY details"},"7day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"7day APY details"},"30day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"30day APY details"},"1hour":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"1hour APY details"}},"required":["1day","7day","30day","1hour"],"additionalProperties":false,"description":"Compounded APY details combining the vault and its underlying vault"},"intrinsicApy":{"type":"object","properties":{"1day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"1day APY details"},"7day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"7day APY details"},"30day":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"30day APY details"},"1hour":{"type":"object","properties":{"base":{"type":"number","description":"Base APY"},"reward":{"type":"number","description":"Reward APY"},"total":{"type":"number","description":"Total APY"}},"required":["base","reward","total"],"additionalProperties":false,"description":"1hour APY details"}},"required":["1day","7day","30day","1hour"],"additionalProperties":false,"description":"APY details of the underlying vault before compounding"},"asset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup"],"additionalProperties":false,"description":"Asset details of the underlying vault"},"vault":{"type":"object","properties":{"vaultId":{"type":"string","description":"Vault id of the underlying vault"},"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the underlying vault"}},"required":["vaultId","address"],"additionalProperties":false}},"required":["totalApy","intrinsicApy","asset","vault"],"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"}},"required":["vaultId","address","name","network","asset","isTransactional","isAppFeatured","protocol","tags","holdersData","apy","tvl","lastUpdateTimestamp","creationData","rewards","isCorrupted","userEventsIndexed","warnings","flags"],"additionalProperties":false},"withdrawalPauseRatio":{"type":"number","nullable":true,"description":"Ratio (0-1) of time the vault withdrawals were paused over the last 2 years. Null when the protocol has no withdrawal-pause event source or the tracked event has not yet been backfilled."},"composition":{"type":"array","items":{"type":"object","properties":{"name":{"type":"string","description":"Name of the composition position"},"allocation":{"type":"number","description":"Share of the parent vault allocated to the position when its target can be enriched"},"network":{"type":"object","properties":{"name":{"type":"string","enum":["mainnet","optimism","arbitrum","polygon","gnosis","base","unichain","swellchain","celo","worldchain","berachain","ink","bsc","hyperliquid","plasma","avalanche","katana","linea","mega-eth","monad","etherlink","robinhood"],"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"}},"required":["name","chainId","networkCaip"],"additionalProperties":false,"description":"Network containing the composition target"},"vaultId":{"type":"string","description":"Vault or market-asset ID when the composition target is addressable"},"lpToken":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the LP token when one exists"},"tokenCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the LP token when one exists"},"name":{"type":"string","description":"Name of the LP token when known"},"symbol":{"type":"string","description":"Symbol of the LP token when known"},"decimals":{"type":"integer","description":"Number of decimals of the LP token when known"},"balanceNative":{"type":"string","description":"Raw balance held in the composition target"},"balanceUsd":{"type":"string","description":"USD value of the target balance when it resolves to indexed data"}},"required":["balanceNative"],"additionalProperties":false},"asset":{"type":"object","properties":{"address":{"type":"string","pattern":"^0x[a-fA-F0-9]{40}$","description":"Address of the asset"},"assetCaip":{"type":"string","pattern":"^eip155:\\d+\\/(erc20:0x[0-9a-fA-F]{40}|slip44:\\d+)$","description":"CAIP-2 of the asset"},"name":{"type":"string","description":"Name of the asset"},"symbol":{"type":"string","description":"Symbol of the asset"},"decimals":{"type":"integer","description":"Number of decimals of the asset"},"assetLogo":{"type":"string","format":"uri","description":"URL of the asset logo"},"assetPriceInUsd":{"type":"string","description":"Price of the asset in USD"},"assetGroup":{"type":"string","description":"Group of the asset, e.g., ETH, USD, EURO, BTC, OTHER"},"positionValueInAsset":{"type":"string","description":"Position value denominated in the target underlying asset precision"},"positionValueInUsd":{"type":"string","description":"Position value in USD when the target resolves to indexed data"}},"required":["address","assetCaip","name","symbol","decimals","assetGroup","positionValueInAsset"],"additionalProperties":false,"description":"Underlying asset and position value when the composition target can be enriched"}},"required":["name","network","lpToken"],"additionalProperties":false},"description":"Current known composition positions. Target-derived fields are omitted when metadata is unresolved."},"utilizationRate":{"type":"number","nullable":true,"description":"Share of vault assets currently utilized, as a decimal (e.g. 0.8 = 80%). For Morpho allocator vaults, this is the invested share of vault assets. For Aave and Spark aToken vaults, this is the utilization of the underlying lending reserve. Null when utilization is unavailable."}},"required":["vaultId","network"],"additionalProperties":false}}}},"400":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Bad Request"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"401":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Unauthorized"]},"message":{"type":"string","enum":["An API key is required to access this service. Sign up at https://portal.vaults.fyi/signup to generate a key. We offer a Pay-As-You-Go plan so you only pay for what you use, with no commitments."]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"402":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"x402Version":{"anyOf":[{"type":"number"},{"type":"string"}]},"error":{"type":"string"},"resource":{"type":"object","properties":{"url":{"type":"string"},"description":{"type":"string"},"mimeType":{"type":"string"},"serviceName":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"iconUrl":{"type":"string"}},"required":["url"],"additionalProperties":false},"accepts":{"anyOf":[{"type":"array","items":{"type":"object","properties":{"scheme":{"type":"string","enum":["exact"]},"network":{"type":"string"},"amount":{"type":"string"},"payTo":{"type":"string"},"maxTimeoutSeconds":{"type":"number"},"asset":{"type":"string"},"extra":{"type":"object","properties":{"name":{"type":"string"},"version":{"type":"string"}},"required":["name","version"],"additionalProperties":false}},"required":["scheme","network","amount","payTo","maxTimeoutSeconds","asset"],"additionalProperties":false}},{}]},"extensions":{"type":"object","additionalProperties":{}}},"required":["x402Version","resource"],"additionalProperties":false},{}]}}}},"403":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Forbidden"]},"message":{"type":"string","enum":["This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits"]},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"404":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","enum":["Not Found"]},"message":{"type":"string"}},"required":["error","message"],"additionalProperties":false}}}},"408":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"message":{"type":"string"},"errorId":{"type":"string"}},"additionalProperties":false},{}]}}}},"422":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Unprocessable Entity"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}},"500":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"error":{"type":"string","enum":["Internal Server Error"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["error","message"],"additionalProperties":false},{}]}}}},"503":{"description":"Default Response","content":{"application/json":{"schema":{"anyOf":[{"type":"object","properties":{"statusCode":{"type":"number"},"error":{"type":"string","enum":["Service Unavailable"]},"message":{"type":"string"},"errorId":{"type":"string"}},"required":["statusCode","error","message"],"additionalProperties":false},{}]}}}}}}}},"servers":[{"url":"https://api.vaults.fyi","description":"Vaults.fyi Beta API"}],"tags":[{"name":"Borrow Markets"},{"name":"The Deep"},{"name":"Fixed Term (Pendle)"},{"name":"Portfolio"},{"name":"SVM"},{"name":"Advanced Analytics"}]}