> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trusset.org/llms.txt
> Use this file to discover all available pages before exploring further.

# List Vaults

> Your instance's vault first, then every published vault on your network

Returns every vault visible to your instance: your own vault (if your instance operates one) marked `own: true`, then every vault a bank issuer has published on your network and environment. A vault that exists but was never published is visible only to the instance operating it.

This endpoint reads the database only. Share price, totals, and the deposit-pause flag are chain state and live on [Get Vault](/endpoints/vaults/get-vault), which reads the chain for one vault at a time.

## Response Fields

<ResponseField name="data.vaults" type="array">
  <Expandable>
    <ResponseField name="id" type="string">Vault ID. Every other vault endpoint takes this.</ResponseField>
    <ResponseField name="own" type="boolean">True when your instance operates this vault.</ResponseField>
    <ResponseField name="vaultAddress" type="string">The vault contract. `null` until the creation transaction is confirmed.</ResponseField>
    <ResponseField name="operatorWallet" type="string">The operator's signing wallet, which owns the vault on-chain.</ResponseField>
    <ResponseField name="assetAddress" type="string">Settlement token address. Deposits, redemptions, and the share price are denominated in it.</ResponseField>
    <ResponseField name="assetSymbol" type="string">Settlement token symbol, for example `USDC`.</ResponseField>
    <ResponseField name="assetDecimals" type="integer">Settlement token decimals. Every amount you send is parsed at this precision, and every amount returned is formatted with it.</ResponseField>
    <ResponseField name="identityRegistryAddress" type="string">The register that admits depositors. Fixed for the life of the vault.</ResponseField>
    <ResponseField name="name" type="string">Vault name.</ResponseField>
    <ResponseField name="symbol" type="string">Share token symbol.</ResponseField>
    <ResponseField name="performanceFeeBps" type="integer">Operator's cut of the yield in basis points. The contract only accepts decreases.</ResponseField>
    <ResponseField name="active" type="boolean">True once the operator published the vault.</ResponseField>
    <ResponseField name="riskDisclosure" type="string">The operator's risk statement. Show it before any deposit control.</ResponseField>
    <ResponseField name="riskDisclosureUrl" type="string">Link to the operator's full risk disclosure. Always `https`.</ResponseField>
    <ResponseField name="operatedBy" type="object">`instanceName`, `issuerName`, `isBank`. Display the operator next to the vault name.</ResponseField>
  </Expandable>
</ResponseField>

<Note>
  Your own vault comes first, then published vaults newest-first. Pin on `own` if you re-sort client-side.
</Note>

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.trusset.org/lending-external-securities/api/vaults" \
    -H "X-API-Key: trusset_your_key_here"
  ```

  ```typescript TypeScript theme={null}
  const res = await fetch(
    'https://api.trusset.org/lending-external-securities/api/vaults',
    { headers: { 'X-API-Key': 'trusset_your_key_here' } }
  );
  const { data } = await res.json();
  for (const vault of data.vaults) {
    console.log(`${vault.name} (${vault.symbol}), operated by ${vault.operatedBy?.issuerName}`);
  }
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "data": {
      "vaults": [
        {
          "id": "cmssh8t2u0003cghxkx1w1fwd",
          "instanceId": "inst_abc123",
          "own": true,
          "vaultAddress": "0x4d0cfe39a3431b145d1a1393d901a36d459a1b13",
          "operatorWallet": "0x5ad87a0621175206b72d10e4b8577b192e7f40ab",
          "assetAddress": "0x98ad0ca091552e23c564b41c74282e5343d03e8a",
          "assetSymbol": "USDC",
          "assetDecimals": 6,
          "identityRegistryAddress": "0xe9114c40934f6fb6bb317935156b731f7a86d006",
          "name": "Trusset Prime Demo Vault",
          "symbol": "TPV",
          "performanceFeeBps": 500,
          "active": true,
          "archived": false,
          "riskDisclosure": "Deposits fund overcollateralized security-token lending markets. Value can fall as well as rise, and redemptions can fill partially under high utilization.",
          "riskDisclosureUrl": "https://bank.example/vault-risk",
          "operatedBy": {
            "instanceName": "Trusset Client Demo",
            "issuerName": "Trusset UG",
            "isBank": true
          },
          "createdAt": "2026-08-13T21:10:00.000Z",
          "updatedAt": "2026-08-14T06:40:00.000Z"
        }
      ]
    },
    "error": null,
    "metadata": {
      "timestamp": "2026-08-14T12:00:00.000Z",
      "requestId": "550e8400-e29b-41d4-a716-446655440000",
      "instanceId": "inst_abc123"
    }
  }
  ```
</ResponseExample>
