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

# Get Position Historical Performance

> Historical performance: daily Morpho Blue position snapshots for the history chart. `max_snapshots` is a day count; omit it for the full indexed series. Optional `market_id` to scope one isolated market.

**Credits:** 2 per successful call.



## OpenAPI

````yaml /openapi.yaml get /v1/lending/morpho/position/{chain_id}/snapshots
openapi: 3.1.0
info:
  title: DeFi Orbit API
  version: 1.0.0
  description: Public REST API for DeFi Orbit positions, lending, portfolio, and usage.
servers:
  - url: https://api.defiorbit.xyz
security:
  - bearerAuth: []
tags:
  - name: Portfolio
  - name: Snapshots
  - name: Uniswap V3
  - name: Aerodrome V3
  - name: Orca
  - name: Aave V3
  - name: Morpho
  - name: Kamino
  - name: Usage
paths:
  /v1/lending/morpho/position/{chain_id}/snapshots:
    get:
      tags:
        - Morpho
      summary: Get Position Historical Performance
      description: >-
        Historical performance: daily Morpho Blue position snapshots for the
        history chart. `max_snapshots` is a day count; omit it for the full
        indexed series. Optional `market_id` to scope one isolated market.


        **Credits:** 2 per successful call.
      operationId: get_v1_lending_morpho_position_chain_id_snapshots
      parameters:
        - name: chain_id
          in: path
          required: true
          schema:
            type: integer
            description: Chain ID.
            example: 1
            x-default: 1
        - name: wallet
          in: query
          required: true
          schema:
            type: string
            description: Wallet address.
            example: '0xbf7620d0377b0660a6cbaef5cdfe2e00eddc1495'
            x-default: '0xbf7620d0377b0660a6cbaef5cdfe2e00eddc1495'
        - name: market_id
          in: query
          required: false
          schema:
            type: string
            description: Isolated Morpho market id.
        - name: max_snapshots
          in: query
          required: false
          schema:
            type: integer
            description: Max snapshots (days).
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/RequestId'
                  - type: object
                    properties:
                      data:
                        type: array
                        items:
                          type: object
                          properties:
                            timestamp:
                              type: number
                              description: Unix seconds.
                            market_id:
                              type: string
                            supply_usd:
                              type: string
                            borrow_usd:
                              type: string
                            collateral_usd:
                              type: string
                            net_worth_usd:
                              type: string
                            health_factor:
                              type: string
                              description: >-
                                String. Aave divides
                                liquidation-threshold-weighted collateral by
                                debt. Morpho divides collateral × oracle price ×
                                LLTV by debt, to four decimals. Kamino divides
                                liquidation LTV by LTV. MAX or ∞ when there is
                                no debt.
                          required:
                            - timestamp
                            - market_id
                            - supply_usd
                            - borrow_usd
                            - collateral_usd
                            - net_worth_usd
                            - health_factor
                    required:
                      - data
              example:
                data:
                  - timestamp: 1717200000
                    market_id: >-
                      0xabababababababababababababababababababababababababababababababab
                    supply_usd: '1000.00'
                    borrow_usd: '400.00'
                    collateral_usd: '1200.00'
                    net_worth_usd: '800.00'
                    health_factor: '2.50'
                request_id: req_...
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  schemas:
    RequestId:
      type: object
      required:
        - request_id
      properties:
        request_id:
          type: string
          description: Id to quote when you contact support.
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
            - message
            - request_id
          properties:
            code:
              type: string
            message:
              type: string
            request_id:
              type: string
  responses:
    BadRequest:
      description: Missing or invalid parameter.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: INVALID_PARAMETER
              message: page must be a positive integer.
              request_id: req_...
    Unauthorized:
      description: Missing, malformed, invalid, or revoked API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: INVALID_API_KEY
              message: Missing API key.
              request_id: req_...
    PaymentRequired:
      description: The organization does not have enough credits.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: INSUFFICIENT_CREDITS
              message: Insufficient API credits.
              request_id: req_...
    Forbidden:
      description: The organization is suspended, or the endpoint or feature is disabled.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: ACCOUNT_SUSPENDED
              message: This organization is suspended.
              request_id: req_...
    TooManyRequests:
      description: The organization exceeded its requests-per-second limit.
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
        X-RateLimit-Limit:
          description: Requests per second for the organization.
          schema:
            type: integer
        X-RateLimit-Remaining:
          description: Requests left in the current window.
          schema:
            type: integer
        X-RateLimit-Reset:
          description: Unix time when the window resets.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: RATE_LIMIT_EXCEEDED
              message: Rate limit exceeded. Please try again later.
              request_id: req_...
    InternalError:
      description: Unexpected server error, or pricing is not configured.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: INTERNAL_ERROR
              message: An unexpected error occurred.
              request_id: req_...
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Paste your API key from the
        [dashboard](https://platform.defiorbit.xyz/dashboard/keys). The key
        starts with `do_sk_`.
      x-default: YOUR_API_KEY

````

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