Skip to main content
GET
/
v2
/
detailed-vaults
List detailed vaults
curl --request GET \
  --url https://api.vaults.fyi/v2/detailed-vaults \
  --header 'x-api-key: <api-key>'
import requests

url = "https://api.vaults.fyi/v2/detailed-vaults"

headers = {"x-api-key": "<api-key>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};

fetch('https://api.vaults.fyi/v2/detailed-vaults', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.vaults.fyi/v2/detailed-vaults",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api.vaults.fyi/v2/detailed-vaults"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("x-api-key", "<api-key>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api.vaults.fyi/v2/detailed-vaults")
.header("x-api-key", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.vaults.fyi/v2/detailed-vaults")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'

response = http.request(request)
puts response.read_body
{
  "itemsOnPage": 123,
  "data": [
    {
      "vaultId": "<string>",
      "address": "<string>",
      "name": "<string>",
      "network": {
        "chainId": 123,
        "networkCaip": "<string>"
      },
      "asset": {
        "address": "<string>",
        "assetCaip": "<string>",
        "name": "<string>",
        "symbol": "<string>",
        "decimals": 123,
        "assetGroup": "<string>",
        "assetLogo": "<string>",
        "assetPriceInUsd": "<string>"
      },
      "isTransactional": true,
      "isAppFeatured": true,
      "protocol": {
        "name": "<string>",
        "displayName": "<string>",
        "product": "<string>",
        "version": "<string>",
        "protocolUrl": "<string>",
        "description": "<string>",
        "protocolLogo": "<string>"
      },
      "tags": [
        "<string>"
      ],
      "holdersData": {
        "totalCount": 123,
        "totalBalance": "<string>",
        "topHolders": [
          {
            "address": "<string>",
            "lpTokenBalance": "<string>"
          }
        ]
      },
      "apy": {
        "1day": {
          "base": 123,
          "reward": 123,
          "total": 123
        },
        "7day": {
          "base": 123,
          "reward": 123,
          "total": 123
        },
        "30day": {
          "base": 123,
          "reward": 123,
          "total": 123
        },
        "1hour": {
          "base": 123,
          "reward": 123,
          "total": 123
        }
      },
      "tvl": {
        "usd": "<string>",
        "native": "<string>"
      },
      "lastUpdateTimestamp": 123,
      "creationData": {
        "deploymentTimestamp": 123
      },
      "rewards": [
        {
          "asset": {
            "address": "<string>",
            "assetCaip": "<string>",
            "name": "<string>",
            "symbol": "<string>",
            "decimals": 123,
            "assetGroup": "<string>",
            "assetLogo": "<string>",
            "assetPriceInUsd": "<string>"
          },
          "apy": {
            "1hour": 123,
            "1day": 123,
            "7day": 123,
            "30day": 123
          }
        }
      ],
      "isCorrupted": true,
      "userEventsIndexed": true,
      "warnings": [
        "<string>"
      ],
      "flags": [
        {
          "content": "<string>",
          "endDate": 123,
          "resolution": "<string>"
        }
      ],
      "lendUrl": "<string>",
      "description": "<string>",
      "protocolVaultUrl": "<string>",
      "score": {
        "vaultScore": 123,
        "vaultTvlScore": 123,
        "protocolTvlScore": 123,
        "holderScore": 123,
        "networkScore": 123,
        "assetScore": 123,
        "totalScorePenalty": 123,
        "penaltyComponents": [
          {
            "content": "<string>",
            "endDate": 123,
            "type": "flag",
            "value": 123,
            "resolution": "<string>"
          }
        ]
      },
      "additionalIncentives": "<string>",
      "curator": {
        "name": "<string>",
        "description": "<string>",
        "websiteUrl": "<string>"
      },
      "lpToken": {
        "address": "<string>",
        "tokenCaip": "<string>",
        "name": "<string>",
        "symbol": "<string>",
        "decimals": 123
      },
      "remainingCapacity": "<string>",
      "maxCapacity": "<string>",
      "childrenVaults": [
        {
          "vaultId": "<string>",
          "address": "<string>",
          "asset": {
            "address": "<string>",
            "assetCaip": "<string>",
            "name": "<string>",
            "symbol": "<string>",
            "decimals": 123,
            "assetGroup": "<string>",
            "assetLogo": "<string>",
            "assetPriceInUsd": "<string>"
          },
          "lpToken": {
            "address": "<string>",
            "tokenCaip": "<string>",
            "name": "<string>",
            "symbol": "<string>",
            "decimals": 123
          },
          "additionalAssets": [
            {
              "address": "<string>",
              "assetCaip": "<string>",
              "name": "<string>",
              "symbol": "<string>",
              "decimals": 123,
              "assetGroup": "<string>",
              "assetLogo": "<string>",
              "assetPriceInUsd": "<string>"
            }
          ]
        }
      ],
      "additionalAssets": [
        {
          "address": "<string>",
          "assetCaip": "<string>",
          "name": "<string>",
          "symbol": "<string>",
          "decimals": 123,
          "assetGroup": "<string>",
          "assetLogo": "<string>",
          "assetPriceInUsd": "<string>"
        }
      ],
      "transactionalProperties": {
        "rewardsSupported": true
      },
      "fees": {
        "performanceFee": 123,
        "managementFee": 123,
        "withdrawalFee": 123,
        "depositFee": 123
      },
      "apyComposite": {
        "totalApy": {
          "1day": {
            "base": 123,
            "reward": 123,
            "total": 123
          },
          "7day": {
            "base": 123,
            "reward": 123,
            "total": 123
          },
          "30day": {
            "base": 123,
            "reward": 123,
            "total": 123
          },
          "1hour": {
            "base": 123,
            "reward": 123,
            "total": 123
          }
        },
        "intrinsicApy": {
          "1day": {
            "base": 123,
            "reward": 123,
            "total": 123
          },
          "7day": {
            "base": 123,
            "reward": 123,
            "total": 123
          },
          "30day": {
            "base": 123,
            "reward": 123,
            "total": 123
          },
          "1hour": {
            "base": 123,
            "reward": 123,
            "total": 123
          }
        },
        "asset": {
          "address": "<string>",
          "assetCaip": "<string>",
          "name": "<string>",
          "symbol": "<string>",
          "decimals": 123,
          "assetGroup": "<string>",
          "assetLogo": "<string>",
          "assetPriceInUsd": "<string>"
        },
        "vault": {
          "vaultId": "<string>",
          "address": "<string>"
        }
      }
    }
  ],
  "errors": {
    "unsupportedNetworks": [
      "<string>"
    ],
    "unsupportedAssets": [
      "<string>"
    ],
    "unsupportedProtocols": [
      "<string>"
    ]
  },
  "nextPage": 123
}
{
"statusCode": 123,
"error": "Bad Request",
"message": "<string>",
"errorId": "<string>"
}
{
"error": "Unauthorized",
"message": "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": "<string>"
}
{
"x402Version": 123,
"resource": {
"url": "<string>",
"description": "<string>",
"mimeType": "<string>",
"serviceName": "<string>",
"tags": [
"<string>"
],
"iconUrl": "<string>"
},
"error": "<string>",
"accepts": [
{
"scheme": "exact",
"network": "<string>",
"amount": "<string>",
"payTo": "<string>",
"maxTimeoutSeconds": 123,
"asset": "<string>",
"extra": {
"name": "<string>",
"version": "<string>"
}
}
],
"extensions": {}
}
{
"error": "Forbidden",
"message": "This API key has exhausted its available credits. To resume service, please visit https://portal.vaults.fyi/signup to top-up your credits",
"errorId": "<string>"
}
{
"error": "Not Found",
"message": "<string>"
}
{
"message": "<string>",
"errorId": "<string>"
}
{
"statusCode": 123,
"error": "Unprocessable Entity",
"message": "<string>",
"errorId": "<string>"
}
{
"error": "Internal Server Error",
"message": "<string>",
"errorId": "<string>"
}
{
"statusCode": 123,
"error": "Service Unavailable",
"message": "<string>",
"errorId": "<string>"
}

Authorizations

x-api-key
string
header
required

Query Parameters

page
integer
default:0

Page number (starting from 0)

Required range: x >= 0
perPage
integer
default:50

Number of items per page

Required range: 0 < x <= 5000
allowedAssets
string[]

Assets to be included by symbol(ticker).

Minimum string length: 1
disallowedAssets
string[]

Assets to be excluded by symbol(ticker). The parameter is ignored if "allowedAssets" is specified.

Minimum string length: 1
allowedProtocols
string[]

Protocols to be included by name.

Minimum string length: 1
disallowedProtocols
string[]

Protocols to be excluded by name. The parameter is ignored if "allowedProtocols" is specified.

Minimum string length: 1
minTvl
integer
default:100000

Minimum TVL in USD of the vaults to be included

minVaultScore
number

Minimum vault score required for a vault to be included

Required range: x >= 0
onlyTransactional
boolean

Include only vaults that are supported in the transactional interface.

Include only vaults that are featured in app.vaults.fyi

allowCorrupted
boolean
default:false

Allow inclusion of corrupted vaults.

allowVaultsWithWarnings
boolean

Whether to include vaults with warnings. Defaults to true.

allowedNetworks
enum<string>[]

Networks to be included (name or CAIP).

Include only vaults with provided network(name or CAIP)

Available options:
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
disallowedNetworks
enum<string>[]

Networks to be excluded (name or CAIP). The parameter is ignored if "allowedNetworks" is specified.

Include only vaults with provided network(name or CAIP)

Available options:
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
maxTvl
integer

Maximum TVL in USD of the vaults to be included

maxApy
number

Maximum APY (in decimal) of the vaults to be included

minApy
number

Minimum APY (in decimal) of the vaults to be included

tags
string[]

Tags to be included.

Minimum string length: 1
curators
string[]

Curators to be included.

Minimum string length: 1
sortOrder
enum<string>
default:asc

Sort order, either asc or desc. Ascending is default.

Available options:
asc,
desc
sortBy
enum<string>

Field to sort by

Available options:
tvl,
apy1day,
apy7day,
apy30day

Response

Default Response

itemsOnPage
integer
required

Number of items on the current page

data
object[]
required
errors
object
required
nextPage
integer

Next page number