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

# Get the share distribution of a KVault

> Get the holders of a Kamino Earn Vault ordered by position size, largest first. Shares held in the wallet and shares staked in the vault farm are reported separately and as a total. Read from the most recent vault state snapshot, whose timestamp and total shares issued are returned alongside the holders so each position can be expressed as a share of the vault. Private (authorized) API access only, please add a basic auth header to your request.



## OpenAPI

````yaml /kamino-api.json get /kvaults/vaults/{pubkey}/holders
openapi: 3.1.0
info:
  version: 1.0.0
  title: Kamino Public API
  description: >
    The Kamino API provides a comprehensive way to interact with Kamino without
    reading directly from the blockchain.


    The API also provides the ability to fetch data that might not be available
    from just reading the chain.


    The API is rate-limited for unauthenticated users. If you feel you need to
    make more requests or run into rate-limit issues, please reach out.
servers:
  - url: https://api.kamino.finance
security: []
paths:
  /kvaults/vaults/{pubkey}/holders:
    get:
      tags:
        - Kamino Earn Vaults
      summary: Get the share distribution of a KVault
      description: >-
        Get the holders of a Kamino Earn Vault ordered by position size, largest
        first. Shares held in the wallet and shares staked in the vault farm are
        reported separately and as a total. Read from the most recent vault
        state snapshot, whose timestamp and total shares issued are returned
        alongside the holders so each position can be expressed as a share of
        the vault. Private (authorized) API access only, please add a basic auth
        header to your request.
      parameters:
        - schema:
            $ref: '#/components/schemas/AddressBase58'
          required: true
          description: Valid base58-encoded address
          name: pubkey
          in: path
        - schema:
            type: integer
            minimum: 1
            maximum: 1000
            example: 1000
            description: Maximum number of holders to return (1-1000)
          required: false
          description: Maximum number of holders to return (1-1000)
          name: limit
          in: query
        - schema:
            type: string
            example: eyJsYXN0SWQiOjgxfQ==
            description: Optional pagination token
          required: false
          description: Optional pagination token
          name: paginationToken
          in: query
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KvaultHoldersResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: High-level error message describing the failure
                    example: Invalid query params
                  details:
                    type: array
                    items:
                      type: object
                      additionalProperties: {}
                    description: >-
                      Detailed validation issues (present only for validation
                      errors)
                required:
                  - error
                description: Bad request response (400)
                example:
                  error: Invalid query request
                  details:
                    - code: invalid_union
                      errors:
                        - - code: custom
                            path: []
                            message: Invalid date string
                        - - expected: number
                            code: invalid_type
                            path: []
                            message: 'Invalid input: expected number, received string'
                      path:
                        - start
                      message: Invalid input
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: Error message describing why it was not authorized
                    example: >-
                      Not authorized for this request. Please include the basic
                      auth headers.
                required:
                  - error
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                type: object
                properties:
                  metadata:
                    type: string
                    description: Error message describing why it was not found
                    example: Account could not be found
                required:
                  - metadata
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    AddressBase58:
      type: string
      description: Valid base58-encoded address
      example: VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd
    KvaultHoldersResponse:
      type: object
      properties:
        snapshotTakenAt:
          allOf:
            - $ref: '#/components/schemas/SnapshotDateTime'
            - description: Timestamp of the vault state snapshot the holders are read from
              example: '2025-03-01T12:00:00.000Z'
        totalSharesIssued:
          allOf:
            - $ref: '#/components/schemas/Decimal'
            - description: Total shares issued by the vault in the same snapshot
        holderCount:
          type: number
          description: Number of holders recorded in the same snapshot
        result:
          type: array
          items:
            $ref: '#/components/schemas/KvaultHolder'
          description: Holders ordered by total shares, largest first
        paginationToken:
          type: string
          example: eyJsYXN0SWQiOjgxfQ==
          description: Optional pagination token
      required:
        - snapshotTakenAt
        - totalSharesIssued
        - holderCount
        - result
    Error:
      type: object
      properties:
        error:
          type: string
          description: Error message for internal server failure
          example: An internal error occurred
      required:
        - error
      description: Internal server error response (500)
      example:
        error: An internal error occurred
    SnapshotDateTime:
      type: string
      format: date-time
      description: Timestamp of the metrics snapshot
      example: '2023-06-29T15:15:26.464Z'
    Decimal:
      type: string
      description: Decimal value represented as string
      example: '1234.56789'
    KvaultHolder:
      type: object
      properties:
        wallet:
          allOf:
            - $ref: '#/components/schemas/AddressBase58'
            - description: Wallet holding the Kamino Earn Vault shares
        sharesHeld:
          allOf:
            - $ref: '#/components/schemas/Decimal'
            - description: Shares held in the wallet, not staked in a farm
        sharesInFarm:
          allOf:
            - $ref: '#/components/schemas/Decimal'
            - description: Shares staked in the vault farm
        totalShares:
          allOf:
            - $ref: '#/components/schemas/Decimal'
            - description: Shares held plus shares staked in the farm
        pctOfSharesIssued:
          allOf:
            - $ref: '#/components/schemas/Decimal'
            - description: >-
                The wallet's totalShares as a fraction of totalSharesIssued
                (0-1)
        usdAmount:
          allOf:
            - $ref: '#/components/schemas/Decimal'
            - description: USD value of the position at the snapshot token price
      required:
        - wallet
        - sharesHeld
        - sharesInFarm
        - totalShares
        - pctOfSharesIssued
        - usdAmount

````