---
title: "List curation vault labels"
method: GET
path: "/v3/curation/vaults"
tags: ["Labeling Curation"]
---

# List curation vault labels

`GET /v3/curation/vaults`

Publicly reads the latest published vault-label snapshot by default. Explicit `current` or `draft` reads expose the mutable working copy. Platform operators can read every entity; entity-member sessions are restricted to their own entity. These table-backed resources use `/v3/curation` so the pre-existing API-key-scoped `/v3/curator` contract remains backward compatible.

## Query parameters

- `labelSet` string
- `version` string
- `limit` integer
- `offset` integer
- `chainId` integer
- `entityId` string
- `view` 'curation' | 'resolved'
- `vaultType` string

## Response `200`

Vault-label page. Item shape follows the `view` parameter.

- object
  - `data` union[], required
    - union
      - CurationVault
        - `chainId` integer, required
        - `address` string, required
        - `vaultType` 'evk' | 'earn' | 'securitize' | 'escrow', required — Vault family derived from indexed discovery or the escrow registration path.
        - `productId` string, nullable
        - `entityId` string, nullable — Entity associated through verified on-chain ownership, or null for unclaimed and escrow vaults.
        - `name` string, nullable
        - `description` string, nullable
        - `portfolioNotice` string, nullable
        - `isDeprecated` boolean, required
        - `deprecationReason` string, nullable
        - `tags` string[], required — Union of entity-managed label tags and platform-managed assessment tags.
        - `campaigns` CurationCampaign[], nullable
          - `name` string, required
          - `logo` string, nullable
          - `type` 'deposit' | 'borrow', required
        - `resolved` ResolvedVaultLabels, required — Read-time display cascade (vault label, else product, else indexed on-chain identity; escrow vaults get a fixed name). Raw fields stay authoritative for editing — this block is derived and never stored.
          - `name` string, nullable, required
          - `description` string, nullable, required
          - `portfolioNotice` string, nullable, required
          - `deprecated` boolean, required — Vault or product deprecation.
          - `deprecationReason` string, nullable, required — Reason from the nearest actively deprecated source; null when nothing is deprecated. Retained reasons on non-deprecated rows never contribute.
          - `entityId` string, nullable, required — Vault entity, inherited from the product when unset.
          - `url` string, nullable, required — Product url, falling back to the entity url.
          - `logo` string, nullable, required — Product logo, falling back to the entity logo.
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
      - ResolvedCurationVaultView — Consumer-facing vault-label shape (`view=resolved`) — the display cascade flattened to the top level; raw label fields are omitted. entityId and deprecation are the resolved values with product inheritance applied.
        - `chainId` integer, required
        - `address` string, required
        - `vaultType` 'evk' | 'earn' | 'securitize' | 'escrow', required
        - `productId` string, nullable, required
        - `entityId` string, nullable, required
        - `name` string, nullable, required
        - `description` string, nullable, required
        - `portfolioNotice` string, nullable, required
        - `deprecated` boolean, required
        - `deprecationReason` string, nullable, required
        - `url` string, nullable, required
        - `logo` string, nullable, required
        - `tags` string[], required
        - `campaigns` CurationCampaign[], nullable, required
          - `name` string, required
          - `logo` string, nullable
          - `type` 'deposit' | 'borrow', required
        - `createdAt` string, date-time, required
        - `updatedAt` string, date-time, required
  - `meta` PaginationMeta, required
    - `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
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `422` — Validation 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/9573a5fbd4a6/schema)
