> ## 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 a wallet earn activity feed

> Get cursor-paginated vault and filtered lending deposits, direct and withdraw-queue withdrawals, repayments, and daily interest accrual. Current-day interest can grow until the day closes.



## OpenAPI

````yaml /kamino-api.json get /v3/earn/users/{userPubkey}/activity
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/earn/users/{userPubkey}/activity:
    get:
      tags:
        - Earn
      summary: Get a wallet earn activity feed
      description: >-
        Get cursor-paginated vault and filtered lending deposits, direct and
        withdraw-queue withdrawals, repayments, and daily interest accrual.
        Current-day interest can grow until the day closes.
      parameters:
        - schema:
            allOf:
              - $ref: '#/components/schemas/AddressBase58'
              - description: User wallet address
          required: true
          description: User wallet address
          name: userPubkey
          in: path
        - schema:
            allOf:
              - $ref: '#/components/schemas/AddressBase58'
              - description: Only return activity for this token mint
          required: false
          description: Only return activity for this token mint
          name: tokenMint
          in: query
        - schema:
            allOf:
              - $ref: '#/components/schemas/AddressBase58'
              - description: Only return activity for this vault
          required: false
          description: Only return activity for this vault
          name: vault
          in: query
        - schema:
            allOf:
              - $ref: '#/components/schemas/AddressBase58'
              - description: Only return activity for this KLend reserve
          required: false
          description: Only return activity for this KLend reserve
          name: reserve
          in: query
        - schema:
            anyOf:
              - type: string
              - type: array
                items:
                  type: string
            default:
              - Vanilla
              - Lending
              - LendingFixedRate
              - Multiply
              - MultiplyFixedRate
              - Leverage
              - LeverageFixedRate
            description: >-
              Obligation types to include. Defaults to all seven types for
              compatibility. Earn products are Vanilla, Lending, and
              LendingFixedRate. Allowed values: Vanilla, Lending,
              LendingFixedRate, Multiply, MultiplyFixedRate, Leverage,
              LeverageFixedRate.
            example: Vanilla,Lending,LendingFixedRate
          required: false
          description: >-
            Obligation types to include. Defaults to all seven types for
            compatibility. Earn products are Vanilla, Lending, and
            LendingFixedRate. Allowed values: Vanilla, Lending,
            LendingFixedRate, Multiply, MultiplyFixedRate, Leverage,
            LeverageFixedRate.
          name: obligationTypes
          in: query
        - schema:
            type: string
            description: >-
              Include private-credit vault positions, earnings, and activity
              alongside Earn vaults. Also accepts other truthy/falsy strings
              such as "1"/"0", "yes"/"no", "on"/"off".
            enum:
              - 'true'
              - 'false'
            default: 'false'
          required: false
          description: >-
            Include private-credit vault positions, earnings, and activity
            alongside Earn vaults. Also accepts other truthy/falsy strings such
            as "1"/"0", "yes"/"no", "on"/"off".
          name: includePrivateCredit
          in: query
        - schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 25
            example: 25
            description: Maximum number of activity rows to return (1-100)
          required: false
          description: Maximum number of activity rows to return (1-100)
          name: limit
          in: query
        - schema:
            type: string
            example: eyJsYXN0SWQiOjgxfQ==
            description: >-
              Pagination position. Resend tokenMint, vault, reserve,
              obligationTypes, includePrivateCredit, start, and end unchanged
              when requesting the next page.
          required: false
          description: >-
            Pagination position. Resend tokenMint, vault, reserve,
            obligationTypes, includePrivateCredit, start, and end unchanged when
            requesting the next page.
          name: paginationToken
          in: query
        - schema:
            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
          required: false
          description: Date input (ISO 8601 string or epoch in ms)
          name: start
          in: query
        - schema:
            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
          required: false
          description: Date input (ISO 8601 string or epoch in ms)
          name: end
          in: query
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EarnUserActivityResponse'
        '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
    EarnUserActivityResponse:
      type: object
      properties:
        result:
          type: array
          items:
            $ref: '#/components/schemas/EarnUserActivityItem'
        paginationToken:
          type: string
          example: eyJsYXN0SWQiOjgxfQ==
          description: Optional pagination token
      required:
        - 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
    EarnUserActivityItem:
      type: object
      properties:
        timestamp:
          $ref: '#/components/schemas/TransactionDateTime'
        type:
          type: string
          enum:
            - interest_accrued
            - deposit
            - withdraw
            - repaid_manually
            - auto_repay
          description: Activity type
        source:
          type: string
          enum:
            - vault
            - lend
          description: Product family that produced the activity
        tokenMint:
          allOf:
            - $ref: '#/components/schemas/AddressBase58'
            - description: Activity token mint
        symbol:
          type:
            - string
            - 'null'
          description: Token symbol, or null when metadata is unavailable
        amount:
          allOf:
            - $ref: '#/components/schemas/Decimal'
            - description: Positive token amount
        usdValue:
          anyOf:
            - $ref: '#/components/schemas/Decimal'
            - type: 'null'
          description: Positive USD value, or null when no price is available
        vault:
          allOf:
            - $ref: '#/components/schemas/AddressBase58'
            - description: >-
                Vault address for vault transactions or a vault-filtered
                interest row
        market:
          allOf:
            - $ref: '#/components/schemas/AddressBase58'
            - description: KLend market address
        reserve:
          allOf:
            - $ref: '#/components/schemas/AddressBase58'
            - description: KLend reserve address
        obligation:
          allOf:
            - $ref: '#/components/schemas/AddressBase58'
            - description: KLend obligation address when applicable
        transaction:
          type: string
          description: Transaction signature; omitted for synthetic daily interest activity
          example: >-
            2XWcSQVtR4NoHBhzYpDkYkmYtEFkFXC5ZwrKiPok1kvA86GvnN15qP7RNP6eTeNWgJqgnR1GA2M3QPp1hucW7e1v
      required:
        - timestamp
        - type
        - source
        - tokenMint
        - symbol
        - amount
        - usdValue
    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.