मुख्य सामग्री पर जाएं

Get vault rankings – Earn API

को अपडेट
Jul 31, 2026

अवलोकन

The vaults a strategy with these settings would target, ranked by the same pipeline that plans deposits, enriched with liquidity/capacity from the latest snapshot. capital और maxPositions drive the ranking; the remaining params filter.

Endpoint

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

Authorization

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

पैरामीटर

ParameterLocationTypeRequiredविवरण
capitalqueryसंख्याहाँCapital to allocate, in USDC decimal dollars (> 0).
maxPositionsqueryपूर्णांकहाँMaximum number of vault positions (positive integer).
चेनqueryडोरीनहींCSV of chain ids. Defaults to all enabled chains.
minTvlqueryसंख्यानहींMinimum vault TVL in decimal US dollars. Defaults to 0.
minLiquidityqueryसंख्यानहींMinimum withdrawable liquidity in decimal US dollars. Defaults to 0.
minLiquidityMultiplierqueryसंख्यानहींEntry liquidity threshold multiplier: a vault must have this multiple of the intended position size in withdrawable liquidity to qualify. Defaults to 2. The deposit calldata path uses a looser default of 1.
apySmoothingMinutesqueryपूर्णांकनहींAPY smoothing window in minutes; snaps to the nearest precomputed column (5/10/30/60/120/240/360). Defaults to 30.
hiddenVaultKeysqueryडोरीनहींCSV of `chainId:0xaddress` vault keys to exclude.
walletqueryडोरीनहींIf present, merges this wallet's saved global hide list into the exclusions.
coveredquerystring (true | false)नहींRANKED mode only. Coverage partition to rank within: `true` = OpenCover fee-wrappers only, `false` = plain vaults only. Omit for an unscoped ranking across both partitions. Any other value is a 400. Threaded into the ranking pipeline's `strategyCovered` (the covered/uncovered wizard toggle drives it).

Example request

curl --request GET \
--url 'https://earn-api.quicknode.dev/functions/v1/api/v1/vaults/rankings?capital=1000&maxPositions=5' \
--header 'Accept: application/json' \
--header 'apikey: <EARN_PUBLIC_API_KEY>'

प्रतिक्रिया

FieldTypeRequiredविवरण
modestring (ranked)हाँIdentifies the response as a ranked vault allocation preview.
vaultsarray<object>हाँEligible vaults ordered by the ranking pipeline.
vaults[].chainIdपूर्णांकहाँNumeric identifier of the chain where the vault is deployed.
vaults[].vaultAddressडोरीहाँLowercase address of the ERC-4626 vault share token.
vaults[].nameडोरीहाँHuman-readable name of the vault.
vaults[].apynumber (decimal)हाँRanking APY expressed as a percentage to three decimal places. For example, `15.294` represents 15.294% APY.
vaults[].tvlUsdपूर्णांकहाँVault TVL in whole US dollars, rounded to the nearest dollar.
vaults[].availableLiquidityUsdinteger | nullहाँWithdrawable liquidity in whole US dollars, or null when unknown.
vaults[].maxDepositUsdinteger | nullहाँDeposit capacity in whole US dollars. Null means the vault is uncapped.
vaults[].atCapacityबूलियनहाँTrue when the vault has no remaining deposit capacity.
excludedChainsarray<object>हाँChains excluded from the allocation and the reason for each exclusion.
excludedChains[].chainIdपूर्णांकहाँNumeric identifier of the excluded chain.
excludedChains[].reasonडोरीहाँReason the chain did not produce an eligible vault.
eligibleCountपूर्णांकहाँNumber of eligible vaults before the maxPositions cut.
estimatedApynumber (decimal) | nullहाँMean of the selected vaults' positive APYs, as a percentage; null when none.

Example response

{
"mode": "ranked",
"vaults": [
{
"chainId": 42161,
"vaultAddress": "0x55a2b207b0074e13adcb858950a81b7a04775e0f",
"name": "Gauntlet USDC Balanced",
"apy": 15.294,
"tvlUsd": 217817,
"availableLiquidityUsd": 1701,
"maxDepositUsd": null,
"atCapacity": false
},
{
"chainId": 42161,
"vaultAddress": "0x7e97fa6893871a2751b5fe961978dccb2c201e65",
"name": "Gauntlet USDC Core",
"apy": 13.771,
"tvlUsd": 682955,
"availableLiquidityUsd": 1701,
"maxDepositUsd": null,
"atCapacity": false
},
{
"chainId": 143,
"vaultAddress": "0x78999cc96d2ba0341588c60ccb0e91c6c33cf371",
"name": "Hyperithm USDC Apex",
"apy": 7.704,
"tvlUsd": 51560093,
"availableLiquidityUsd": 50763,
"maxDepositUsd": null,
"atCapacity": false
},
{
"chainId": 143,
"vaultAddress": "0x80017bf0f793ebbe9679cd61ff0e395b62cabb59",
"name": "August USDC V2",
"apy": 5.358,
"tvlUsd": 4930373,
"availableLiquidityUsd": 470821,
"maxDepositUsd": null,
"atCapacity": false
},
{
"chainId": 8453,
"vaultAddress": "0x1deefabee758aabdc29a542b24ca3b75afd56765",
"name": "Gauntlet USDC Frontier",
"apy": 5.305,
"tvlUsd": 2960443,
"availableLiquidityUsd": 744240,
"maxDepositUsd": null,
"atCapacity": false
}
],
"excludedChains": [
{
"chainId": 1,
"reason": "Strategy capital $1000 < $5000 minimum"
}
],
"eligibleCount": 45,
"estimatedApy": 9.4864
}

HTTP responses

स्थितिविवरण
200The ranked vault list.
400Required parameters are missing, 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 ranking data is temporarily unavailable.
503Wallet hide-list lookup failed (only when `wallet` is supplied). Fails closed.
OpenAPI source

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