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

# List Markets

> Fetch a summary of lending markets with TVL, APY, utilization, strategy classification, and oracle health.



## OpenAPI

````yaml GET /markets
openapi: 3.0.3
info:
  title: Circular API
  description: >-
    DeFi risk intelligence API by Rosetta — markets, vaults, positions, risk
    analysis, credit ratings, and portfolio management across Morpho Blue, Aave
    V3, and other lending protocols.
  version: 1.0.0
  contact:
    name: Rosetta
    url: https://rosetta.sh
servers:
  - url: https://api.circular.rosetta.sh/api/v1
    description: Production
security:
  - BearerApiKey: []
tags:
  - name: Markets
    description: Lending market data — overview, search, compare, history, positions
  - name: Tokens
    description: Token metadata and oracle feeds
  - name: Vaults
    description: Vault data — overview, concentration, depositors
  - name: Positions
    description: Position scanning — wallet positions, loops, vault positions
  - name: Risk
    description: >-
      Risk analysis — dashboard, concentration, depeg simulation, protocol
      health
  - name: Liquidations
    description: Liquidation feed and history
  - name: Analytics
    description: Strategy breakdown, trends, yield opportunities, whale monitoring
  - name: Research
    description: Deep market research, deployment analysis, borrow strategy
  - name: Ratings
    description: Credit ratings — methodology, market ratings, vault ratings
  - name: Portfolios
    description: Portfolio management — overview, risk, yield, alerts, liquidity
  - name: Health
    description: API health check
  - name: Agent
    description: Agent risk API — risk checks and policy defaults
  - name: Client
    description: Client self-service — profile, API keys, usage, quota dashboard
paths:
  /markets:
    get:
      tags:
        - Markets
      summary: List lending markets
      description: >-
        Fetch a summary of lending markets with TVL, APY, utilization, strategy
        classification, and oracle health.
      operationId: listMarkets
      parameters:
        - $ref: '#/components/parameters/Limit'
        - $ref: '#/components/parameters/Offset'
        - $ref: '#/components/parameters/ChainIds'
        - name: assets
          in: query
          schema:
            type: string
          description: Filter by asset symbol
      responses:
        '200':
          description: List of markets
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Market'
                  meta:
                    $ref: '#/components/schemas/Meta'
        '400':
          description: Handler error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HandlerErrorResponse'
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuthErrorResponse'
        '429':
          description: Rate limit or quota exceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitError'
components:
  parameters:
    Limit:
      name: limit
      in: query
      schema:
        type: integer
        default: 50
      description: Maximum number of results to return
    Offset:
      name: offset
      in: query
      schema:
        type: integer
        default: 0
      description: Number of results to skip
    ChainIds:
      name: chainIds
      in: query
      schema:
        type: string
      description: Comma-separated chain IDs to filter by
  schemas:
    Market:
      type: object
      properties:
        uniqueKey:
          type: string
          description: Unique identifier protocol-chainId-identifier
        protocol:
          type: string
          enum:
            - morpho
            - aave
            - euler
            - fluid
            - spark
            - kamino
        chainId:
          type: integer
        label:
          type: string
          nullable: true
        collateral:
          type: string
          description: Collateral token symbol
        loan:
          type: string
          description: Loan token symbol
        collateralAddress:
          type: string
        loanAddress:
          type: string
        collateralPrice:
          type: number
          description: USD price
        loanPrice:
          type: number
          description: USD price
        supply:
          type: number
          description: Total supplied in USD
        borrow:
          type: number
          description: Total borrowed in USD
        available:
          type: number
          description: supply minus borrow in USD
        utilization:
          type: number
          description: 0-1 ratio (borrow/supply)
        supplyApy:
          type: number
          description: Decimal APY (0.042 = 4.2%)
        borrowApy:
          type: number
          description: Decimal APY
        supplyRewardsApy:
          type: number
          description: Additional rewards APY (decimal)
        borrowRewardsApy:
          type: number
          description: Additional rewards APY (decimal)
        rewardTokens:
          type: array
          items:
            type: string
        lltv:
          type: number
          description: Liquidation LTV, normalized 0-1
        maxLeverage:
          type: number
          description: 1 / (1 - lltv)
        strategyType:
          type: string
        strategyInfo:
          $ref: '#/components/schemas/StrategyInfo'
        vaultSymbol:
          type: string
          nullable: true
          description: Euler vault token symbol (e.g. eUSDC-80)
        vaultAddress:
          type: string
          nullable: true
          description: Full vault contract address (Euler)
        governor:
          type: string
          nullable: true
          description: Governor/curator name (Euler)
        oracle:
          $ref: '#/components/schemas/OracleInfo'
        oracleHealth:
          $ref: '#/components/schemas/OracleHealth'
    Meta:
      type: object
      properties:
        latencyMs:
          type: number
          description: Server-side processing time in milliseconds
        freshness:
          type: string
          description: Data freshness indicator (live, cached, snapshot)
        source:
          type: string
          description: Which protocol(s) provided data
    HandlerErrorResponse:
      type: object
      description: Returned when a handler returns success false (HTTP 400)
      properties:
        error:
          type: string
          description: Error message from the handler
        meta:
          $ref: '#/components/schemas/Meta'
    AuthErrorResponse:
      type: object
      description: >-
        Returned for auth failures. 401 codes: MISSING_API_KEY,
        INVALID_KEY_FORMAT, INVALID_API_KEY, UNAUTHORIZED, INVALID_TOKEN. 403
        codes: FORBIDDEN, ENDPOINT_NOT_INCLUDED, ACCOUNT_SUSPENDED.
      properties:
        error:
          type: string
          description: Error code (e.g. MISSING_API_KEY)
        message:
          type: string
          description: Human-readable description
    RateLimitError:
      type: object
      properties:
        error:
          type: string
          enum:
            - RATE_LIMIT_EXCEEDED
        message:
          type: string
        retryAfter:
          type: integer
          description: Seconds to wait before retrying
    StrategyInfo:
      type: object
      properties:
        type:
          type: string
        label:
          type: string
        description:
          type: string
        riskLevel:
          type: string
          enum:
            - low
            - medium
            - high
        color:
          type: string
        icon:
          type: string
    OracleInfo:
      type: object
      nullable: true
      properties:
        address:
          type: string
        type:
          type: string
          enum:
            - ChainlinkOracle
            - ChainlinkOracleV2
            - MorphoPythOracle
            - ChronicleOracle
            - RedstoneOracle
            - Api3Oracle
            - UniswapV3Twap
            - PendlePtOracle
            - Custom
        provider:
          type: string
          enum:
            - Chainlink
            - Pyth
            - Chronicle
            - Redstone
            - API3
            - Uniswap
            - Pendle
            - Unknown
        feeds:
          type: array
          items:
            $ref: '#/components/schemas/OracleFeed'
        isComposite:
          type: boolean
        warnings:
          type: array
          items:
            type: string
          nullable: true
    OracleHealth:
      type: object
      nullable: true
      properties:
        lastUpdateTimestamp:
          type: integer
          description: Unix seconds
        secondsSinceUpdate:
          type: integer
        expectedHeartbeatSeconds:
          type: integer
        isStale:
          type: boolean
        stalenessRatio:
          type: number
    OracleFeed:
      type: object
      properties:
        address:
          type: string
        description:
          type: string
        pair:
          type: string
  securitySchemes:
    BearerApiKey:
      type: http
      scheme: bearer
      description: API key in format circ_live_* or circ_test_*

````