> ## 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 paginated user transaction history

> Newest first across all markets. Long no-op rollover runs are collapsed. Limits count instructions; all legs of an instruction are returned together.



## OpenAPI

````yaml /kamino-api.json get /v3/kamino-market/users/{userPubkey}/transaction-history
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:
  /v3/kamino-market/users/{userPubkey}/transaction-history:
    get:
      tags:
        - Kamino Lend Transactions
      summary: Get paginated user transaction history
      description: >-
        Newest first across all markets. Long no-op rollover runs are collapsed.
        Limits count instructions; all legs of an instruction are returned
        together.
      parameters:
        - schema:
            allOf:
              - $ref: '#/components/schemas/AddressBase58'
              - description: User wallet public key
                example: AcNSmd5CxwLs21TYUmhWt7CW2v159TdYRkvQxb1iBYRj
          required: true
          description: User wallet public key
          name: userPubkey
          in: path
        - schema:
            type: string
            enum:
              - mainnet-beta
              - devnet
              - localnet
            default: mainnet-beta
            description: Solana cluster environment
            example: mainnet-beta
          required: false
          description: Solana cluster environment
          name: env
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 500
            default: 50
            description: Instruction limit
          required: false
          description: Instruction limit
          name: limit
          in: query
        - schema:
            type: string
          required: false
          name: paginationToken
          in: query
        - schema:
            type: string
            enum:
              - 'true'
              - 'false'
            default: 'false'
            description: Return only instructions in the latest position
          required: false
          description: Return only instructions in the latest position
          name: latestPosition
          in: query
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/KlendTransactionHistoryResponse'
        '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
    KlendTransactionHistoryResponse:
      type: object
      properties:
        transactions:
          type: array
          items:
            anyOf:
              - allOf:
                  - $ref: '#/components/schemas/KlendTransactionUserResponseV3'
                  - type: object
                    properties:
                      kind:
                        type: string
                        enum:
                          - obligation
                      market:
                        $ref: '#/components/schemas/AddressBase58'
                      obligation:
                        $ref: '#/components/schemas/AddressBase58'
                    required:
                      - kind
                      - market
                      - obligation
              - allOf:
                  - $ref: '#/components/schemas/KlendWithdrawQueueTransactionV3'
                  - type: object
                    properties:
                      kind:
                        type: string
                        enum:
                          - withdrawQueue
                      market:
                        $ref: '#/components/schemas/AddressBase58'
                    required:
                      - kind
                      - market
        paginationToken:
          type: string
      required:
        - transactions
    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
    KlendTransactionUserResponseV3:
      type: object
      properties:
        createdOn:
          type: string
          format: date-time
        rolloverCount:
          type: integer
          exclusiveMinimum: 0
        firstRolloverTimestamp:
          type: string
          pattern: ^\d+$
          description: Oldest rollover in the run, in Unix milliseconds
        transactionSignature:
          type: string
        transactionName:
          type: string
        liquidityToken:
          type: string
        liquidityTokenMint:
          $ref: '#/components/schemas/AddressBase58'
        liquidityTokenAmount:
          $ref: '#/components/schemas/Decimal'
        liquidityTokenPrice:
          $ref: '#/components/schemas/Decimal'
        solPrice:
          $ref: '#/components/schemas/Decimal'
        liquidityUsdValue:
          $ref: '#/components/schemas/Decimal'
        isLiquidationWithdrawal:
          type: boolean
        obligationType:
          type: string
        transactionDisplayName:
          type: string
        isSecondPartOfCompositeIx:
          type: boolean
        amountBasis:
          type: string
          enum:
            - debt
        borrowFeeAmount:
          $ref: '#/components/schemas/Decimal'
        borrowFeeEstimated:
          type: boolean
        timestamp:
          type: string
          pattern: ^\d+$
          description: Unix timestamp in milliseconds
      required:
        - createdOn
        - transactionSignature
        - transactionName
        - liquidityToken
        - liquidityTokenMint
        - liquidityTokenAmount
        - isLiquidationWithdrawal
        - obligationType
        - transactionDisplayName
        - timestamp
    KlendWithdrawQueueTransactionV3:
      type: object
      properties:
        createdOn:
          type: string
          format: date-time
        timestamp:
          type: number
        transactionSignature:
          type: string
        transactionName:
          type: string
        transactionDisplayName:
          type: string
        owner:
          allOf:
            - $ref: '#/components/schemas/AddressBase58'
            - description: Wallet that owns the withdraw ticket
        reserve:
          $ref: '#/components/schemas/AddressBase58'
        withdrawTicket:
          $ref: '#/components/schemas/AddressBase58'
        solPrice:
          $ref: '#/components/schemas/Decimal'
        liquidityToken:
          type: string
        liquidityTokenMint:
          $ref: '#/components/schemas/AddressBase58'
        liquidityTokenAmount:
          $ref: '#/components/schemas/Decimal'
        liquidityTokenPrice:
          $ref: '#/components/schemas/Decimal'
        liquidityUsdValue:
          $ref: '#/components/schemas/Decimal'
      required:
        - createdOn
        - timestamp
        - transactionSignature
        - transactionName
        - transactionDisplayName
        - reserve
        - withdrawTicket
        - solPrice
        - liquidityToken
        - liquidityTokenMint
        - liquidityTokenAmount
        - liquidityTokenPrice
        - liquidityUsdValue
    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.