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
| Parameter | Location | Type | Required | Description |
|---|---|---|---|---|
| wallet | query | string | Yes | Owner 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
| Field | Type | Required | Description |
|---|---|---|---|
| strategies | array<object> | Yes | Active and in-progress strategies owned by the wallet. |
| closedStrategies | array<object> | Yes | Closed strategies owned by the wallet. |
| strategies[].id | string | Yes | Strategy UUID. |
| strategies[].wallet_address | string | Yes | Lowercased owner address. |
| strategies[].name | string | Yes | Strategy name. |
| strategies[].capital_usdc | number | Yes | Configured capital in decimal US dollars. |
| strategies[].delta_pct | number | Yes | Same-chain APY threshold in percentage points. |
| strategies[].cross_chain_delta_pct | number | No | Cross-chain APY threshold; `0` inherits `delta_pct`. |
| strategies[].delta_confirmations | integer | Yes | Required consecutive threshold confirmations. |
| strategies[].max_positions | integer | Yes | Maximum vault positions. |
| strategies[].min_tvl_usd | number | Yes | Minimum vault TVL in decimal US dollars. |
| strategies[].min_liquidity_usd | number | Yes | Minimum vault liquidity in decimal US dollars. |
| strategies[].min_liquidity_entry_multiplier | number | Yes | Liquidity multiplier for new entries. |
| strategies[].chain_id | integer | Yes | Legacy primary chain ID. |
| strategies[].chain_ids | string | null | Yes | Comma-separated authoritative chain IDs. |
| strategies[].apy_smoothing_minutes | integer | Yes | APY smoothing window in minutes. |
| strategies[].hidden_vault_keys | array<string> | Yes | Vault keys hidden from the strategy. |
| strategies[].status | string | Yes | Strategy lifecycle status. |
| strategies[].active | boolean | Yes | Whether the strategy is active. |
| strategies[].created_at | string | Yes | Creation timestamp. |
| strategies[].updated_at | string | Yes | Last-update timestamp. |
| strategies[].first_deposit_at | string | null | Yes | First-deposit timestamp. |
| strategies[].deactivated_at | string | null | Yes | Deactivation timestamp. |
| strategies[].final_value_usdc | number | null | Yes | Final strategy value in decimal US dollars. |
| strategies[].final_realized_apy | number | null | Yes | Final realized APY percentage. |
| strategies[].covered | boolean | No | Whether the strategy uses OpenCover coverage. |
| strategies[].coverage_activated_at | string | null | No | Coverage activation timestamp. |
| strategies[].total_value_usdc | number | Yes | Live position value in decimal US dollars. |
| strategies[].pending_bridge_value_usdc | number | Yes | Value in pending bridges. |
| strategies[].pending_bridges_count | integer | Yes | Pending bridge count. |
| strategies[].net_value_usdc | number | Yes | Live value plus pending bridge value. |
| strategies[].realized_apy | number | null | Yes | Annualized realized APY percentage. |
| strategies[].live_apy | number | null | No | Five-minute value-weighted position APY. |
| strategies[].strategy_apy | number | null | No | Value-weighted APY at the configured smoothing window. |
| strategies[].positions | array<object> | Yes | Live-valued vault positions. |
| strategies[].positions[].id | string | Yes | Position identifier. |
| strategies[].positions[].strategy_id | string | null | No | Owning strategy UUID. Present only on list responses. |
| strategies[].positions[].vault_name | string | null | Yes | Vault display name, or null when unavailable. |
| strategies[].positions[].vault_address | string | Yes | Vault contract address. |
| strategies[].positions[].protocol | string | null | Yes | Vault protocol name, or null when unavailable. |
| strategies[].positions[].chain_id | integer | No | Chain where the vault is deployed. Absent on closed-strategy list positions. |
| strategies[].positions[].shares_raw | string | null | Yes | Raw ERC-4626 share balance. |
| strategies[].positions[].usdc_value | number | Yes | Position value in decimal US dollars. |
| strategies[].positions[].entry_apy | number | Yes | APY percentage at entry. |
| strategies[].positions[].initial_usd_value | number | null | No | USDC deposited into the position, in decimal dollars. Absent on closed-strategy list positions. |
| strategies[].positions[].paused | boolean | No | Whether the position is paused. Absent on closed positions. |
| strategies[].rebalance_count | integer | Yes | Completed rebalance count. |
| strategies[].total_fees_usdc | number | Yes | Total 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
| Status | Description |
|---|---|
| 200 | The wallet's active and closed strategies. |
| 400 | Missing or invalid `wallet` address. |
| 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 listStrategies in the Earn OpenAPI 3.1 specification.