Ir diretamente para o conteúdo principal

List vaults – Earn API

Atualizado em
Jul 31, 2026

Visão geral

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.

Parâmetros

ParameterLocationTipoRequiredDescrição
chainsconsultacadeia de caracteresNãoCSV of chain ids. Defaults to all enabled chains.
windowconsultanúmero inteiroNãoMinutes for the headline `apy`, snapped to the nearest precomputed column. Defaults to 5. The seven windowed APYs are always returned in `windows`.
minTvlconsultanumber (decimal)NãoMinimum vault TVL in decimal dollars. Defaults to 0.
minLiquidityconsultanumber (decimal)NãoMinimum withdrawable liquidity in decimal dollars. Defaults to 0.
includeCoveredconsultabooleanoNãoOpt 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>'

Resposta

FieldTipoRequiredDescrição
modestring (browse)SimIdentifies the response as an unranked vault browse list.
windownúmero inteiroSimThe applied headline-APY window (minutes) after snapping.
vaultsarray<object>SimApproved vaults that match the supplied filters.
vaults[].chainIdnúmero inteiroSimNumeric identifier of the chain where the vault is deployed.
vaults[].vaultAddresscadeia de caracteresSimLowercase address of the ERC-4626 vault share token.
vaults[].namestring | nullSimHuman-readable name of the vault.
vaults[].apynumber (decimal) | nullSimHeadline APY percentage for the applied `window`, rounded to two decimal places. Returns null when there is insufficient history.
vaults[].windowsobjetoSimAPY percentages for the seven precomputed lookback windows. A null value means there is insufficient history for that window.
vaults[].windows.m5number (decimal) | nullSimAPY percentage over the five-minute lookback window.
vaults[].windows.m10number (decimal) | nullSimAPY percentage over the ten-minute lookback window.
vaults[].windows.m30number (decimal) | nullSimAPY percentage over the 30-minute lookback window.
vaults[].windows.h1number (decimal) | nullSimAPY percentage over the one-hour lookback window.
vaults[].windows.h2number (decimal) | nullSimAPY percentage over the two-hour lookback window.
vaults[].windows.h4number (decimal) | nullSimAPY percentage over the four-hour lookback window.
vaults[].windows.h6number (decimal) | nullSimAPY percentage over the six-hour lookback window.
vaults[].tvlUsdinteger | nullSimVault TVL in whole US dollars, rounded to the nearest dollar.
vaults[].availableLiquidityUsdinteger | nullSimWithdrawable liquidity in whole US dollars, rounded to the nearest dollar.
vaults[].maxDepositUsdinteger | nullSimDeposit capacity in whole US dollars. Null means the vault is uncapped.
vaults[].atCapacitybooleanoSimTrue when the vault has no remaining deposit capacity.
vaults[].latestAtstring (date-time)SimISO 8601 timestamp of the latest vault snapshot.
vaults[].coveredbooleanoNãoPresent 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

StatusDescrição
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.