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

# Get KVault transactions by vault

> Get Kamino Earn Vault transactions for a given vault address, one row per instruction. `end` defaults to the current time. Request the next page with `paginationToken` while `hasMore` is true.



## OpenAPI

````yaml /kamino-api.json post /kvaults/vaults/{pubkey}/transactions
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}/transactions:
    post:
      tags:
        - Kamino Earn Vaults
      summary: Get KVault transactions by vault
      description: >-
        Get Kamino Earn Vault transactions for a given vault address, one row
        per instruction. `end` defaults to the current time. Request the next
        page with `paginationToken` while `hasMore` is true.
      parameters:
        - schema:
            $ref: '#/components/schemas/AddressBase58'
          required: true
          description: Valid base58-encoded address
          name: pubkey
          in: path
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                instruction:
                  type: string
                  example: withdraw
                  description: >-
                    Filter by exact instruction name. Combined with `type` when
                    both are set.
                type:
                  type: string
                  enum:
                    - deposit
                    - withdraw
                  example: withdraw
                  description: >-
                    Filter by transaction type. `deposit`: buy,
                    buyWithMinSharesOut, deposit, depositWithMinSharesOut.
                    `withdraw`: sell, withdraw, withdrawFromAvailable,
                    redeemInKind.
                limit:
                  type: integer
                  minimum: 1
                  maximum: 1000
                  default: 1000
                  example: 100
                  description: Maximum number of transactions to return (1-1000)
                direction:
                  type: string
                  enum:
                    - asc
                    - desc
                  default: desc
                  description: Sort order (asc for oldest first, desc for newest first)
                  example: desc
                paginationToken:
                  type: string
                  example: eyJsYXN0SWQiOjgxfQ==
                  description: >-
                    Pagination position. Resend the other body fields unchanged
                    when requesting the next page.
                start:
                  anyOf:
                    - type: string
                    - type: number
                  description: Date input (ISO 8601 string or epoch in ms)
                  examples:
                    - '2024-01-01T00:00:00.000Z'
                    - 1704067200000
                  example: 2020-01-01T00:00Z
                end:
                  anyOf:
                    - type: string
                    - type: number
                  description: Date input (ISO 8601 string or epoch in ms)
                  examples:
                    - '2024-01-01T00:00:00.000Z'
                    - 1704067200000
                  example: 2020-02-01T00:00Z
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KvaultVaultTransactionsResponse'
        '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
        '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
    KvaultVaultTransactionsResponse:
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/KvaultVaultTransaction'
        hasMore:
          type: boolean
          description: Whether more transactions match the filter after this page
        paginationToken:
          type: string
          example: eyJsYXN0SWQiOjgxfQ==
          description: Token for the next page; set only when hasMore
      required:
        - result
        - hasMore
    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
    KvaultVaultTransaction:
      type: object
      properties:
        ix:
          $ref: '#/components/schemas/KvaultVaultEnrichedInstruction'
        instruction:
          type: string
          example: withdrawFromAvailable
          description: Instruction name
        timestamp:
          $ref: '#/components/schemas/TransactionDateTime'
        signature:
          type: string
          description: Transaction signature
          example: >-
            2XWcSQVtR4NoHBhzYpDkYkmYtEFkFXC5ZwrKiPok1kvA86GvnN15qP7RNP6eTeNWgJqgnR1GA2M3QPp1hucW7e1v
        kvault:
          allOf:
            - $ref: '#/components/schemas/AddressBase58'
            - description: Valid base58-encoded address of the vault
              example: HDsayqAsDWy3QvANGqh2yNraqcD8Fnjgh73Mhb3WRS5E
        wallet:
          allOf:
            - $ref: '#/components/schemas/AddressBase58'
            - description: Valid base58-encoded address of the user wallet
              example: AxqtG9SHDkZTLSWg81Sp7VqAzQpRqXtR9ziJ3VQAS8As
      required:
        - ix
        - instruction
        - timestamp
        - signature
        - kvault
        - wallet
    KvaultVaultEnrichedInstruction:
      type: object
      properties:
        market:
          allOf:
            - $ref: '#/components/schemas/AddressBase58'
            - description: KLend market public key
        reserve:
          allOf:
            - $ref: '#/components/schemas/AddressBase58'
            - description: KLend reserve public key
        solPrice:
          $ref: '#/components/schemas/Decimal'
        sharePrice:
          $ref: '#/components/schemas/Decimal'
        tokenPrice:
          $ref: '#/components/schemas/Decimal'
        tokenAmount:
          $ref: '#/components/schemas/Decimal'
        numberOfShares:
          allOf:
            - $ref: '#/components/schemas/Decimal'
            - description: Vault shares minted or burned; missing on invest rows
        fullWithdraw:
          type: boolean
          description: >-
            Whether the withdrawal burned all of the wallet shares; set on
            withdraw-type rows
      required:
        - solPrice
        - sharePrice
        - tokenPrice
        - tokenAmount
    TransactionDateTime:
      type: string
      format: date-time
      description: Timestamp when the transaction was executed (ISO 8601 format)
      example: '2025-03-01T12:00:00.000Z'
    Decimal:
      type: string
      description: Decimal value represented as string
      example: '1234.56789'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.