Visão geral
The latest snapshot for one approved vault: the seven windowed APYs, a
headline apy at the requested window, TVL, liquidity and capacity.
Same row shape as one element of the browse list. An unknown or
delisted vault is a 404.
include=liveLiquidity adds a fresh on-chain read of the vault's
withdrawable liquidity (liveLiquidity). This is a live number and
can differ from the snapshot availableLiquidityUsd. If the on-chain
read fails, the snapshot detail still returns 200 with
liveLiquidity: null e liveLiquidityError: "rpc_error".
Endpoint
GET https://earn-api.quicknode.dev/functions/v1/api/v1/vaults/{chainId}/{address}
Authorization
Include the published apikey header. This read request is public and does not require a SIWE signature.
Parâmetros
| Parameter | Location | Tipo | Required | Descrição |
|---|---|---|---|---|
| chainId | caminho | número inteiro | Sim | Chain id the vault lives on. |
| morada | caminho | cadeia de caracteres | Sim | Vault (ERC-4626 share token) address. |
| window | consulta | número inteiro | Não | Minutes for the headline `apy` (1–360), snapped to the nearest precomputed column. Defaults to 5. The seven windows are returned regardless. |
| incluir | consulta | string (liveLiquidity) | Não | CSV of extras. Supported value — `liveLiquidity`. |
Example request
curl --location 'https://earn-api.quicknode.dev/functions/v1/api/v1/vaults/8453/0x1deefabee758aabdc29a542b24ca3b75afd56765' \
--header 'Accept: application/json' \
--header 'apikey: <EARN_PUBLIC_API_KEY>'
Resposta
| Field | Tipo | Required | Descrição |
|---|---|---|---|
| chainId | número inteiro | Sim | Numeric identifier of the chain where the vault is deployed. |
| vaultAddress | cadeia de caracteres | Sim | Lowercased vault (ERC-4626 share token) address. |
| nome | string | null | Sim | Human-readable vault name. |
| apy | number | null | Sim | Headline APY (%) at the requested `window`, 2dp. Null means insufficient snapshot history at that window (the vault is still listed). |
| windows | objeto | Sim | The seven precomputed APY windows for a vault, as percentages (2dp). A null window means insufficient snapshot history for that lookback (e.g. a freshly launched vault), NOT zero. |
| windows.m5 | number | null | Sim | APY percentage over the five-minute lookback window. |
| windows.m10 | number | null | Sim | APY percentage over the ten-minute lookback window. |
| windows.m30 | number | null | Sim | APY percentage over the 30-minute lookback window. |
| windows.h1 | number | null | Sim | APY percentage over the one-hour lookback window. |
| windows.h2 | number | null | Sim | APY percentage over the two-hour lookback window. |
| windows.h4 | number | null | Sim | APY percentage over the four-hour lookback window. |
| windows.h6 | number | null | Sim | APY percentage over the six-hour lookback window. |
| tvlUsd | integer | null | Sim | Vault TVL in whole dollars (rounded), or null. |
| availableLiquidityUsd | integer | null | Sim | Withdrawable liquidity in whole dollars, or null. |
| maxDepositUsd | integer | null | Sim | Deposit cap in whole dollars; null means uncapped. |
| atCapacity | booleano | Sim | True when the vault's max deposit is 0 (full). |
| latestAt | string (date-time) | Sim | ISO 8601 timestamp of the latest vault snapshot. |
| covered | booleano | Não | Present and `true` ONLY when this vault is an OpenCover covered fee wrapper. OMITTED entirely for plain vaults (not `false`), so uncovered rows stay byte-identical; treat absence as uncovered. |
| underlyingVault | objeto | Não | Present ONLY when the vault is a covered fee wrapper: the wrapped (underlying) Morpho vault it deposits into. Omitted for plain vaults. |
| underlyingVault.address | cadeia de caracteres | When present | Lowercase address of the underlying Morpho vault. |
| underlyingVault.name | string | null | When present | Human-readable name of the underlying Morpho vault. |
| liveLiquidity | object | null | Não | Fresh on-chain liquidity data returned only when `include=liveLiquidity` is supplied. |
| liveLiquidity.morphoVersion | string (v1 | v2 | v2_with_v1_adapter) | When present | Morpho vault version used for the live liquidity calculation. |
| liveLiquidity.withdrawableUsdc | número | When present | USDC that can currently be withdrawn through a standard redemption, in decimal dollars. |
| liveLiquidity.forceDeallocatableUsdc | número | When present | Upper liquidity bound if every Morpho v2 adapter were force-deallocated, in decimal dollars. Earn does not use this penalty path. |
| liveLiquidityError | string (rpc_error) | Não | Present when the live read failed (`liveLiquidity` is then null). |
Example response
{
"chainId": 8453,
"vaultAddress": "0x1deefabee758aabdc29a542b24ca3b75afd56765",
"name": "Gauntlet USDC Frontier",
"apy": 5.35,
"windows": {
"m5": 5.35,
"m10": 5.3,
"m30": 5.31,
"h1": 5.31,
"h2": 5.31,
"h4": 5.31,
"h6": 5.31
},
"tvlUsd": 2960444,
"availableLiquidityUsd": 744240,
"maxDepositUsd": null,
"atCapacity": false,
"latestAt": "2026-07-31T13:00:33.653+00:00"
}
HTTP responses
| Status | Descrição |
|---|---|
| 200 | The vault's latest snapshot. |
| 400 | Bad path (chain id not a positive integer, or address not a 0x address) or a bad `window`. |
| 404 | No such approved vault (unknown or delisted). |
| 429 | Rate 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. |
| 500 | Internal server error. |
OpenAPI source
This page is based on operation getVaultDetail in the Earn OpenAPI 3.1 specification.