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

# One strategy by market id



## OpenAPI

````yaml /api-reference/openapi.json get /v1/strategies/{id}
openapi: 3.1.0
info:
  title: Spiral Stake — Read API (v1)
  version: 0.1.0
  description: >-
    Read-only composition authority for Spiral Stake strategy data. Serves the
    frozen /strategies contract (agents + app) plus the full app read surface.
    All numbers are composed from warm cache; a stale/failed upstream serves
    last-good with a visible stale age.
servers:
  - url: https://api.spiralstake.xyz
    description: Production
  - url: http://localhost:8787
    description: Local
security: []
tags:
  - name: Public
    description: Open read endpoints — no key required.
  - name: Partner
    description: 'Keyed integration API — Authorization: Bearer <key>.'
paths:
  /v1/strategies/{id}:
    get:
      summary: One strategy by market id
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            pattern: ^0x[0-9a-fA-F]{64}$
          description: Morpho market id.
      responses:
        '200':
          description: Strategy
          content:
            application/json:
              schema:
                type: object
                description: >-
                  Frozen /strategies contract (v1). Raw facts; the only verdict
                  is under spiralHints.
                properties:
                  id:
                    type: string
                    description: Morpho market id (0x + 64 hex).
                  chainId:
                    type: integer
                  correlated:
                    type: boolean
                  collateral:
                    type: object
                  loan:
                    type: object
                  collateralApyPct:
                    type: string
                  collateralApySource:
                    type: string
                    enum:
                      - pendle
                      - defillama
                      - royco
                      - stablewatch
                      - onchain
                      - none
                  yieldSustainabilityPct:
                    type: object
                  borrowApyPct:
                    type: string
                  quarterlyBorrowApyPct:
                    type: string
                  borrowIncentive:
                    type: object
                    nullable: true
                  netBorrowApyPct:
                    type: string
                  supplyUsd:
                    type: number
                  liquidityUsd:
                    type: number
                  publicAllocatorLiquidityUsd:
                    type: number
                  maxLeverage:
                    type: string
                  utilizationPct:
                    type: string
                  leverageLadder:
                    type: array
                    items:
                      type: object
                      properties:
                        leverage:
                          type: string
                          example: '3.0'
                        ltvPct:
                          type: string
                          example: '66.7'
                        leverageApyPct:
                          type: string
                          example: '18.96'
                      required:
                        - leverage
                        - ltvPct
                        - leverageApyPct
                  defaultLeverage:
                    type: object
                    properties:
                      leverage:
                        type: string
                        example: '3.0'
                      ltvPct:
                        type: string
                        example: '66.7'
                      leverageApyPct:
                        type: string
                        example: '18.96'
                    required:
                      - leverage
                      - ltvPct
                      - leverageApyPct
                  historicalLeverageApyPct:
                    type: object
                  ltvPct:
                    type: object
                    properties:
                      liquidation:
                        type: string
                      max:
                        type: string
                  oracle:
                    type: object
                  exitLiquidity:
                    type: object
                  noSwapRoute:
                    type: boolean
                  spiralHints:
                    type: object
                    description: >-
                      Optional, namespaced Spiral opinion; carries its
                      thresholds.
                  freshness:
                    type: object
                    properties:
                      borrow:
                        type: object
                        properties:
                          asOf:
                            type: string
                            format: date-time
                          staleAfterSec:
                            type: integer
                          staleForSec:
                            type: integer
                            description: >-
                              Seconds past the freshness budget; present only
                              when stale.
                        required:
                          - asOf
                          - staleAfterSec
                      collateralApy:
                        type: object
                        properties:
                          asOf:
                            type: string
                            format: date-time
                          staleAfterSec:
                            type: integer
                          staleForSec:
                            type: integer
                            description: >-
                              Seconds past the freshness budget; present only
                              when stale.
                        required:
                          - asOf
                          - staleAfterSec
                      exitLiquidity:
                        type: object
                        properties:
                          asOf:
                            type: string
                            format: date-time
                          staleAfterSec:
                            type: integer
                          staleForSec:
                            type: integer
                            description: >-
                              Seconds past the freshness budget; present only
                              when stale.
                        required:
                          - asOf
                          - staleAfterSec
                  links:
                    type: object
                required:
                  - id
                  - chainId
                  - correlated
                  - collateral
                  - loan
                  - collateralApyPct
                  - collateralApySource
                  - borrowApyPct
                  - netBorrowApyPct
                  - maxLeverage
                  - leverageLadder
                  - defaultLeverage
                  - ltvPct
                  - exitLiquidity
                  - noSwapRoute
                  - freshness
        '400':
          description: Invalid id
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      correlationId:
                        type: string
                      details: {}
                    required:
                      - code
                      - message
                      - correlationId
        '404':
          description: Not found
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                      message:
                        type: string
                      correlationId:
                        type: string
                      details: {}
                    required:
                      - code
                      - message
                      - correlationId

````