{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/vesper/refs/heads/main/json-schema/PoolDashboard.json",
  "title": "PoolDashboard",
  "description": "Pool dashboard object with contract, strategy, and reward details",
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Human-readable pool name",
      "example": "vaDAI"
    },
    "address": {
      "type": "string",
      "description": "Pool contract address",
      "example": "0x0C49066C0808Ee8c673553B7cbd99BCC9ABf113d"
    },
    "tokens": {
      "type": "array",
      "description": "Token contract addresses associated with the pool",
      "items": {
        "type": "string"
      }
    },
    "holderCount": {
      "type": "integer",
      "description": "Number of unique holders of pool tokens",
      "example": 1450
    },
    "strategies": {
      "type": "array",
      "description": "List of strategy contract objects",
      "items": {
        "type": "object",
        "properties": {
          "address": {
            "type": "string",
            "description": "Strategy contract address"
          },
          "tokens": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "makerVault": {
            "type": "object",
            "description": "MakerDAO vault details if applicable"
          }
        }
      }
    },
    "poolRewards": {
      "type": "object",
      "description": "Pool reward contract and token list",
      "properties": {
        "address": {
          "type": "string"
        },
        "tokens": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    },
    "status": {
      "type": "string",
      "description": "Operational status of the pool",
      "enum": ["operative", "paused"],
      "example": "operative"
    },
    "stage": {
      "type": "string",
      "description": "Lifecycle stage of the pool",
      "enum": ["alpha", "beta", "prod", "retired"],
      "example": "prod"
    }
  }
}
