> ## 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 cumulative wallet Multiply earnings history

> UTC cumulative daily or ISO-week points. The generation parameter is internal-only. Controlled by an off, internal, or on gate.



## OpenAPI

````yaml /kamino-api.json get /owners/{pubkey}/multiply/pnl/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:
  /owners/{pubkey}/multiply/pnl/history:
    get:
      tags:
        - Multiply
      summary: Get cumulative wallet Multiply earnings history
      description: >-
        UTC cumulative daily or ISO-week points. The generation parameter is
        internal-only. Controlled by an off, internal, or on gate.
      operationId: getWalletMultiplyPnlHistory
      parameters:
        - schema:
            allOf:
              - $ref: '#/components/schemas/AddressBase58'
              - description: Valid base58-encoded address of the user wallet
                example: AxqtG9SHDkZTLSWg81Sp7VqAzQpRqXtR9ziJ3VQAS8As
          required: true
          description: Valid base58-encoded address of the user wallet
          name: pubkey
          in: path
        - schema:
            anyOf:
              - type: string
              - type: number
            description: Date input (ISO 8601 string or epoch in ms)
            examples:
              - '2024-01-01T00:00:00.000Z'
              - 1704067200000
          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
          required: false
          description: Date input (ISO 8601 string or epoch in ms)
          name: end
          in: query
        - schema:
            type: string
            enum:
              - day
              - week
          required: false
          name: frequency
          in: query
        - schema:
            type: integer
            exclusiveMinimum: 0
            description: Internal validation only
          required: false
          description: Internal validation only
          name: generation
          in: query
      responses:
        '200':
          description: OK
          content:
            application/json:
              example:
                wallet: Api479WaLLetG1111111111111111111111111111111
                accountingVersion: 2
                generation: 4797
                frequency: day
                coverage:
                  start: '2026-04-30'
                  computedThrough: '2026-09-28T23:59:00Z'
                  marksFinalThrough: '2026-09-28'
                  projectionRefreshedOn: '2026-09-29T19:00:00Z'
                points:
                  - day: '2026-09-28'
                    lstSolPnlSol: '1.5'
                    otherPairsPnlUsd: '0'
                    earningsUsd: '301.5'
                    solUsdPrice: '201'
                    status: complete
                    reasons: []
                    partialSubtotal: null
                    lifecycles:
                      included: 1
                      partial: 0
                      unavailable: 0
                    byType:
                      Multiply:
                        status: complete
                        reasons: []
                        lstSolPnlSol: '0'
                        otherPairsPnlUsd: '0'
                        earningsUsd: '0'
                        partialSubtotal: null
                        lifecycles: 0
                      MultiplyFixedRate:
                        status: complete
                        reasons: []
                        lstSolPnlSol: '1.5'
                        otherPairsPnlUsd: '0'
                        earningsUsd: '301.5'
                        partialSubtotal: null
                        lifecycles: 1
              schema:
                type: object
                properties:
                  wallet:
                    $ref: '#/components/schemas/AddressBase58'
                  accountingVersion:
                    type: number
                  generation:
                    type: number
                  frequency:
                    type: string
                    enum:
                      - day
                      - week
                  coverage:
                    type: object
                    properties:
                      start:
                        type:
                          - string
                          - 'null'
                      computedThrough:
                        type: string
                      marksFinalThrough:
                        type:
                          - string
                          - 'null'
                      projectionRefreshedOn:
                        type:
                          - string
                          - 'null'
                      oldestIncludedProjection:
                        type:
                          - string
                          - 'null'
                      lifecycles:
                        type: object
                        properties:
                          total:
                            type: number
                          complete:
                            type: number
                          partial:
                            type: number
                          unavailable:
                            type: number
                          open:
                            type: number
                          closed:
                            type: number
                          typeUnknown:
                            type: number
                          missingCreate:
                            type: number
                        required:
                          - total
                          - complete
                          - partial
                          - unavailable
                          - open
                          - closed
                          - typeUnknown
                          - missingCreate
                    required:
                      - start
                      - computedThrough
                      - marksFinalThrough
                      - projectionRefreshedOn
                  points:
                    type: array
                    items:
                      type: object
                      properties:
                        lstSolPnlSol:
                          type:
                            - string
                            - 'null'
                          description: Native SOL earnings of LST/SOL lifecycles
                        otherPairsPnlUsd:
                          type:
                            - string
                            - 'null'
                          description: Native USD earnings of other pairs
                        earningsUsd:
                          type:
                            - string
                            - 'null'
                          description: >-
                            SOL earnings converted at the stated SOL/USD price
                            plus USD earnings
                        day:
                          type: string
                          description: >-
                            Final included UTC day; Sundays for complete ISO
                            weeks
                        solUsdPrice:
                          type:
                            - string
                            - 'null'
                        status:
                          type: string
                          enum:
                            - complete
                            - partial
                            - unavailable
                        reasons:
                          type: array
                          items:
                            type: string
                        partialSubtotal:
                          type:
                            - object
                            - 'null'
                          properties:
                            lstSolPnlSol:
                              type:
                                - string
                                - 'null'
                              description: Native SOL earnings of LST/SOL lifecycles
                            otherPairsPnlUsd:
                              type:
                                - string
                                - 'null'
                              description: Native USD earnings of other pairs
                            earningsUsd:
                              type:
                                - string
                                - 'null'
                              description: >-
                                SOL earnings converted at the stated SOL/USD
                                price plus USD earnings
                          required:
                            - lstSolPnlSol
                            - otherPairsPnlUsd
                            - earningsUsd
                          description: >-
                            Labelled sum of computable lifecycles when complete
                            totals are unavailable
                        lifecycles:
                          type: object
                          properties:
                            included:
                              type: number
                            partial:
                              type: number
                            unavailable:
                              type: number
                          required:
                            - included
                            - partial
                            - unavailable
                        byType:
                          type: object
                          properties:
                            Multiply:
                              type: object
                              properties:
                                lstSolPnlSol:
                                  type:
                                    - string
                                    - 'null'
                                  description: Native SOL earnings of LST/SOL lifecycles
                                otherPairsPnlUsd:
                                  type:
                                    - string
                                    - 'null'
                                  description: Native USD earnings of other pairs
                                earningsUsd:
                                  type:
                                    - string
                                    - 'null'
                                  description: >-
                                    SOL earnings converted at the stated SOL/USD
                                    price plus USD earnings
                                status:
                                  type: string
                                  enum:
                                    - complete
                                    - partial
                                    - unavailable
                                reasons:
                                  type: array
                                  items:
                                    type: string
                                partialSubtotal:
                                  type:
                                    - object
                                    - 'null'
                                  properties:
                                    lstSolPnlSol:
                                      type:
                                        - string
                                        - 'null'
                                      description: >-
                                        Native SOL earnings of LST/SOL
                                        lifecycles
                                    otherPairsPnlUsd:
                                      type:
                                        - string
                                        - 'null'
                                      description: Native USD earnings of other pairs
                                    earningsUsd:
                                      type:
                                        - string
                                        - 'null'
                                      description: >-
                                        SOL earnings converted at the stated
                                        SOL/USD price plus USD earnings
                                  required:
                                    - lstSolPnlSol
                                    - otherPairsPnlUsd
                                    - earningsUsd
                                  description: >-
                                    Labelled sum of computable lifecycles when
                                    complete totals are unavailable
                                lifecycles:
                                  type: integer
                              required:
                                - lstSolPnlSol
                                - otherPairsPnlUsd
                                - earningsUsd
                                - status
                                - reasons
                                - partialSubtotal
                                - lifecycles
                            MultiplyFixedRate:
                              type: object
                              properties:
                                lstSolPnlSol:
                                  type:
                                    - string
                                    - 'null'
                                  description: Native SOL earnings of LST/SOL lifecycles
                                otherPairsPnlUsd:
                                  type:
                                    - string
                                    - 'null'
                                  description: Native USD earnings of other pairs
                                earningsUsd:
                                  type:
                                    - string
                                    - 'null'
                                  description: >-
                                    SOL earnings converted at the stated SOL/USD
                                    price plus USD earnings
                                status:
                                  type: string
                                  enum:
                                    - complete
                                    - partial
                                    - unavailable
                                reasons:
                                  type: array
                                  items:
                                    type: string
                                partialSubtotal:
                                  type:
                                    - object
                                    - 'null'
                                  properties:
                                    lstSolPnlSol:
                                      type:
                                        - string
                                        - 'null'
                                      description: >-
                                        Native SOL earnings of LST/SOL
                                        lifecycles
                                    otherPairsPnlUsd:
                                      type:
                                        - string
                                        - 'null'
                                      description: Native USD earnings of other pairs
                                    earningsUsd:
                                      type:
                                        - string
                                        - 'null'
                                      description: >-
                                        SOL earnings converted at the stated
                                        SOL/USD price plus USD earnings
                                  required:
                                    - lstSolPnlSol
                                    - otherPairsPnlUsd
                                    - earningsUsd
                                  description: >-
                                    Labelled sum of computable lifecycles when
                                    complete totals are unavailable
                                lifecycles:
                                  type: integer
                              required:
                                - lstSolPnlSol
                                - otherPairsPnlUsd
                                - earningsUsd
                                - status
                                - reasons
                                - partialSubtotal
                                - lifecycles
                          required:
                            - Multiply
                            - MultiplyFixedRate
                          description: Both obligation types are always present
                      required:
                        - lstSolPnlSol
                        - otherPairsPnlUsd
                        - earningsUsd
                        - day
                        - solUsdPrice
                        - status
                        - reasons
                        - partialSubtotal
                        - lifecycles
                        - byType
                required:
                  - wallet
                  - accountingVersion
                  - generation
                  - frequency
                  - coverage
                  - points
                examples:
                  - wallet: Api479WaLLetG1111111111111111111111111111111
                    accountingVersion: 2
                    generation: 4797
                    frequency: day
                    coverage:
                      start: '2026-04-30'
                      computedThrough: '2026-09-28T23:59:00Z'
                      marksFinalThrough: '2026-09-28'
                      projectionRefreshedOn: '2026-09-29T19:00:00Z'
                    points:
                      - day: '2026-09-28'
                        lstSolPnlSol: '1.5'
                        otherPairsPnlUsd: '0'
                        earningsUsd: '301.5'
                        solUsdPrice: '201'
                        status: complete
                        reasons: []
                        partialSubtotal: null
                        lifecycles:
                          included: 1
                          partial: 0
                          unavailable: 0
                        byType:
                          Multiply:
                            status: complete
                            reasons: []
                            lstSolPnlSol: '0'
                            otherPairsPnlUsd: '0'
                            earningsUsd: '0'
                            partialSubtotal: null
                            lifecycles: 0
                          MultiplyFixedRate:
                            status: complete
                            reasons: []
                            lstSolPnlSol: '1.5'
                            otherPairsPnlUsd: '0'
                            earningsUsd: '301.5'
                            partialSubtotal: null
                            lifecycles: 1
                  - wallet: Api479WaLLetG1111111111111111111111111111111
                    accountingVersion: 2
                    generation: 4797
                    frequency: day
                    coverage:
                      start: '2026-04-30'
                      computedThrough: '2026-09-28T23:59:00Z'
                      marksFinalThrough: '2026-09-28'
                      projectionRefreshedOn: '2026-09-29T19:00:00Z'
                    points:
                      - day: '2026-09-28'
                        lstSolPnlSol: '1.5'
                        otherPairsPnlUsd: '0'
                        earningsUsd: null
                        solUsdPrice: null
                        status: partial
                        reasons:
                          - price_missing
                        partialSubtotal:
                          lstSolPnlSol: '1.5'
                          otherPairsPnlUsd: '0'
                          earningsUsd: null
                        lifecycles:
                          included: 1
                          partial: 0
                          unavailable: 0
                        byType:
                          Multiply:
                            status: complete
                            reasons: []
                            lstSolPnlSol: '0'
                            otherPairsPnlUsd: '0'
                            earningsUsd: '0'
                            partialSubtotal: null
                            lifecycles: 0
                          MultiplyFixedRate:
                            status: partial
                            reasons:
                              - price_missing
                            lstSolPnlSol: '1.5'
                            otherPairsPnlUsd: '0'
                            earningsUsd: null
                            partialSubtotal:
                              lstSolPnlSol: '1.5'
                              otherPairsPnlUsd: '0'
                              earningsUsd: null
                            lifecycles: 1
        '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'
        '503':
          description: Service Unavailable
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
components:
  schemas:
    AddressBase58:
      type: string
      description: Valid base58-encoded address
      example: VEG1EMtttdHunMbSza8uoms1R18VXmYSph2bBpHcSJd
    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

````

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