{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/fiatdock-com/json-schema/fiatdock-com-defi-yields-schema.json",
  "title": "DefiYields",
  "description": "Paid. Best DeFi yields by chain and token (DefiLlama).",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/fiatdock-com-defi-api-openapi.yml#/components/schemas/DefiYields",
  "type": "object",
  "properties": {
    "query": {
      "type": "object",
      "properties": {
        "chain": {
          "type": "string"
        },
        "symbol": {
          "type": [
            "string",
            "null"
          ]
        },
        "stablecoinOnly": {
          "type": "boolean"
        },
        "minTvlUsd": {
          "type": "number"
        },
        "sort": {
          "type": "string"
        },
        "includeOutliers": {
          "type": "boolean"
        }
      },
      "required": [
        "chain",
        "symbol",
        "stablecoinOnly",
        "minTvlUsd",
        "sort",
        "includeOutliers"
      ],
      "description": "The filters applied (defaults filled in)"
    },
    "matched": {
      "type": "number",
      "description": "Pools that matched before the limit"
    },
    "count": {
      "type": "number",
      "description": "Pools returned"
    },
    "pools": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "project": {
            "type": "string"
          },
          "chain": {
            "type": "string"
          },
          "symbol": {
            "type": "string"
          },
          "poolMeta": {
            "type": [
              "string",
              "null"
            ]
          },
          "tvlUsd": {
            "type": [
              "number",
              "null"
            ]
          },
          "apyPct": {
            "type": [
              "number",
              "null"
            ]
          },
          "apyBasePct": {
            "type": [
              "number",
              "null"
            ]
          },
          "apyRewardPct": {
            "type": [
              "number",
              "null"
            ]
          },
          "apyMean30dPct": {
            "type": [
              "number",
              "null"
            ]
          },
          "apyChange7dPct": {
            "type": [
              "number",
              "null"
            ]
          },
          "stablecoin": {
            "type": "boolean"
          },
          "ilRisk": {
            "type": [
              "string",
              "null"
            ]
          },
          "exposure": {
            "type": [
              "string",
              "null"
            ]
          },
          "outlier": {
            "type": "boolean"
          },
          "poolId": {
            "type": "string"
          },
          "url": {
            "type": [
              "string",
              "null"
            ]
          }
        },
        "required": [
          "project",
          "chain",
          "symbol",
          "poolMeta",
          "tvlUsd",
          "apyPct",
          "apyBasePct",
          "apyRewardPct",
          "apyMean30dPct",
          "apyChange7dPct",
          "stablecoin",
          "ilRisk",
          "exposure",
          "outlier",
          "poolId",
          "url"
        ]
      },
      "description": "The pools, ordered by the requested sort"
    },
    "source": {
      "type": "string",
      "description": "Where the data came from"
    },
    "asOf": {
      "type": "string",
      "description": "ISO time the yield index was read"
    },
    "note": {
      "type": "string",
      "description": "How the APY figures are built, and their limits"
    }
  },
  "required": [
    "query",
    "matched",
    "count",
    "pools",
    "source",
    "asOf",
    "note"
  ]
}