{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/blockworks/json-schema/blockworks-lending-protocol-product-markets-row-schema.json",
  "title": "LendingProtocolProductMarketsRow",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/blockworks-lending-protocols-api-openapi.yml#/components/schemas/LendingProtocolProductMarketsRow",
  "properties": {
    "chain": {
      "description": "The short name of the chain the market lives on (ethereum, bnb, solana).",
      "type": [
        "string",
        "null"
      ]
    },
    "id": {
      "description": "The series key of the lending-protocols-by-product-market timeseries model, the product id followed by the market key, joined with underscores.",
      "type": [
        "string",
        "null"
      ]
    },
    "marketName": {
      "description": "The market display name.",
      "type": [
        "string",
        "null"
      ]
    },
    "marketType": {
      "description": "The market type where the protocol distinguishes one (for example core, pooled or credit_vault); null otherwise.",
      "type": [
        "string",
        "null"
      ]
    },
    "name": {
      "description": "The display name of the market (market name when present, else the market key).",
      "type": [
        "string",
        "null"
      ]
    },
    "parentSlug": {
      "description": "The parent protocol's short name, the id in lending-protocols (aave).",
      "type": [
        "string",
        "null"
      ]
    },
    "productSlug": {
      "description": "The product or version within the parent protocol (aave-v3).",
      "type": [
        "string",
        "null"
      ]
    },
    "projectID": {
      "description": "The identifier of the parent protocol's project record.",
      "type": [
        "string",
        "null"
      ]
    },
    "protocolName": {
      "description": "The name of the protocol record mapped to the product; null when unmapped.",
      "type": [
        "string",
        "null"
      ]
    },
    "protocolSlug": {
      "description": "The slug of the protocol record mapped to the product; null when unmapped.",
      "type": [
        "string",
        "null"
      ]
    },
    "slug": {
      "description": "The parent protocol's project slug, the slug used for the same protocol across the API.",
      "type": [
        "string",
        "null"
      ]
    }
  },
  "type": "object"
}