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

# Get public vaults

> Retrieve paginated list of public vaults with optional status, vault type, vault address, and search filtering.
Use `vault_type` query parameter to filter by 'user' or 'protocol' vaults.
Use `vault_address` query parameter to fetch a specific vault by its address (exact match).
Use `search` query parameter to filter by vault address, vault name, or manager address (case-insensitive partial match).



## OpenAPI

````yaml /api-reference/openapi.json get /api/v1/vaults
openapi: 3.1.0
info:
  title: Decibel Trading API
  description: >-
    RESTful API for Decibel. Provides read-only endpoints for market data,
    trading operations, positions, and analytics.
  contact:
    name: Decibel Team
    url: https://decibel.trade/
  license:
    name: ''
  version: 1.0.0
servers:
  - url: https://api.mainnet.aptoslabs.com/decibel
    description: Mainnet
  - url: https://api.testnet.aptoslabs.com/decibel
    description: Testnet
security:
  - bearerAuth: []
tags:
  - name: Market Data
    description: Market information and real-time data endpoints
  - name: User
    description: User information and account management
  - name: Trades
    description: Trading operations and history
  - name: Positions
    description: User position management
  - name: Orders
    description: Order management and history
  - name: TWAP
    description: Time-weighted average price orders
  - name: Bulk Orders
    description: Bulk order management
  - name: Vaults
    description: Vault operations and management
  - name: Analytics
    description: Analytics and performance metrics
  - name: Predeposit Rewards
    description: Season 0 predeposit USDC rewards
  - name: Referrals
    description: Referral code management and tracking
paths:
  /api/v1/vaults:
    get:
      tags:
        - Vaults
      summary: Get public vaults
      description: >-
        Retrieve paginated list of public vaults with optional status, vault
        type, vault address, and search filtering.

        Use `vault_type` query parameter to filter by 'user' or 'protocol'
        vaults.

        Use `vault_address` query parameter to fetch a specific vault by its
        address (exact match).

        Use `search` query parameter to filter by vault address, vault name, or
        manager address (case-insensitive partial match).
      operationId: handle_public_vaults
      parameters:
        - name: status
          in: query
          description: Vault status filter (created, active, inactive)
          required: false
          schema:
            $ref: b8c0bda4-151f-448b-b45f-c63cfd3c3a3b
          example: active
        - name: vault_type
          in: query
          description: >-
            Vault type filter ('user' or 'protocol'). If not provided, returns
            all vaults.
          required: false
          schema:
            type: string
          example: user
        - name: vault_address
          in: query
          description: >-
            Vault address filter. If provided, returns only the vault with this
            address.
          required: false
          schema:
            type: string
          example: '0x1234567890abcdef'
        - name: search
          in: query
          description: >-
            Search filter. If provided, filters vaults by vault address, vault
            name, or manager address (case-insensitive).
          required: false
          schema:
            type: string
          example: Vault
        - name: pagination
          in: query
          description: Pagination parameters
          required: true
          schema:
            $ref: e45932a1-a46c-406d-a9c6-3a0c388c79e9
        - name: sorting
          in: query
          description: Sorting parameters
          required: true
          schema:
            type: object
            description: Generic sorting parameters
            properties:
              sort_dir:
                oneOf:
                  - type: 'null'
                  - $ref: d8982112-92c1-4e5e-aabb-2fe4d9a2c4d2
                    description: The direction of the sorting (ASC or DESC)
              sort_key:
                type: string
                description: >-
                  Sort keys for vault listing


                  Defines the available fields that can be used to sort vaults
                  in the /vaults endpoint.
                enum:
                  - tvl
                  - age
                  - pnl
                  - sharpe_ratio
                  - weekly_win_rate
                  - max_drawdown
          example: tvl
      responses:
        '200':
          description: Public vaults retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicVaultsResponse'
        '500':
          description: Database error
components:
  schemas:
    PublicVaultsResponse:
      type: object
      required:
        - items
        - total_count
        - total_value_locked
        - total_volume
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/PublicVaultDto'
        total_count:
          type: integer
          format: int32
          minimum: 0
        total_value_locked:
          type: number
          format: double
          description: Total value locked across all filtered vaults
        total_volume:
          type: number
          format: double
          description: Total all-time trading volume across all filtered vaults
    PublicVaultDto:
      type: object
      required:
        - address
        - name
        - manager
        - status
        - created_at
      properties:
        address:
          type: string
        all_time_pnl:
          type:
            - number
            - 'null'
          format: double
        all_time_return:
          type:
            - number
            - 'null'
          format: double
        apr:
          type:
            - number
            - 'null'
          format: double
          description: |-
            Annualized percentage return (avg daily share-price yield × 365).
            NULL if vault has < 14 days of snapshot data.
        average_leverage:
          type:
            - number
            - 'null'
          format: double
        created_at:
          type: integer
          format: int64
        depositors:
          type:
            - integer
            - 'null'
          format: int32
        description:
          type:
            - string
            - 'null'
        lockdown_period_s:
          type:
            - integer
            - 'null'
          format: int64
          description: >-
            Lockdown period in seconds. Contributors cannot redeem until this
            period elapses after deposit.

            Can be 0 (no lockdown) up to 7 days (604800 seconds).
          example: 259200
          minimum: 0
        manager:
          type: string
        manager_cash_pct:
          type:
            - number
            - 'null'
          format: double
          description: >-
            Manager's current cash position as percentage of total account value
            (point-in-time, not average)
        max_drawdown:
          type:
            - number
            - 'null'
          format: double
        name:
          type: string
        net_deposits:
          type:
            - number
            - 'null'
          format: double
          description: >-
            Net deposits (total contributions - total settled redemptions) in
            USDC.

            Used to verify all_time_return and display context (e.g., "X% return
            on $Y invested").
          example: 30277044.96
        past_month_return:
          type:
            - number
            - 'null'
          format: double
        perp_equity:
          type:
            - number
            - 'null'
          format: double
        pnl_90d:
          type:
            - number
            - 'null'
          format: double
        profit_share:
          type:
            - number
            - 'null'
          format: double
        sharpe_ratio:
          type:
            - number
            - 'null'
          format: double
        social_links:
          type:
            - array
            - 'null'
          items:
            type: string
        status:
          type: string
        tvl:
          type:
            - number
            - 'null'
          format: double
        vault_type:
          type:
            - string
            - 'null'
        volume:
          type:
            - number
            - 'null'
          format: double
        volume_30d:
          type:
            - number
            - 'null'
          format: double
        weekly_win_rate_12w:
          type:
            - number
            - 'null'
          format: double
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Bearer token from Geomi. See
        [Authentication](/api-reference/rest/authentication) for setup
        instructions.

````