개요
Up to 100 events (deposits, rebalances, withdrawals, cross-chain
bridge-backs), newest-first. forced marks a liquidity- or hide-driven
exit from a higher-APY vault.
?format=entries merges the same events with the strategy's CCTP
transfers (limit 50) into one entry per action, each with per-chain
phases.
Endpoint
GET https://earn-api.quicknode.dev/functions/v1/api/v1/strategies/{id}/history
Authorization
Include the published apikey header. This read request is public and does not require a SIWE signature.
매개변수
| 매개변수 | 위치 | 유형 | Required | 설명 |
|---|---|---|---|---|
| id | 경로 | 문자열 | 네 | Strategy UUID. |
| format | query | string (events | entries) | 아니요 | Response shape. `events` (default) is the flat event log (`HistoryResponse`); `entries` is the aggregated accordion view (`HistoryEntriesResponse`). |
Example request
curl --request GET \
--url 'https://earn-api.quicknode.dev/functions/v1/api/v1/strategies/b7c1e2d3-0000-4000-8000-000000000001/history' \
--header 'Accept: application/json' \
--header 'apikey: <EARN_PUBLIC_API_KEY>'
답변
The default 행사 format returns the flat event log. Use format=entries for aggregated actions with per-chain phases.
| 분야 | 유형 | Required | 설명 |
|---|---|---|---|
| 행사 | array<object> | 네 | Up to 100 strategy events, newest first. |
| events[].id | 문자열 | 네 | Event identifier. |
| events[].strategy_id | 문자열 | 네 | Strategy UUID. |
| events[].wallet_address | string | null | 네 | Wallet associated with the event. |
| events[].event_type | 문자열 | 네 | Legacy event label. |
| events[].kind | 문자열 | 네 | `deposit`, `crosschain_deposit`, `rebalance`, `crosschain_rebalance`, `withdrawal`, or `crosschain_withdrawal`. |
| events[].from_vault | string | null | 네 | Source vault address, when applicable. |
| events[].from_vault_name | string | null | 네 | Source vault name. |
| events[].from_apy | number | null | 네 | Source APY percentage. |
| events[].to_vault | string | null | 네 | Destination vault address, when applicable. |
| events[].to_vault_name | string | null | 네 | Destination vault name. |
| events[].to_apy | number | null | 네 | Destination APY percentage. |
| events[].usdc_amount | number | null | 네 | Event amount in decimal US dollars. |
| events[].fee_usdc | number | null | 네 | Fee in decimal US dollars. |
| events[].gas_cost_usdc | number | null | 네 | Gas cost in decimal US dollars. |
| events[].tx_hash | string | null | 네 | Primary transaction hash. |
| events[].burn_tx_hash | string | null | 네 | CCTP burn transaction hash. |
| events[].timestamp | 문자열 | 네 | Event timestamp in ISO 8601 format. |
| events[].chain_id | 정수 | 네 | Chain where the event occurred. |
| events[].log_index | integer | null | 네 | Event log index, when available. |
| events[].forced | 부울 | 네 | Whether the rebalance exited a higher-APY vault because of liquidity or hiding rules. |
| 항목 | array<object> | Yes for `format=entries` | Aggregated actions returned instead of `events` when `format=entries`. |
| truncated | 부울 | Yes for `format=entries` | True when internal read limits were reached and older activity may be missing. |
| entries[].id | 문자열 | 네 | Stable aggregated-entry identifier. |
| entries[].category | 문자열 | 네 | Action category such as `strategy_enter`, `strategy_exit`, or a rebalance category. |
| entries[].timestamp | 문자열 | 네 | Top-level action timestamp. |
| entries[].amountUsdc | 숫자 | 네 | Total action amount in decimal US dollars. |
| entries[].feeUsdc | number | null | 네 | Total action fee in decimal US dollars. |
| entries[].phases | array<object> | 네 | Per-chain steps for the action. |
| entries[].pending | 부울 | 아니요 | True when at least one phase has not confirmed. |
Example response
{
"events": [
{
"id": "8453-0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-131",
"strategy_id": "b7c1e2d3-0000-4000-8000-000000000001",
"wallet_address": "0x1234567890abcdef1234567890abcdef12345678",
"event_type": "rebalance",
"kind": "rebalance",
"from_vault": "0x616a4e1db48e22028f6bbf20444cd3b8e3273738",
"from_vault_name": "Seamless USDC Vault",
"from_apy": 4.85,
"to_vault": "0x1a996cb54bb95462040408c06122d45d6cdb6096",
"to_vault_name": "Gauntlet USDC Core",
"to_apy": 6.42,
"usdc_amount": 500,
"fee_usdc": 0.12,
"gas_cost_usdc": 0.03,
"tx_hash": "0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"burn_tx_hash": null,
"timestamp": "2026-07-07T18:00:00.000Z",
"chain_id": 8453,
"log_index": 131,
"forced": false
}
]
}
HTTP responses
| 상태 | 설명 |
|---|---|
| 200 | The flat event log (default) or the aggregated entries view (`format=entries`). Branch on the `format` you requested. |
| 400 | Invalid strategy id (a UUID is required) or unknown `format`. |
| 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 getStrategyHistory in the Earn OpenAPI 3.1 specification.