---
title: "Earn vault detail"
method: GET
path: "/v3/earn/vaults/{chainId}/{address}"
tags: ["Earn"]
---

# Earn vault detail

`GET /v3/earn/vaults/{chainId}/{address}`

Returns earn vault detail. Optional `include` expands related resources.
Supported values: `apy`, `totals`, `prices`.

## Path parameters

- `chainId` integer, required
- `address` string, required

## Query parameters

- `include` string

## Response `200`

Earn vault detail

- object
  - `data` EarnVaultDetailsWithIncludes
    - `chainId` integer
    - `address` string
    - `name` string
    - `symbol` string
    - `decimals` integer
    - `asset` AssetRef
      - `address` string
      - `symbol` string
      - `decimals` integer
      - `name` string, nullable
    - `totalAssets` string — Raw underlying asset amount as a bigint string.
    - `totalShares` string — Raw vault share supply as a bigint string.
    - `lostAssets` string — Raw lost asset amount as a bigint string.
    - `exchangeRate` string — Raw exchange rate as a bigint string.
    - `totalSupplyUsd` number — Market USD number for total Earn vault assets.
    - `availableAssets` string — Raw underlying asset amount as a bigint string.
    - `availableAssetsUsd` number — Market USD number for currently available assets.
    - `supplyApy` number, nullable — Public supply APY as a percent number.
    - `apyCurrent` number, nullable — Current public APY as a percent number.
    - `apy7d` number, nullable — Seven-day public APY as a percent number, using an anchor at or up to 15 minutes before the exact cutoff. Null when no qualifying local or archive anchor is available.
    - `apy30d` number, nullable — Thirty-day public APY as a percent number, using an anchor at or up to 15 minutes before the exact cutoff. Null when no qualifying local or archive anchor is available.
    - `apy90d` number, nullable — Ninety-day public APY as a percent number, using an anchor at or up to 15 minutes before the exact cutoff. Null when no qualifying local or archive anchor is available.
    - `utilization` number — Utilization ratio number.
    - `strategyCount` integer
    - `snapshotTimestamp` string, date-time
    - `createdAt` string, date-time
    - `visibility` VaultVisibilitySummary — Platform visibility verdict for discovery surfaces. Warning stays discoverable with a badge; the per-surface booleans carve out lend/borrow discovery individually.
      - `status` 'visible' | 'warning' | 'hidden' | 'pending_review', required
      - `explorableLend` boolean, required
      - `explorableBorrow` boolean, required
      - `decidedBy` 'config-revoked' | 'consistency-revoked' | 'config-suspended' | 'consistency-suspended' | 'config-failed' | 'not-explorable' | 'unassessable' | 'deprecated' | 'unclaimed' | 'verified' | 'awaiting-verification', required — Which resolution rule decided the status. `config-*` codes come from Layer 1 (configuration safety), `consistency-*` codes from Layer 2 (label consistency).
      - `reason` string, nullable, required — Display-appropriate explanation for the decision (deprecation reason, failing check), when one is authored.
    - `strategies` EarnStrategy[]
      - `address` string
      - `vaultType` 'evk' | 'earn' | 'securitize' | 'unknown'
      - `symbol` string, nullable
      - `name` string, nullable
      - `decimals` integer, nullable
      - `suppliedAssets` string — Raw underlying asset amount supplied to the strategy.
      - `withdrawnAssets` string — Raw underlying asset amount withdrawn from the strategy.
      - `allocatedAssets` string — Raw underlying asset amount allocated to the strategy.
      - `allocatedAssetsUsd` number — Market USD number for assets allocated to this strategy.
      - `availableAssets` string — Raw underlying asset amount available from the strategy.
      - `inSupplyQueue` boolean
      - `inWithdrawQueue` boolean
      - `supplyQueueIndex` integer, nullable
      - `withdrawQueueIndex` integer, nullable
      - `allocationCap` EarnStrategyAllocationCap
        - `current` string — Raw allocation cap as a bigint string in underlying asset units.
        - `pending` string — Pending raw allocation cap as a bigint string in underlying asset units.
        - `pendingValidAt` string, date-time
      - `removableAt` string, date-time
      - `status` 'active' | 'inactive' | 'pending_removal'
      - `lastRebalancedAt` string, date-time, nullable
    - `governance` EarnVaultGovernance
      - `owner` string
      - `creator` string
      - `curator` string
      - `guardian` string
      - `feeReceiver` string
      - `allocators` string[] — Active allocator addresses reconstructed from SetIsAllocator events.
      - `timelock` integer — Timelock duration in seconds.
      - `pendingTimelock` integer — Pending timelock duration in seconds.
      - `pendingTimelockValidAt` string, date-time
      - `pendingGuardian` string
      - `pendingGuardianValidAt` string, date-time
    - `management` EarnVaultManagement
      - `owner` string
      - `curator` string
      - `guardian` string
      - `feeRecipient` string
      - `timelockSeconds` integer — Timelock duration in seconds.
      - `performanceFee` string — Raw contract performance fee value as a bigint string.
    - `apy` VaultApy
      - `current` VaultApyPoint
        - `supplyApy` number, nullable — Percent number with 6 decimal places.
        - `borrowApy` number — Percent number with 6 decimal places.
        - `timestamp` string, date-time
      - `history` VaultApyPoint[]
        - `supplyApy` number, nullable — Percent number with 6 decimal places.
        - `borrowApy` number — Percent number with 6 decimal places.
        - `timestamp` string, date-time
    - `totals` VaultTotals
      - `current` VaultTotalsPoint
        - `totalAssets` string — Raw underlying asset amount as a bigint string.
        - `totalAssetsUsd` number, nullable — USD value of totalAssets. Uses the latest asset price for current and the bucket-aligned historical asset price for history entries when available.
        - `totalBorrows` string — Raw borrowed asset amount as a bigint string.
        - `totalBorrowsUsd` number, nullable — USD value of totalBorrows. Uses the latest asset price for current and the bucket-aligned historical asset price for history entries when available.
        - `cash` string, nullable — Raw cash amount as a bigint string.
        - `cashUsd` number, nullable — USD value of cash. Uses the latest asset price for current and the bucket-aligned historical asset price for history entries when available.
        - `utilization` number, nullable — Utilization ratio number.
        - `supplyApy` number, nullable — Public supply APY as a percent number.
        - `borrowApy` number, nullable — Public borrow APY as a percent number.
        - `sharePrice` number, nullable — Share price when available; populated for Earn totals.
        - `timestamp` string, date-time
      - `history` VaultTotalsPoint[]
        - `totalAssets` string — Raw underlying asset amount as a bigint string.
        - `totalAssetsUsd` number, nullable — USD value of totalAssets. Uses the latest asset price for current and the bucket-aligned historical asset price for history entries when available.
        - `totalBorrows` string — Raw borrowed asset amount as a bigint string.
        - `totalBorrowsUsd` number, nullable — USD value of totalBorrows. Uses the latest asset price for current and the bucket-aligned historical asset price for history entries when available.
        - `cash` string, nullable — Raw cash amount as a bigint string.
        - `cashUsd` number, nullable — USD value of cash. Uses the latest asset price for current and the bucket-aligned historical asset price for history entries when available.
        - `utilization` number, nullable — Utilization ratio number.
        - `supplyApy` number, nullable — Public supply APY as a percent number.
        - `borrowApy` number, nullable — Public borrow APY as a percent number.
        - `sharePrice` number, nullable — Share price when available; populated for Earn totals.
        - `timestamp` string, date-time
    - `prices` EarnIncludePrices
      - `asset` Price
        - `chainId` integer
        - `address` string
        - `symbol` string
        - `decimals` integer
        - `priceUsd` number — Market-normalized USD price number. Use `/v3/oracles/prices` for exact contract-derived oracle values.
        - `source` 'onchain' | 'offchain' | 'hardcoded' — Provider-redacted price provenance category.
        - `timestamp` string, date-time — Observation time. Current-price endpoints may return the best-known observation regardless of age; derived USD calculations accept observations up to 24 hours old.
  - `meta` PaginationMeta
    - `total` integer — Exact total count when the endpoint provides one.
    - `hasMore` boolean — Indicates whether another page exists beyond the current page.
    - `offset` integer
    - `limit` integer — Echoed page size after endpoint-side clamping.
    - `timestamp` string, date-time, required
    - `chainId` string — Comma-separated chain IDs for multi-chain responses.
    - `degradedProviders` string[] — Live providers whose data is incomplete in this response.

## Other responses

- `400` — Bad request
- `404` — Not found
- `429` — Rate limited
- `500` — Internal server error
- `504` — Upstream request timed out

---

[API](https://skmtc.dev/euler/apis/euler-data-api-v3.md) · [All operations](https://skmtc.dev/euler/apis/euler-data-api-v3/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/euler/euler-data-api-v3/revisions/9e69e7cdb054/schema)
