Aller directement au contenu principal

List vaults – Earn API

Mis à jour le
Jul 31, 2026

Présentation générale

Every approved vault with the seven windowed APYs, TVL, liquidity and capacity from the latest snapshot. For a capital-aware allocation preview, use GET /v1/vaults/rankings.

Endpoint

GET https://earn-api.quicknode.dev/functions/v1/api/v1/vaults

Authorization

Include the published apikey header. This read request is public and does not require a SIWE signature.

Paramètres

ParamètreLocationTypeObligatoireDescription
chaînesrequêtechaîne de caractèresNonCSV of chain ids. Defaults to all enabled chains.
windowrequêteentierNonMinutes for the headline `apy`, snapped to the nearest precomputed column. Defaults to 5. The seven windowed APYs are always returned in `windows`.
minTvlrequêtenumber (decimal)NonMinimum vault TVL in decimal dollars. Defaults to 0.
minLiquidityrequêtenumber (decimal)NonMinimum withdrawable liquidity in decimal dollars. Defaults to 0.
includeCoveredrequêtebooléenNonOpt in to OpenCover covered fee-wrapper rows (`covered: true`). Defaults to false. When omitted or false, the response contains plain vaults only.

Example request

curl --request GET \
--url 'https://earn-api.quicknode.dev/functions/v1/api/v1/vaults?chains=1&window=5&minTvl=0&minLiquidity=0&includeCovered=false' \
--header 'Accept: application/json' \
--header 'apikey: <EARN_PUBLIC_API_KEY>'

Réponse

ChampTypeObligatoireDescription
modestring (browse)OuiIdentifies the response as an unranked vault browse list.
windowentierOuiThe applied headline-APY window (minutes) after snapping.
vaultsarray<object>OuiApproved vaults that match the supplied filters.
vaults[].chainIdentierOuiNumeric identifier of the chain where the vault is deployed.
vaults[].vaultAddresschaîne de caractèresOuiLowercase address of the ERC-4626 vault share token.
vaults[].namestring | nullOuiHuman-readable name of the vault.
vaults[].apynumber (decimal) | nullOuiHeadline APY percentage for the applied `window`, rounded to two decimal places. Returns null when there is insufficient history.
vaults[].windowsobjetOuiAPY percentages for the seven precomputed lookback windows. A null value means there is insufficient history for that window.
vaults[].windows.m5number (decimal) | nullOuiAPY percentage over the five-minute lookback window.
vaults[].windows.m10number (decimal) | nullOuiAPY percentage over the ten-minute lookback window.
vaults[].windows.m30number (decimal) | nullOuiAPY percentage over the 30-minute lookback window.
vaults[].windows.h1number (decimal) | nullOuiAPY percentage over the one-hour lookback window.
vaults[].windows.h2number (decimal) | nullOuiAPY percentage over the two-hour lookback window.
vaults[].windows.h4number (decimal) | nullOuiAPY percentage over the four-hour lookback window.
vaults[].windows.h6number (decimal) | nullOuiAPY percentage over the six-hour lookback window.
vaults[].tvlUsdinteger | nullOuiVault TVL in whole US dollars, rounded to the nearest dollar.
vaults[].availableLiquidityUsdinteger | nullOuiWithdrawable liquidity in whole US dollars, rounded to the nearest dollar.
vaults[].maxDepositUsdinteger | nullOuiDeposit capacity in whole US dollars. Null means the vault is uncapped.
vaults[].atCapacitybooléenOuiTrue when the vault has no remaining deposit capacity.
vaults[].latestAtstring (date-time)OuiISO 8601 timestamp of the latest vault snapshot.
vaults[].coveredbooléenNonPresent and true only for an OpenCover covered fee wrapper. Omitted for plain vaults.

Example response

The response includes every matching vault. This example shows one exact vault entry from the response:

{
"mode": "browse",
"window": 5,
"vaults": [
{
"chainId": 1,
"vaultAddress": "0x8e56cb6bc1a8961ed9062b99045d3299b27cdb4d",
"name": "Avantgarde USDC Dynamic",
"apy": 3.67,
"windows": {
"m5": 3.67,
"m10": 3.66,
"m30": 3.63,
"h1": 3.63,
"h2": 3.64,
"h4": 3.63,
"h6": 3.62
},
"tvlUsd": 105169,
"availableLiquidityUsd": 63085,
"maxDepositUsd": null,
"atCapacity": false,
"latestAt": "2026-07-31T12:55:33.542+00:00"
}
]
}

HTTP responses

StatutDescription
200The browse vault list.
400One or more query parameters are malformed or outside their accepted range.
429Rate limit exceeded. `Retry-After` (seconds) tells you when to retry. Reads, feedback, and push writes are keyed per IP; create/update/delete are keyed per wallet+IP; deposit/withdraw/claim calldata is keyed per strategy+IP.
500Vault data is temporarily unavailable.
OpenAPI source

This page is based on operation listVaults in the Earn OpenAPI 3.1 specification.