---
title: "Get Tokenized Vaults"
method: GET
path: "/tokenized_vaults"
---

# Get Tokenized Vaults

`GET /tokenized_vaults`

## Query parameters

- `status` 'active' | 'closed' | 'migrated'
- `load_subaccounts` boolean — Load subaccounts and EOA operators for vault. (May affect performance)
- `load_snapshots` boolean — Load historical snapshots for vault. (Will significantly affect performance). Use `/{vault_address}/historical-timeseries` instead

## Response `200`

Successful Response

- union[]
  - union
    - ITokenizedVaultFullDisplay
      - `address` string, required
      - `yield_distributor` string, nullable
      - `chain` integer, nullable, required
      - `description` string, nullable
      - `internal_type` string, nullable
      - `public_type` string, nullable
      - `is_featured` boolean, nullable
      - `is_visible` boolean, nullable
      - `weekly_performance_fee_bps` number, nullable
      - `platform_fee_override` object, nullable
      - `start_datetime` string, date-time, nullable
      - `vault_name` string, nullable
      - `reserve_target` number, nullable
      - `reserve_tolerance` number, nullable
      - `withdrawal_alert_threshold` number, nullable
      - `withdrawal_alert_channels` string, nullable
      - `status` string, nullable
      - `is_charge_fees_manual` boolean, nullable
      - `receipt_token_symbol` string, nullable
      - `enable_external_assets_update` boolean, nullable
      - `is_distributor_fee_wrapper` boolean, nullable
      - `vault_logo_url` string, nullable
      - `risk` string, nullable
      - `max_daily_drawdown` number, nullable
      - `chain_type` string, nullable
      - `enabled_historical_price_horizons` integer[], nullable
      - `is_spotlighted` boolean, nullable
      - `show_cap_filled` boolean, nullable
      - `withdrawal_only` boolean, nullable
      - `historical_apy` object, nullable
      - `default_apy_horizon` integer, nullable
      - `iat_traders` string[], nullable
      - `withdrawal_margin_seconds` integer, nullable
      - `management_fee_waived_until_date` string, date-time, nullable
      - `management_fee_waived_until_tvl` number, nullable
      - `performance_fee_waived_until_date` string, date-time, nullable
      - `performance_fee_waived_until_tvl` number, nullable
      - `nav_base_asset_token_id` string, uuid, nullable
      - `nav_pricing_overrides` object, nullable
      - `apy_override` object, nullable
      - `max_drawdown` number, nullable
      - `latest_reported_tvl` number, nullable
      - `campaign_apy` number, nullable
      - `metrics_last_updated` string, date-time, nullable
      - `id` string, uuid, required
      - `solana_vault_metadata` ISolanaVaultMetadataRead — Schema for reading a solana_vault_metadata entry.
        - `vault_state_pda` string, required
        - `share_mint` string, required
        - `deposit_mint` string, required
        - `deposit_token_symbol` string, nullable
        - `deposit_token_decimals` integer, nullable
        - `program_id` string, nullable
        - `id` string, uuid, required
        - `tokenized_vault_id` string, uuid, required
      - `stellar_vault_metadata` IStellarVaultMetadataRead — Schema for reading a stellar_vault_metadata entry.
        - `deposit_token_address` string, required
        - `deposit_token_symbol` string, nullable
        - `deposit_token_decimals` integer, nullable
        - `network_name` 'mainnet' | 'testnet', required
        - `utila_vault_id` string, required
        - `utila_wallet_id` string, required
        - `id` string, uuid, required
        - `tokenized_vault_id` string, uuid, required
      - `instant_redeem_config` IInstantRedeemConfigRead — Schema for reading an instant_redeem_config entry.
        - `subaccount_address` string, required
        - `output_asset_symbol` string, required
        - `is_paused` boolean
        - `available_liquidity` integer
        - `redeemable_assets` unknown[]
          - unknown
        - `id` string, uuid, required
        - `tokenized_vault_id` string, uuid, required
      - `view_type` 'all'
      - `rewards` TokenizedVaultReward[]
        - `id` string, uuid
        - `updated_at` string, date-time, nullable
        - `created_at` string, date-time, nullable
        - `tokenizedvault_id` string, uuid, nullable
        - `text` string, nullable
        - `img_url` string, nullable
        - `multiplier` number, nullable
        - `start_datetime` string, date-time, nullable
        - `end_datetime` string, date-time, nullable
      - `reported_apy` TokenizedVaultReportedAPY
        - `apy` number, nullable
        - `underlying_apy` number, nullable
        - `liquid_apy` number, nullable
        - `rewards_compounded` number, nullable
        - `rewards_claimable` number, nullable
        - `explainer` string, nullable
        - `id` string, uuid
        - `updated_at` string, date-time, nullable
        - `created_at` string, date-time, nullable
        - `tokenized_vault_id` string, uuid, required
      - `receipt_token_integrations` Token[]
        - `address` string, required
        - `chain` integer, required
        - `token_class` string, required
        - `shorthand` string, nullable, required
        - `symbol` string, nullable
        - `tiingo_ticker` string, nullable
        - `coingecko_id` string, nullable
        - `img_url` string, nullable
        - `is_transferable` boolean
        - `id` string, uuid
        - `updated_at` string, date-time, nullable
        - `created_at` string, date-time, nullable
        - `position_id` string, uuid, nullable
        - `stable_token_pair_id` string, uuid, nullable
      - `hardcoded_strategists` IStrategistRead[]
        - `strategist_name` string, required
        - `strategist_logo` string, nullable
        - `website_url` string, nullable
        - `id` string, uuid, required
      - `composability_integrations` IComposabilityIntegrationRead[]
        - `name` string
        - `description` string
        - `earning_multiplier` number
        - `protocol_url` string
        - `logo_url` string
        - `tokenized_vault_id` string, uuid, required
        - `id` string, uuid, required
      - `cached_at` string, date-time, nullable
      - `freshness` VaultFreshness — Per-provenance ages for a vault's NAV-derived figures (AUGUST-6124). A single "last updated" stamp cannot honestly describe this payload: the share price a client displays is typically a live ``totalAssets() / totalSupply()`` chain read, while ``historical_apy`` is a column recomputed by a periodic job. Printing one timestamp against both replaces a silent disagreement with a printed one, so each provenance gets its own stamp. ``share_ratio_snapshot_at`` later than ``apy_computed_at`` is the staleness signal worth surfacing: a snapshot has landed that the APY has not yet been recomputed from. The two are written by the same ``update_vault_metrics`` call in normal operation, so they only diverge when a metrics recompute failed or has not run yet. All fields are UTC-aware and serialize as RFC 3339 with a trailing ``Z``. Hold that convention: JS ``new Date()`` parses an offset-less date-time as local time, so dropping the suffix silently shifts every rendered value. The validator below enforces it on *every* construction path, including revival from a cached body — see the note on ``ITokenizedVaultBasicDisplay .freshness`` for why round-tripping is load-bearing here.
        - `apy_computed_at` string, date-time, nullable — When historical_apy / TVL / drawdown were last recomputed.
        - `share_ratio_snapshot_at` string, date-time, nullable — snapshot_datetime of the newest persisted share-price snapshot. Independent of load_snapshots — read as a scalar, so it is populated on every view. None only when the vault has no snapshots at all.
        - `cached_at` string, date-time, nullable — When this response body was assembled (pre-cache).
      - `historical_snapshots` IUpshiftHistoricalSnapshotRead[]
        - `total_assets` number
        - `total_shares` number
        - `asset_share_ratio` number
        - `underlying_price` number
        - `snapshot_datetime` string, date-time
        - `block_id` integer
        - `id` string, uuid, required
        - `tvl` number, required
      - `subaccounts` ISubaccountReadWithStrategist[]
        - `address` string, required
        - `wallet_role` 'operator' | 'reserve' | 'buffer' | 'mint' — Operational role of a vault wallet, surfaced in the NAV Wallet Table. Set by ops on a Subaccount / EOAOperator; unlabeled wallets are ``None``.
        - `strategist` IStrategistRead
          - `strategist_name` string, required
          - `strategist_logo` string, nullable
          - `website_url` string, nullable
          - `id` string, uuid, required
      - `eoa_operators` IEOAOperatorRead[]
        - `address` string, required
        - `name` string, nullable
        - `wallet_role` 'operator' | 'reserve' | 'buffer' | 'mint' — Operational role of a vault wallet, surfaced in the NAV Wallet Table. Set by ops on a Subaccount / EOAOperator; unlabeled wallets are ``None``.
        - `id` string, uuid, required
      - `historical_compound_apy` object, nullable, required — Compound-annualized twin of ``historical_apy`` (AUGUST-6765). Derived from the exact same per-horizon rate as ``historical_apy`` so the two fields can never describe different snapshot pairs. Exposed on every endpoint that serializes this schema (single + list vault reads).
      - `tvl` number, required
      - `pnl_per_share` object, required
      - `daily_pnl_per_share` object, required
      - `operators` OperatorRead[], required
        - `address` string, required
        - `operator_type` 'subaccount' | 'eoa', required
    - ITokenizedVaultSnapshotsDisplay
      - `address` string, required
      - `yield_distributor` string, nullable
      - `chain` integer, nullable, required
      - `description` string, nullable
      - `internal_type` string, nullable
      - `public_type` string, nullable
      - `is_featured` boolean, nullable
      - `is_visible` boolean, nullable
      - `weekly_performance_fee_bps` number, nullable
      - `platform_fee_override` object, nullable
      - `start_datetime` string, date-time, nullable
      - `vault_name` string, nullable
      - `reserve_target` number, nullable
      - `reserve_tolerance` number, nullable
      - `withdrawal_alert_threshold` number, nullable
      - `withdrawal_alert_channels` string, nullable
      - `status` string, nullable
      - `is_charge_fees_manual` boolean, nullable
      - `receipt_token_symbol` string, nullable
      - `enable_external_assets_update` boolean, nullable
      - `is_distributor_fee_wrapper` boolean, nullable
      - `vault_logo_url` string, nullable
      - `risk` string, nullable
      - `max_daily_drawdown` number, nullable
      - `chain_type` string, nullable
      - `enabled_historical_price_horizons` integer[], nullable
      - `is_spotlighted` boolean, nullable
      - `show_cap_filled` boolean, nullable
      - `withdrawal_only` boolean, nullable
      - `historical_apy` object, nullable
      - `default_apy_horizon` integer, nullable
      - `iat_traders` string[], nullable
      - `withdrawal_margin_seconds` integer, nullable
      - `management_fee_waived_until_date` string, date-time, nullable
      - `management_fee_waived_until_tvl` number, nullable
      - `performance_fee_waived_until_date` string, date-time, nullable
      - `performance_fee_waived_until_tvl` number, nullable
      - `nav_base_asset_token_id` string, uuid, nullable
      - `nav_pricing_overrides` object, nullable
      - `apy_override` object, nullable
      - `max_drawdown` number, nullable
      - `latest_reported_tvl` number, nullable
      - `campaign_apy` number, nullable
      - `metrics_last_updated` string, date-time, nullable
      - `id` string, uuid, required
      - `solana_vault_metadata` ISolanaVaultMetadataRead — Schema for reading a solana_vault_metadata entry.
        - `vault_state_pda` string, required
        - `share_mint` string, required
        - `deposit_mint` string, required
        - `deposit_token_symbol` string, nullable
        - `deposit_token_decimals` integer, nullable
        - `program_id` string, nullable
        - `id` string, uuid, required
        - `tokenized_vault_id` string, uuid, required
      - `stellar_vault_metadata` IStellarVaultMetadataRead — Schema for reading a stellar_vault_metadata entry.
        - `deposit_token_address` string, required
        - `deposit_token_symbol` string, nullable
        - `deposit_token_decimals` integer, nullable
        - `network_name` 'mainnet' | 'testnet', required
        - `utila_vault_id` string, required
        - `utila_wallet_id` string, required
        - `id` string, uuid, required
        - `tokenized_vault_id` string, uuid, required
      - `instant_redeem_config` IInstantRedeemConfigRead — Schema for reading an instant_redeem_config entry.
        - `subaccount_address` string, required
        - `output_asset_symbol` string, required
        - `is_paused` boolean
        - `available_liquidity` integer
        - `redeemable_assets` unknown[]
          - unknown
        - `id` string, uuid, required
        - `tokenized_vault_id` string, uuid, required
      - `view_type` 'snapshots'
      - `rewards` TokenizedVaultReward[]
        - `id` string, uuid
        - `updated_at` string, date-time, nullable
        - `created_at` string, date-time, nullable
        - `tokenizedvault_id` string, uuid, nullable
        - `text` string, nullable
        - `img_url` string, nullable
        - `multiplier` number, nullable
        - `start_datetime` string, date-time, nullable
        - `end_datetime` string, date-time, nullable
      - `reported_apy` TokenizedVaultReportedAPY
        - `apy` number, nullable
        - `underlying_apy` number, nullable
        - `liquid_apy` number, nullable
        - `rewards_compounded` number, nullable
        - `rewards_claimable` number, nullable
        - `explainer` string, nullable
        - `id` string, uuid
        - `updated_at` string, date-time, nullable
        - `created_at` string, date-time, nullable
        - `tokenized_vault_id` string, uuid, required
      - `receipt_token_integrations` Token[]
        - `address` string, required
        - `chain` integer, required
        - `token_class` string, required
        - `shorthand` string, nullable, required
        - `symbol` string, nullable
        - `tiingo_ticker` string, nullable
        - `coingecko_id` string, nullable
        - `img_url` string, nullable
        - `is_transferable` boolean
        - `id` string, uuid
        - `updated_at` string, date-time, nullable
        - `created_at` string, date-time, nullable
        - `position_id` string, uuid, nullable
        - `stable_token_pair_id` string, uuid, nullable
      - `hardcoded_strategists` IStrategistRead[]
        - `strategist_name` string, required
        - `strategist_logo` string, nullable
        - `website_url` string, nullable
        - `id` string, uuid, required
      - `composability_integrations` IComposabilityIntegrationRead[]
        - `name` string
        - `description` string
        - `earning_multiplier` number
        - `protocol_url` string
        - `logo_url` string
        - `tokenized_vault_id` string, uuid, required
        - `id` string, uuid, required
      - `cached_at` string, date-time, nullable
      - `freshness` VaultFreshness — Per-provenance ages for a vault's NAV-derived figures (AUGUST-6124). A single "last updated" stamp cannot honestly describe this payload: the share price a client displays is typically a live ``totalAssets() / totalSupply()`` chain read, while ``historical_apy`` is a column recomputed by a periodic job. Printing one timestamp against both replaces a silent disagreement with a printed one, so each provenance gets its own stamp. ``share_ratio_snapshot_at`` later than ``apy_computed_at`` is the staleness signal worth surfacing: a snapshot has landed that the APY has not yet been recomputed from. The two are written by the same ``update_vault_metrics`` call in normal operation, so they only diverge when a metrics recompute failed or has not run yet. All fields are UTC-aware and serialize as RFC 3339 with a trailing ``Z``. Hold that convention: JS ``new Date()`` parses an offset-less date-time as local time, so dropping the suffix silently shifts every rendered value. The validator below enforces it on *every* construction path, including revival from a cached body — see the note on ``ITokenizedVaultBasicDisplay .freshness`` for why round-tripping is load-bearing here.
        - `apy_computed_at` string, date-time, nullable — When historical_apy / TVL / drawdown were last recomputed.
        - `share_ratio_snapshot_at` string, date-time, nullable — snapshot_datetime of the newest persisted share-price snapshot. Independent of load_snapshots — read as a scalar, so it is populated on every view. None only when the vault has no snapshots at all.
        - `cached_at` string, date-time, nullable — When this response body was assembled (pre-cache).
      - `historical_snapshots` IUpshiftHistoricalSnapshotRead[]
        - `total_assets` number
        - `total_shares` number
        - `asset_share_ratio` number
        - `underlying_price` number
        - `snapshot_datetime` string, date-time
        - `block_id` integer
        - `id` string, uuid, required
        - `tvl` number, required
      - `historical_compound_apy` object, nullable, required — Compound-annualized twin of ``historical_apy`` (AUGUST-6765). Derived from the exact same per-horizon rate as ``historical_apy`` so the two fields can never describe different snapshot pairs. Exposed on every endpoint that serializes this schema (single + list vault reads).
      - `tvl` number, required
      - `pnl_per_share` object, required
      - `daily_pnl_per_share` object, required
    - ITokenizedVaultDisplay
      - `address` string, required
      - `yield_distributor` string, nullable
      - `chain` integer, nullable, required
      - `description` string, nullable
      - `internal_type` string, nullable
      - `public_type` string, nullable
      - `is_featured` boolean, nullable
      - `is_visible` boolean, nullable
      - `weekly_performance_fee_bps` number, nullable
      - `platform_fee_override` object, nullable
      - `start_datetime` string, date-time, nullable
      - `vault_name` string, nullable
      - `reserve_target` number, nullable
      - `reserve_tolerance` number, nullable
      - `withdrawal_alert_threshold` number, nullable
      - `withdrawal_alert_channels` string, nullable
      - `status` string, nullable
      - `is_charge_fees_manual` boolean, nullable
      - `receipt_token_symbol` string, nullable
      - `enable_external_assets_update` boolean, nullable
      - `is_distributor_fee_wrapper` boolean, nullable
      - `vault_logo_url` string, nullable
      - `risk` string, nullable
      - `max_daily_drawdown` number, nullable
      - `chain_type` string, nullable
      - `enabled_historical_price_horizons` integer[], nullable
      - `is_spotlighted` boolean, nullable
      - `show_cap_filled` boolean, nullable
      - `withdrawal_only` boolean, nullable
      - `historical_apy` object, nullable
      - `default_apy_horizon` integer, nullable
      - `iat_traders` string[], nullable
      - `withdrawal_margin_seconds` integer, nullable
      - `management_fee_waived_until_date` string, date-time, nullable
      - `management_fee_waived_until_tvl` number, nullable
      - `performance_fee_waived_until_date` string, date-time, nullable
      - `performance_fee_waived_until_tvl` number, nullable
      - `nav_base_asset_token_id` string, uuid, nullable
      - `nav_pricing_overrides` object, nullable
      - `apy_override` object, nullable
      - `max_drawdown` number, nullable
      - `latest_reported_tvl` number, nullable
      - `campaign_apy` number, nullable
      - `metrics_last_updated` string, date-time, nullable
      - `id` string, uuid, required
      - `solana_vault_metadata` ISolanaVaultMetadataRead — Schema for reading a solana_vault_metadata entry.
        - `vault_state_pda` string, required
        - `share_mint` string, required
        - `deposit_mint` string, required
        - `deposit_token_symbol` string, nullable
        - `deposit_token_decimals` integer, nullable
        - `program_id` string, nullable
        - `id` string, uuid, required
        - `tokenized_vault_id` string, uuid, required
      - `stellar_vault_metadata` IStellarVaultMetadataRead — Schema for reading a stellar_vault_metadata entry.
        - `deposit_token_address` string, required
        - `deposit_token_symbol` string, nullable
        - `deposit_token_decimals` integer, nullable
        - `network_name` 'mainnet' | 'testnet', required
        - `utila_vault_id` string, required
        - `utila_wallet_id` string, required
        - `id` string, uuid, required
        - `tokenized_vault_id` string, uuid, required
      - `instant_redeem_config` IInstantRedeemConfigRead — Schema for reading an instant_redeem_config entry.
        - `subaccount_address` string, required
        - `output_asset_symbol` string, required
        - `is_paused` boolean
        - `available_liquidity` integer
        - `redeemable_assets` unknown[]
          - unknown
        - `id` string, uuid, required
        - `tokenized_vault_id` string, uuid, required
      - `view_type` 'subaccounts'
      - `rewards` TokenizedVaultReward[]
        - `id` string, uuid
        - `updated_at` string, date-time, nullable
        - `created_at` string, date-time, nullable
        - `tokenizedvault_id` string, uuid, nullable
        - `text` string, nullable
        - `img_url` string, nullable
        - `multiplier` number, nullable
        - `start_datetime` string, date-time, nullable
        - `end_datetime` string, date-time, nullable
      - `reported_apy` TokenizedVaultReportedAPY
        - `apy` number, nullable
        - `underlying_apy` number, nullable
        - `liquid_apy` number, nullable
        - `rewards_compounded` number, nullable
        - `rewards_claimable` number, nullable
        - `explainer` string, nullable
        - `id` string, uuid
        - `updated_at` string, date-time, nullable
        - `created_at` string, date-time, nullable
        - `tokenized_vault_id` string, uuid, required
      - `receipt_token_integrations` Token[]
        - `address` string, required
        - `chain` integer, required
        - `token_class` string, required
        - `shorthand` string, nullable, required
        - `symbol` string, nullable
        - `tiingo_ticker` string, nullable
        - `coingecko_id` string, nullable
        - `img_url` string, nullable
        - `is_transferable` boolean
        - `id` string, uuid
        - `updated_at` string, date-time, nullable
        - `created_at` string, date-time, nullable
        - `position_id` string, uuid, nullable
        - `stable_token_pair_id` string, uuid, nullable
      - `hardcoded_strategists` IStrategistRead[]
        - `strategist_name` string, required
        - `strategist_logo` string, nullable
        - `website_url` string, nullable
        - `id` string, uuid, required
      - `composability_integrations` IComposabilityIntegrationRead[]
        - `name` string
        - `description` string
        - `earning_multiplier` number
        - `protocol_url` string
        - `logo_url` string
        - `tokenized_vault_id` string, uuid, required
        - `id` string, uuid, required
      - `cached_at` string, date-time, nullable
      - `freshness` VaultFreshness — Per-provenance ages for a vault's NAV-derived figures (AUGUST-6124). A single "last updated" stamp cannot honestly describe this payload: the share price a client displays is typically a live ``totalAssets() / totalSupply()`` chain read, while ``historical_apy`` is a column recomputed by a periodic job. Printing one timestamp against both replaces a silent disagreement with a printed one, so each provenance gets its own stamp. ``share_ratio_snapshot_at`` later than ``apy_computed_at`` is the staleness signal worth surfacing: a snapshot has landed that the APY has not yet been recomputed from. The two are written by the same ``update_vault_metrics`` call in normal operation, so they only diverge when a metrics recompute failed or has not run yet. All fields are UTC-aware and serialize as RFC 3339 with a trailing ``Z``. Hold that convention: JS ``new Date()`` parses an offset-less date-time as local time, so dropping the suffix silently shifts every rendered value. The validator below enforces it on *every* construction path, including revival from a cached body — see the note on ``ITokenizedVaultBasicDisplay .freshness`` for why round-tripping is load-bearing here.
        - `apy_computed_at` string, date-time, nullable — When historical_apy / TVL / drawdown were last recomputed.
        - `share_ratio_snapshot_at` string, date-time, nullable — snapshot_datetime of the newest persisted share-price snapshot. Independent of load_snapshots — read as a scalar, so it is populated on every view. None only when the vault has no snapshots at all.
        - `cached_at` string, date-time, nullable — When this response body was assembled (pre-cache).
      - `subaccounts` ISubaccountReadWithStrategist[]
        - `address` string, required
        - `wallet_role` 'operator' | 'reserve' | 'buffer' | 'mint' — Operational role of a vault wallet, surfaced in the NAV Wallet Table. Set by ops on a Subaccount / EOAOperator; unlabeled wallets are ``None``.
        - `strategist` IStrategistRead
          - `strategist_name` string, required
          - `strategist_logo` string, nullable
          - `website_url` string, nullable
          - `id` string, uuid, required
      - `eoa_operators` IEOAOperatorRead[]
        - `address` string, required
        - `name` string, nullable
        - `wallet_role` 'operator' | 'reserve' | 'buffer' | 'mint' — Operational role of a vault wallet, surfaced in the NAV Wallet Table. Set by ops on a Subaccount / EOAOperator; unlabeled wallets are ``None``.
        - `id` string, uuid, required
      - `historical_compound_apy` object, nullable, required — Compound-annualized twin of ``historical_apy`` (AUGUST-6765). Derived from the exact same per-horizon rate as ``historical_apy`` so the two fields can never describe different snapshot pairs. Exposed on every endpoint that serializes this schema (single + list vault reads).
      - `tvl` number, required
      - `operators` OperatorRead[], required
        - `address` string, required
        - `operator_type` 'subaccount' | 'eoa', required
    - ITokenizedVaultBasicDisplay
      - `address` string, required
      - `yield_distributor` string, nullable
      - `chain` integer, nullable, required
      - `description` string, nullable
      - `internal_type` string, nullable
      - `public_type` string, nullable
      - `is_featured` boolean, nullable
      - `is_visible` boolean, nullable
      - `weekly_performance_fee_bps` number, nullable
      - `platform_fee_override` object, nullable
      - `start_datetime` string, date-time, nullable
      - `vault_name` string, nullable
      - `reserve_target` number, nullable
      - `reserve_tolerance` number, nullable
      - `withdrawal_alert_threshold` number, nullable
      - `withdrawal_alert_channels` string, nullable
      - `status` string, nullable
      - `is_charge_fees_manual` boolean, nullable
      - `receipt_token_symbol` string, nullable
      - `enable_external_assets_update` boolean, nullable
      - `is_distributor_fee_wrapper` boolean, nullable
      - `vault_logo_url` string, nullable
      - `risk` string, nullable
      - `max_daily_drawdown` number, nullable
      - `chain_type` string, nullable
      - `enabled_historical_price_horizons` integer[], nullable
      - `is_spotlighted` boolean, nullable
      - `show_cap_filled` boolean, nullable
      - `withdrawal_only` boolean, nullable
      - `historical_apy` object, nullable
      - `default_apy_horizon` integer, nullable
      - `iat_traders` string[], nullable
      - `withdrawal_margin_seconds` integer, nullable
      - `management_fee_waived_until_date` string, date-time, nullable
      - `management_fee_waived_until_tvl` number, nullable
      - `performance_fee_waived_until_date` string, date-time, nullable
      - `performance_fee_waived_until_tvl` number, nullable
      - `nav_base_asset_token_id` string, uuid, nullable
      - `nav_pricing_overrides` object, nullable
      - `apy_override` object, nullable
      - `max_drawdown` number, nullable
      - `latest_reported_tvl` number, nullable
      - `campaign_apy` number, nullable
      - `metrics_last_updated` string, date-time, nullable
      - `id` string, uuid, required
      - `solana_vault_metadata` ISolanaVaultMetadataRead — Schema for reading a solana_vault_metadata entry.
        - `vault_state_pda` string, required
        - `share_mint` string, required
        - `deposit_mint` string, required
        - `deposit_token_symbol` string, nullable
        - `deposit_token_decimals` integer, nullable
        - `program_id` string, nullable
        - `id` string, uuid, required
        - `tokenized_vault_id` string, uuid, required
      - `stellar_vault_metadata` IStellarVaultMetadataRead — Schema for reading a stellar_vault_metadata entry.
        - `deposit_token_address` string, required
        - `deposit_token_symbol` string, nullable
        - `deposit_token_decimals` integer, nullable
        - `network_name` 'mainnet' | 'testnet', required
        - `utila_vault_id` string, required
        - `utila_wallet_id` string, required
        - `id` string, uuid, required
        - `tokenized_vault_id` string, uuid, required
      - `instant_redeem_config` IInstantRedeemConfigRead — Schema for reading an instant_redeem_config entry.
        - `subaccount_address` string, required
        - `output_asset_symbol` string, required
        - `is_paused` boolean
        - `available_liquidity` integer
        - `redeemable_assets` unknown[]
          - unknown
        - `id` string, uuid, required
        - `tokenized_vault_id` string, uuid, required
      - `view_type` 'basic'
      - `rewards` TokenizedVaultReward[]
        - `id` string, uuid
        - `updated_at` string, date-time, nullable
        - `created_at` string, date-time, nullable
        - `tokenizedvault_id` string, uuid, nullable
        - `text` string, nullable
        - `img_url` string, nullable
        - `multiplier` number, nullable
        - `start_datetime` string, date-time, nullable
        - `end_datetime` string, date-time, nullable
      - `reported_apy` TokenizedVaultReportedAPY
        - `apy` number, nullable
        - `underlying_apy` number, nullable
        - `liquid_apy` number, nullable
        - `rewards_compounded` number, nullable
        - `rewards_claimable` number, nullable
        - `explainer` string, nullable
        - `id` string, uuid
        - `updated_at` string, date-time, nullable
        - `created_at` string, date-time, nullable
        - `tokenized_vault_id` string, uuid, required
      - `receipt_token_integrations` Token[]
        - `address` string, required
        - `chain` integer, required
        - `token_class` string, required
        - `shorthand` string, nullable, required
        - `symbol` string, nullable
        - `tiingo_ticker` string, nullable
        - `coingecko_id` string, nullable
        - `img_url` string, nullable
        - `is_transferable` boolean
        - `id` string, uuid
        - `updated_at` string, date-time, nullable
        - `created_at` string, date-time, nullable
        - `position_id` string, uuid, nullable
        - `stable_token_pair_id` string, uuid, nullable
      - `hardcoded_strategists` IStrategistRead[]
        - `strategist_name` string, required
        - `strategist_logo` string, nullable
        - `website_url` string, nullable
        - `id` string, uuid, required
      - `composability_integrations` IComposabilityIntegrationRead[]
        - `name` string
        - `description` string
        - `earning_multiplier` number
        - `protocol_url` string
        - `logo_url` string
        - `tokenized_vault_id` string, uuid, required
        - `id` string, uuid, required
      - `cached_at` string, date-time, nullable
      - `freshness` VaultFreshness — Per-provenance ages for a vault's NAV-derived figures (AUGUST-6124). A single "last updated" stamp cannot honestly describe this payload: the share price a client displays is typically a live ``totalAssets() / totalSupply()`` chain read, while ``historical_apy`` is a column recomputed by a periodic job. Printing one timestamp against both replaces a silent disagreement with a printed one, so each provenance gets its own stamp. ``share_ratio_snapshot_at`` later than ``apy_computed_at`` is the staleness signal worth surfacing: a snapshot has landed that the APY has not yet been recomputed from. The two are written by the same ``update_vault_metrics`` call in normal operation, so they only diverge when a metrics recompute failed or has not run yet. All fields are UTC-aware and serialize as RFC 3339 with a trailing ``Z``. Hold that convention: JS ``new Date()`` parses an offset-less date-time as local time, so dropping the suffix silently shifts every rendered value. The validator below enforces it on *every* construction path, including revival from a cached body — see the note on ``ITokenizedVaultBasicDisplay .freshness`` for why round-tripping is load-bearing here.
        - `apy_computed_at` string, date-time, nullable — When historical_apy / TVL / drawdown were last recomputed.
        - `share_ratio_snapshot_at` string, date-time, nullable — snapshot_datetime of the newest persisted share-price snapshot. Independent of load_snapshots — read as a scalar, so it is populated on every view. None only when the vault has no snapshots at all.
        - `cached_at` string, date-time, nullable — When this response body was assembled (pre-cache).
      - `historical_compound_apy` object, nullable, required — Compound-annualized twin of ``historical_apy`` (AUGUST-6765). Derived from the exact same per-horizon rate as ``historical_apy`` so the two fields can never describe different snapshot pairs. Exposed on every endpoint that serializes this schema (single + list vault reads).
      - `tvl` number, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/augustdigital/apis/upshift-api.md) · [All operations](https://skmtc.net/augustdigital/apis/upshift-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/augustdigital/upshift-api/revisions/43a04efedc13/schema)
