{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/crawlhive-xyz/json-schema/crawlhive-xyz-operator-report-schema.json",
  "title": "OperatorReport",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/crawlhive-xyz-brain-openapi.yml#/components/schemas/OperatorReport",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "wallets": {
      "type": "integer"
    },
    "members": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "up to 200 wallets"
    },
    "tokens": {
      "type": "integer"
    },
    "chains": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "roles": {
      "$ref": "#/$defs/Roles"
    },
    "outcomes": {
      "$ref": "#/$defs/Outcomes"
    },
    "dumpRate": {
      "type": [
        "number",
        "null"
      ]
    },
    "baselineDumpRate": {
      "type": [
        "number",
        "null"
      ]
    },
    "firstSeen": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "lastSeen": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time"
    },
    "linkedBy": {
      "type": "string",
      "description": "bundles or dev money (strong), or mostly shared funders"
    },
    "coins": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string"
          },
          "symbol": {
            "type": [
              "string",
              "null"
            ]
          },
          "verdict": {
            "type": [
              "string",
              "null"
            ]
          },
          "outcome": {
            "$ref": "#/$defs/Outcome"
          },
          "at": {
            "type": [
              "integer",
              "null"
            ],
            "description": "ms timestamp"
          }
        }
      }
    },
    "notes": {
      "type": "string"
    }
  },
  "$defs": {
    "Outcome": {
      "type": "string",
      "enum": [
        "rugged",
        "dumped",
        "survived",
        "open",
        "untracked"
      ]
    },
    "Outcomes": {
      "type": "object",
      "properties": {
        "settled": {
          "type": "integer",
          "description": "dumped + survived"
        },
        "dumped": {
          "type": "integer",
          "description": "rugs included"
        },
        "rugged": {
          "type": "integer"
        },
        "survived": {
          "type": "integer"
        },
        "open": {
          "type": "integer",
          "description": "tracked",
          "less than 24h old": null
        },
        "untracked": {
          "type": "integer",
          "description": "the swarm did not follow this token's price"
        }
      }
    },
    "Roles": {
      "type": "object",
      "description": "count of tokens per role",
      "additionalProperties": {
        "type": "integer"
      }
    }
  }
}