---
title: "Batch vault details"
method: POST
path: "/v3/evk/vaults/batch"
tags: ["Vaults"]
---

# Batch vault details

`POST /v3/evk/vaults/batch`

Returns canonical EVK vault detail entities for an explicit address set.
Use this to avoid high client-side fanout when you already know the vault
addresses you want to render.

Notes:
  - Request order is preserved for found vaults.
  - `meta.notFound` returns requested addresses that were not resolved.
  - `include=["collaterals"]` expands collateral detail for every returned vault.
  - The request cap is 1000 vault addresses and 256 KiB of JSON body.

## Request body

- EvkVaultBatchRequest
  - `chainId` integer, required
  - `addresses` string[], required — Ordered list of EVK vault addresses to fetch.
  - `include` string[] — Optional related resources to expand for every returned vault.

## Response `200`

Batched EVK vault details

- EvkVaultBatchResponse
  - `data` VaultDetailsWithIncludes[]
    - `chainId` integer
    - `address` string
    - `vaultType` 'evk' — Vault family for the `/v3/evk/vaults` EVK surface.
    - `name` string
    - `symbol` string
    - `decimals` integer
    - `shares` AssetRef
      - `address` string
      - `symbol` string
      - `decimals` integer
      - `name` string, nullable
    - `asset` AssetRef
      - `address` string
      - `symbol` string
      - `decimals` integer
      - `name` string, nullable
    - `totalAssets` string — Raw underlying asset amount as a bigint string.
    - `totalBorrows` string — Raw borrowed asset amount as a bigint string.
    - `totalSupplyUsd` number — Market USD number for total supplied assets.
    - `totalBorrowsUsd` number — Market USD number for total borrowed assets.
    - `utilization` number — Utilization ratio number, computed from market-normalized totals.
    - `supplyApy` number — Public supply APY as a percent number.
    - `borrowApy` number — Public borrow APY as a percent number.
    - `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.
    - `dToken` string
    - `oracle` OracleInfo
      - `oracle` string
      - `name` string
      - `detailedInfo` OracleDetailedInfo
        - `oracle` string
        - `name` string
        - `oracleInfo` string
      - `adapters` OracleAdapterEntry[]
        - `oracle` string
        - `name` string
        - `base` string
        - `quote` string
        - `pythDetail` OracleAdapterPythDetail
          - `pyth` string
          - `base` string
          - `quote` string
          - `feedId` string
          - `maxStaleness` string
          - `maxConfWidth` string
        - `chainlinkDetail` OracleAdapterChainlinkDetail
          - `oracle` string
      - `resolvedVaults` OracleResolvedVault[]
        - `vault` string
        - `quote` string
        - `asset` string
        - `resolvedAssets` string[]
    - `unitOfAccount` AssetRef
      - `address` string
      - `symbol` string
      - `decimals` integer
      - `name` string, nullable
    - `creator` string
    - `governor` string — Latest governor admin if available; falls back to creator.
    - `governorAdmin` string — Latest governor admin if available; falls back to creator.
    - `supplyCap` string — Resolved supply cap as a bigint string in underlying asset units.
    - `borrowCap` string — Resolved borrow cap as a bigint string in underlying asset units.
    - `totalShares` string — Raw vault share supply as a bigint string.
    - `totalBorrowed` string — Raw borrowed asset amount as a bigint string.
    - `totalCash` string — Raw cash amount as a bigint string.
    - `cash` string — Raw cash amount as a bigint string.
    - `interestRate` string — Raw contract interest-rate value as a bigint string.
    - `interestAccumulator` string — Raw contract interest accumulator as a bigint string.
    - `accumulatedFees` string — Raw accumulated fee amount as a bigint string.
    - `balanceTracker` string
    - `fees` VaultFees
      - `interestFee` number — Interest fee ratio number.
      - `accumulatedFeesShares` string — Raw accumulated fee shares as a bigint string.
      - `accumulatedFeesAssets` string — Raw accumulated fee assets as a bigint string.
      - `governorFeeReceiver` string
      - `protocolFeeReceiver` string
      - `protocolFeeShare` number — Protocol fee share ratio number.
    - `hooks` VaultHooks
      - `hookedOperations` VaultHookedOperations
        - `deposit` boolean
        - `mint` boolean
        - `withdraw` boolean
        - `redeem` boolean
        - `transfer` boolean
        - `skim` boolean
        - `borrow` boolean
        - `repay` boolean
        - `repayWithShares` boolean
        - `pullDebt` boolean
        - `convertFees` boolean
        - `liquidate` boolean
        - `flashloan` boolean
        - `touch` boolean
        - `vaultStatusCheck` boolean
      - `hookTarget` string
    - `caps` VaultCaps
      - `supplyCap` string — Resolved supply cap as a bigint string in underlying asset units.
      - `borrowCap` string — Resolved borrow cap as a bigint string in underlying asset units.
    - `liquidation` VaultLiquidation
      - `maxLiquidationDiscount` number
      - `liquidationCoolOffTime` integer
      - `socializeDebt` boolean
    - `interestRates` VaultInterestRates — Contract interest-rate values formatted as decimal strings in fraction units, not public percent APY numbers.
      - `borrowSPY` string — Borrow rate per second as an exact decimal string.
      - `borrowAPY` string — Borrow APY as an exact decimal fraction string; `1` means 100%.
      - `supplyAPY` string — Supply APY as an exact decimal fraction string; `1` means 100%.
    - `interestRateModel` VaultInterestRateModel
      - `address` string
      - `type` 'unknown' | 'kink' | 'adaptive_curve' | 'kinky' | 'fixed_cyclical_binary' | 'fixed_cyclical_binary_monthly'
      - `data` object, nullable
    - `evcCompatibleAsset` boolean
    - `oraclePriceRaw` OraclePriceRaw — Exact oracle quote values returned by contracts, represented as raw integer strings in the oracle unit-of-account scale.
      - `queryFailure` boolean
      - `queryFailureReason` string
      - `amountIn` string — Raw input amount passed to the oracle.
      - `amountOutMid` string — Raw midpoint oracle output amount.
      - `amountOutBid` string — Raw bid-side oracle output amount.
      - `amountOutAsk` string — Raw ask-side oracle output amount.
      - `timestamp` string, date-time
    - `timestamp` string, date-time
    - `exchangeRate` string, nullable — Raw EVK exchange rate as a bigint string: floor(convertToAssets(1e18 shares)), including the 1,000,000 virtual assets and virtual shares.
    - `createdAtBlock` string — Block number as a bigint string.
    - `collaterals` VaultCollateralDetail[], nullable
      - `collateral` string — Collateral vault address
      - `vaultType` 'evk' | 'earn' | 'securitize' — Vault family for the collateral address
      - `collateralName` string — Collateral vault name
      - `collateralSymbol` string — Collateral vault symbol
      - `asset` string — Underlying asset address of the collateral vault
      - `assetSymbol` string — Underlying asset symbol
      - `assetDecimals` integer — Underlying asset decimals
      - `borrowLTV` string — Maximum LTV for borrowing (basis points as string, e.g., "8500" = 85%)
      - `liquidationLTV` string — LTV at which liquidation can occur (basis points as string)
      - `initialLiquidationLTV` string — Initial liquidation LTV before ramping
      - `targetTimestamp` string, date-time, nullable — ISO timestamp when LTV ramp completes
      - `rampDuration` integer — Duration of LTV ramp in seconds
      - `oraclePriceRaw` OraclePriceRaw — Exact oracle quote values returned by contracts, represented as raw integer strings in the oracle unit-of-account scale.
        - `queryFailure` boolean
        - `queryFailureReason` string
        - `amountIn` string — Raw input amount passed to the oracle.
        - `amountOutMid` string — Raw midpoint oracle output amount.
        - `amountOutBid` string — Raw bid-side oracle output amount.
        - `amountOutAsk` string — Raw ask-side oracle output amount.
        - `timestamp` string, date-time
    - `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` VaultIncludePrices
      - `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.
      - `collaterals` CollateralConfigWithPrice[]
        - `collateral` string — Collateral vault address
        - `vaultType` 'evk' | 'earn' | 'securitize' — Vault family for the collateral address
        - `collateralName` string — Collateral vault name
        - `collateralSymbol` string — Collateral vault symbol
        - `asset` string — Underlying asset address of the collateral vault
        - `assetSymbol` string — Underlying asset symbol
        - `assetDecimals` integer — Underlying asset decimals
        - `borrowLTV` string — Maximum LTV for borrowing (basis points as string, e.g., "8500" = 85%)
        - `liquidationLTV` string — LTV at which liquidation can occur (basis points as string)
        - `initialLiquidationLTV` string — Initial liquidation LTV before ramping
        - `targetTimestamp` string, date-time, nullable — ISO timestamp when LTV ramp completes
        - `rampDuration` integer — Duration of LTV ramp in seconds
        - `price` 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` EvkVaultBatchMeta
    - `count` integer
    - `requested` integer
    - `notFound` string[]
    - `timestamp` string, date-time
    - `chainId` string

## Other responses

- `400` — Bad request
- `404` — Not found
- `413` — Request body too large
- `415` — Unsupported media type
- `429` — Rate limited
- `500` — Internal server error

---

[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)
