Skip to main content

List strategies – Earn API

Updated on
Jul 31, 2026

Overview

Active and closed strategies for a wallet, each with a live valuation, realized APY, fee/rebalance rollups, and a positions[] array. USDC values are decimal dollars.

Endpoint

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

Authorization

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

Parameters

ParameterLocationTypeRequiredDescription
walletquerystringYesOwner wallet address.

Example request

curl --request GET \
--url 'https://earn-api.quicknode.dev/functions/v1/api/v1/strategies?wallet=0x1234567890abcdef1234567890abcdef12345678' \
--header 'Accept: application/json' \
--header 'apikey: <EARN_PUBLIC_API_KEY>'

Response

FieldTypeRequiredDescription
strategiesarray<object>YesActive and in-progress strategies owned by the wallet.
closedStrategiesarray<object>YesClosed strategies owned by the wallet.
strategies[].idstringYesStrategy UUID.
strategies[].wallet_addressstringYesLowercased owner address.
strategies[].namestringYesStrategy name.
strategies[].capital_usdcnumberYesConfigured capital in decimal US dollars.
strategies[].delta_pctnumberYesSame-chain APY threshold in percentage points.
strategies[].cross_chain_delta_pctnumberNoCross-chain APY threshold; `0` inherits `delta_pct`.
strategies[].delta_confirmationsintegerYesRequired consecutive threshold confirmations.
strategies[].max_positionsintegerYesMaximum vault positions.
strategies[].min_tvl_usdnumberYesMinimum vault TVL in decimal US dollars.
strategies[].min_liquidity_usdnumberYesMinimum vault liquidity in decimal US dollars.
strategies[].min_liquidity_entry_multipliernumberYesLiquidity multiplier for new entries.
strategies[].chain_idintegerYesLegacy primary chain ID.
strategies[].chain_idsstring | nullYesComma-separated authoritative chain IDs.
strategies[].apy_smoothing_minutesintegerYesAPY smoothing window in minutes.
strategies[].hidden_vault_keysarray<string>YesVault keys hidden from the strategy.
strategies[].statusstringYesStrategy lifecycle status.
strategies[].activebooleanYesWhether the strategy is active.
strategies[].created_atstringYesCreation timestamp.
strategies[].updated_atstringYesLast-update timestamp.
strategies[].first_deposit_atstring | nullYesFirst-deposit timestamp.
strategies[].deactivated_atstring | nullYesDeactivation timestamp.
strategies[].final_value_usdcnumber | nullYesFinal strategy value in decimal US dollars.
strategies[].final_realized_apynumber | nullYesFinal realized APY percentage.
strategies[].coveredbooleanNoWhether the strategy uses OpenCover coverage.
strategies[].coverage_activated_atstring | nullNoCoverage activation timestamp.
strategies[].total_value_usdcnumberYesLive position value in decimal US dollars.
strategies[].pending_bridge_value_usdcnumberYesValue in pending bridges.
strategies[].pending_bridges_countintegerYesPending bridge count.
strategies[].net_value_usdcnumberYesLive value plus pending bridge value.
strategies[].realized_apynumber | nullYesAnnualized realized APY percentage.
strategies[].live_apynumber | nullNoFive-minute value-weighted position APY.
strategies[].strategy_apynumber | nullNoValue-weighted APY at the configured smoothing window.
strategies[].positionsarray<object>YesLive-valued vault positions.
strategies[].positions[].idstringYesPosition identifier.
strategies[].positions[].strategy_idstring | nullNoOwning strategy UUID. Present only on list responses.
strategies[].positions[].vault_namestring | nullYesVault display name, or null when unavailable.
strategies[].positions[].vault_addressstringYesVault contract address.
strategies[].positions[].protocolstring | nullYesVault protocol name, or null when unavailable.
strategies[].positions[].chain_idintegerNoChain where the vault is deployed. Absent on closed-strategy list positions.
strategies[].positions[].shares_rawstring | nullYesRaw ERC-4626 share balance.
strategies[].positions[].usdc_valuenumberYesPosition value in decimal US dollars.
strategies[].positions[].entry_apynumberYesAPY percentage at entry.
strategies[].positions[].initial_usd_valuenumber | nullNoUSDC deposited into the position, in decimal dollars. Absent on closed-strategy list positions.
strategies[].positions[].pausedbooleanNoWhether the position is paused. Absent on closed positions.
strategies[].rebalance_countintegerYesCompleted rebalance count.
strategies[].total_fees_usdcnumberYesTotal fees in decimal US dollars.

Example response

This abbreviated response uses synthetic wallet and strategy data:

{
"strategies": [
{
"id": "b7c1e2d3-0000-4000-8000-000000000001",
"wallet_address": "0x1234567890abcdef1234567890abcdef12345678",
"name": "My USDC Strategy",
"capital_usdc": 1000,
"chain_ids": "8453,42161",
"status": "active",
"positions": [
{
"vault_name": "Seamless USDC Vault",
"chain_id": 8453,
"usdc_value": 600.25
}
]
}
],
"closedStrategies": [
{
"id": "c8d2f1a4-0000-4000-8000-000000000002",
"name": "Closed USDC Strategy",
"status": "closed"
}
]
}

HTTP responses

StatusDescription
200The wallet's active and closed strategies.
400Missing or invalid `wallet` address.
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.
500Internal server error.
OpenAPI source

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

Share this doc