{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/blockworks/json-schema/blockworks-lending-protocol-products-row-schema.json",
  "title": "LendingProtocolProductsRow",
  "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/LendingProtocolProductsRow",
  "properties": {
    "chain": {
      "description": "The short name of the chain the product runs on (ethereum, arbitrum, solana).",
      "type": [
        "string",
        "null"
      ]
    },
    "id": {
      "description": "The series key of the lending-protocols-by-product timeseries model, the parent protocol, product and chain joined with underscores (aave_aave-v3_arbitrum).",
      "type": [
        "string",
        "null"
      ]
    },
    "name": {
      "description": "The display name of the product, for example aave-v3 or the name of a single pool.",
      "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"
}