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

# Live risk metrics

> Tier 1 live metrics for a single vault: yield quality and exit safety, each with the reason it was assigned. These are **separate from the Atlas Score** and are never folded into it — the composite answers "how good is this vault", these two answer "is the yield real" and "can I get out".

Both values are nullable and are never fabricated: when the underlying inputs are missing, the value is `null` and the reason says why. Metrics are recomputed on a ~24h cadence, so `scorerRunDate` is the day the values were produced.



## OpenAPI

````yaml api-reference/openapi.yaml GET /vaults/{chainId}/{address}/metrics
openapi: 3.1.0
info:
  title: AtlasYield API
  version: '1.0'
  description: >-
    Read-only access to the Atlas Score Index: neutral 16-factor vault scores
    across four pillars — Yield, Safety, Liquidity, Sustainability — plus the
    tracked vault catalog and the Atlas Engine, which turns those scores into a
    risk-adjusted allocation. Research and information, not investment advice.
servers:
  - url: https://api.atlasyield.club/v1
security: []
paths:
  /vaults/{chainId}/{address}/metrics:
    get:
      summary: Live risk metrics for one vault
      description: >-
        Tier 1 live metrics for a single vault: yield quality and exit safety,
        each with the reason it was assigned. These are **separate from the
        Atlas Score** and are never folded into it — the composite answers "how
        good is this vault", these two answer "is the yield real" and "can I get
        out".


        Both values are nullable and are never fabricated: when the underlying
        inputs are missing, the value is `null` and the reason says why. Metrics
        are recomputed on a ~24h cadence, so `scorerRunDate` is the day the
        values were produced.
      operationId: getVaultMetrics
      parameters:
        - name: chainId
          in: path
          required: true
          schema:
            type: integer
          description: EVM chain id the vault lives on.
          example: 8453
        - name: address
          in: path
          required: true
          schema:
            type: string
          description: Vault contract address. Case-insensitive.
          example: '0x4e65fe4dba92790696d040ac24aa414708f5c0ab'
      responses:
        '200':
          description: The most recent metrics row for the vault.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  disclaimer:
                    type: string
                    example: Research and information, not investment advice.
                  data:
                    $ref: '#/components/schemas/VaultMetrics'
        '400':
          $ref: '#/components/responses/ValidationError'
        '404':
          description: No metrics have been computed for this vault.
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  error:
                    type: string
                    example: Risk metrics not found for this vault
components:
  schemas:
    VaultMetrics:
      type: object
      description: >-
        Tier 1 live metrics for one vault. Separate from the Atlas Score, never
        folded into the composite.
      properties:
        vaultId:
          type: string
          description: 'Stable identifier: protocol:chainId:address.'
          example: aave-v3:8453:0x4e65fe4dba92790696d040ac24aa414708f5c0ab
        chainId:
          type: integer
          example: 8453
        yieldQuality:
          type: number
          nullable: true
          description: >-
            0-100. How much of the headline APY comes from the vault's own
            economics rather than transient incentives. Null when the APY split
            is unavailable.
          example: 82
        yieldQualityReason:
          type: string
          nullable: true
          description: Why that value was assigned, or why it is null.
        exitSafety:
          type: number
          nullable: true
          description: >-
            0-100. How safely a position can be exited at size. Null when the
            underlying liquidity data is unavailable.
          example: 74
        exitSafetyReason:
          type: string
          nullable: true
          description: Why that value was assigned, or why it is null.
        scorerRunDate:
          type: string
          format: date
          description: The day (UTC) these metrics were computed.
          example: '2026-09-04'
  responses:
    ValidationError:
      description: >-
        A query parameter is missing or out of range. The body carries per-field
        detail under `details.fieldErrors`.
      content:
        application/json:
          schema:
            type: object
            properties:
              success:
                type: boolean
                example: false
              error:
                type: string
                example: Validation error
              details:
                type: object
                description: Zod field errors, keyed by parameter name.

````