---
title: "Get earn vault details"
method: GET
path: "/v1/earn/ethereum/vaults/{vault_id}"
tags: ["Wallet Actions"]
---

# Get earn vault details

`GET /v1/earn/ethereum/vaults/{vault_id}`

## Request

- Base URL: `https://api.privy.io`
- URL: `https://api.privy.io/v1/earn/ethereum/vaults/{vault_id}`
- Auth: HTTP basic

Retrieve detailed information about an earn vault, including current APY and liquidity.

## Path parameters

- `vault_id` string, required: The Privy vault ID.

## Headers

- `privy-app-id` string, required: ID of your Privy app.

## Response `200`

Vault details retrieved successfully.

- union: Detailed vault information including current APY, liquidity, and asset metadata. Discriminated on provider.
  - object: Vault details for an Aave earn vault, including fee visibility.
    - `id` string, required: Vault identifier.
    - `name` string, required: Human-readable vault name from the yield provider.
    - `vault_address` string, required: Onchain vault contract address.
    - `asset` EarnAsset, required: Asset metadata for an earn vault position.
      - `address` string, required: Token contract address.
      - `symbol` string, required: Lowercase token symbol (e.g. "usdc").
      - `decimals` integer, required: Number of decimals for the asset (e.g. 6 for USDC).
    - `caip2` string, required: CAIP-2 chain identifier (e.g. "eip155:4217" for Tempo, "eip155:8453" for Base).
    - `user_apy` number, nullable, required: Annual percentage yield available to the user, after fees and excluding rewards, in basis points (e.g. 500 for 5%). 1 basis point = 0.01%.
    - `app_apy` number, nullable, required: Annual percentage yield earned by the app from vault fees, in basis points.
    - `tvl_usd` number, nullable, required: Total value locked in USD.
    - `available_liquidity_usd` number, nullable, required: Available liquidity in USD.
    - `admin_wallet_id` string, required: Privy wallet ID of the vault admin.
    - `admin_wallet_address` string, required: EVM address of the vault admin wallet.
    - `provider` 'aave', required
    - `available_fees` string, required: Fees available to collect, in smallest unit of the underlying asset.
  - object: Vault details for a Morpho earn vault.
    - `id` string, required: Vault identifier.
    - `name` string, required: Human-readable vault name from the yield provider.
    - `vault_address` string, required: Onchain vault contract address.
    - `asset` EarnAsset, required: Asset metadata for an earn vault position.
      - `address` string, required: Token contract address.
      - `symbol` string, required: Lowercase token symbol (e.g. "usdc").
      - `decimals` integer, required: Number of decimals for the asset (e.g. 6 for USDC).
    - `caip2` string, required: CAIP-2 chain identifier (e.g. "eip155:4217" for Tempo, "eip155:8453" for Base).
    - `user_apy` number, nullable, required: Annual percentage yield available to the user, after fees and excluding rewards, in basis points (e.g. 500 for 5%). 1 basis point = 0.01%.
    - `app_apy` number, nullable, required: Annual percentage yield earned by the app from vault fees, in basis points.
    - `tvl_usd` number, nullable, required: Total value locked in USD.
    - `available_liquidity_usd` number, nullable, required: Available liquidity in USD.
    - `admin_wallet_id` string, required: Privy wallet ID of the vault admin.
    - `admin_wallet_address` string, required: EVM address of the vault admin wallet.
    - `provider` 'morpho', required
    - `total_rewards_apr` number, required: Total rewards annual percentage rate in basis points.
  - object: Vault details for a Tempo earn vault.
    - `id` string, required: Vault identifier.
    - `name` string, required: Human-readable vault name from the yield provider.
    - `vault_address` string, required: Onchain vault contract address.
    - `asset` EarnAsset, required: Asset metadata for an earn vault position.
      - `address` string, required: Token contract address.
      - `symbol` string, required: Lowercase token symbol (e.g. "usdc").
      - `decimals` integer, required: Number of decimals for the asset (e.g. 6 for USDC).
    - `caip2` string, required: CAIP-2 chain identifier (e.g. "eip155:4217" for Tempo, "eip155:8453" for Base).
    - `user_apy` number, nullable, required: Annual percentage yield available to the user, after fees and excluding rewards, in basis points (e.g. 500 for 5%). 1 basis point = 0.01%.
    - `app_apy` number, nullable, required: Annual percentage yield earned by the app from vault fees, in basis points.
    - `tvl_usd` number, nullable, required: Total value locked in USD.
    - `available_liquidity_usd` number, nullable, required: Available liquidity in USD.
    - `admin_wallet_id` string, nullable, required: Privy wallet ID of the vault admin, or null when the Tempo vault admin is not Privy-managed.
    - `admin_wallet_address` string, required: EVM address of the vault admin wallet.
    - `provider` 'tempo', required
  - object: Vault details for a Veda (BoringVault) earn vault.
    - `id` string, required: Vault identifier.
    - `name` string, required: Human-readable vault name from the yield provider.
    - `vault_address` string, required: Onchain vault contract address.
    - `asset` EarnAsset, required: Asset metadata for an earn vault position.
      - `address` string, required: Token contract address.
      - `symbol` string, required: Lowercase token symbol (e.g. "usdc").
      - `decimals` integer, required: Number of decimals for the asset (e.g. 6 for USDC).
    - `caip2` string, required: CAIP-2 chain identifier (e.g. "eip155:4217" for Tempo, "eip155:8453" for Base).
    - `user_apy` number, nullable, required: Annual percentage yield available to the user, after fees and excluding rewards, in basis points (e.g. 500 for 5%). 1 basis point = 0.01%.
    - `app_apy` number, nullable, required: Annual percentage yield earned by the app from vault fees, in basis points.
    - `tvl_usd` number, nullable, required: Total value locked in USD.
    - `available_liquidity_usd` number, nullable, required: Available liquidity in USD.
    - `admin_wallet_id` string, required: Privy wallet ID of the vault admin.
    - `admin_wallet_address` string, required: EVM address of the vault admin wallet.
    - `provider` 'veda', required

## Changes

- **2026-10-16** `4facbfa7f9d4`: 1 breaking, 1 info
  - added `#/components/schemas/TempoVaultDetails` to the response body `oneOf` list for the response status `200`
  - added `tempo` mapping keys to the response discriminator for the response status `200`
- **2026-07-10** `bb2eb34156cc`: 1 breaking, 1 info
  - added `#/components/schemas/VedaVaultDetails` to the response body `oneOf` list for the response status `200`
  - added `veda` mapping keys to the response discriminator for the response status `200`
- **2026-07-02** `c7b07643ed3c`: 1 info
  - added the required property `oneOf[subschema #2: MorphoVaultDetails]/total_rewards_apr` to the response with the `200` status
- **2026-07-02** `21829d464e9b`: 12 breaking, 1 info
  - added `#/components/schemas/AaveVaultDetails, #/components/schemas/MorphoVaultDetails` to the response body `oneOf` list for the response status `200`
  - the response's body type changed from `object` to no type for status `200`
  - removed the required property `app_apy` from the response with the `200` status
  - removed the required property `asset` from the response with the `200` status
  - …9 more

[Operation history](https://skmtc.dev/privy-io/apis/privy-api/changes/v1/earn/ethereum/vaults/:vault_id/get.md)

---

[API](https://skmtc.dev/privy-io/apis/privy-api.md) - [All operations](https://skmtc.dev/privy-io/apis/privy-api/llms.txt) - [OpenAPI document](https://skmtc.dev/privy-io/apis/privy-api/revisions/3a2288470053?raw)
