{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "PeelSignal receipts (v1 to v4)",
  "oneOf": [
    {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "title": "PeelSignal receipt schema v1",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schemaVersion",
        "id",
        "mode",
        "fixture",
        "chainId",
        "address",
        "asset",
        "observedAt",
        "expiresAt",
        "block",
        "policyVersion",
        "coverageVersion",
        "panels",
        "sources",
        "unknowns",
        "evidence",
        "signature",
        "disclaimer"
      ],
      "properties": {
        "schemaVersion": {
          "const": "1"
        },
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "mode": {
          "enum": [
            "live",
            "demo"
          ]
        },
        "fixture": {
          "enum": [
            "canonical",
            "unknown",
            null
          ]
        },
        "chainId": {
          "const": 4663
        },
        "address": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{40}$"
        },
        "asset": {
          "type": [
            "object",
            "null"
          ],
          "additionalProperties": false,
          "required": [
            "symbol",
            "name"
          ],
          "properties": {
            "symbol": {
              "type": "string"
            },
            "name": {
              "type": "string"
            }
          }
        },
        "observedAt": {
          "type": "string",
          "format": "date-time"
        },
        "expiresAt": {
          "type": "string",
          "format": "date-time"
        },
        "block": {
          "type": [
            "object",
            "null"
          ],
          "required": [
            "number",
            "hash",
            "timestamp"
          ],
          "additionalProperties": false,
          "properties": {
            "number": {
              "type": "integer",
              "minimum": 0
            },
            "hash": {
              "type": "string",
              "pattern": "^0x[0-9a-fA-F]{64}$"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "policyVersion": {
          "type": "string"
        },
        "coverageVersion": {
          "type": "string"
        },
        "panels": {
          "type": "array",
          "minItems": 4,
          "maxItems": 4,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "key",
              "title",
              "status",
              "summary",
              "details",
              "sourceIds"
            ],
            "properties": {
              "key": {
                "enum": [
                  "provenance",
                  "price",
                  "exposure",
                  "eligibility"
                ]
              },
              "title": {
                "type": "string"
              },
              "status": {
                "enum": [
                  "Canonical",
                  "Unrecognized",
                  "Unknown",
                  "Fresh",
                  "Stale",
                  "Paused",
                  "Sequencer unavailable",
                  "Documented",
                  "Unsupported",
                  "Not confirmed"
                ]
              },
              "summary": {
                "type": "string"
              },
              "details": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "sourceIds": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "allOf": [
              {
                "if": {
                  "properties": {
                    "key": {
                      "const": "provenance"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "status": {
                      "enum": [
                        "Canonical",
                        "Unrecognized",
                        "Unknown"
                      ]
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "key": {
                      "const": "price"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "status": {
                      "enum": [
                        "Fresh",
                        "Stale",
                        "Paused",
                        "Sequencer unavailable",
                        "Unknown"
                      ]
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "key": {
                      "const": "exposure"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "status": {
                      "enum": [
                        "Documented",
                        "Unsupported",
                        "Unknown"
                      ]
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "key": {
                      "const": "eligibility"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "status": {
                      "enum": [
                        "Not confirmed"
                      ]
                    }
                  }
                }
              }
            ]
          }
        },
        "sources": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "id",
              "name",
              "url",
              "checkedAt",
              "status",
              "note"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "checkedAt": {
                "type": "string",
                "format": "date-time"
              },
              "status": {
                "enum": [
                  "available",
                  "unavailable",
                  "not configured"
                ]
              },
              "note": {
                "type": "string"
              }
            }
          }
        },
        "unknowns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "evidence": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "address",
            "mapping",
            "observedAt",
            "block",
            "registryState",
            "registryId",
            "codeExists",
            "uid",
            "tokenDecimals",
            "mappingCurrent",
            "paused",
            "feedDecimals",
            "feedDescription",
            "round",
            "sequencer",
            "sources"
          ],
          "properties": {
            "address": {
              "type": "string"
            },
            "mapping": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": false,
              "required": [
                "symbol",
                "name",
                "address",
                "assetId",
                "tokenDecimals",
                "feedAddress",
                "feedPath",
                "feedName",
                "feedDescription",
                "feedDecimals",
                "heartbeatSeconds",
                "exposure",
                "reviewedAt",
                "verifiedBlock"
              ],
              "properties": {
                "symbol": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "address": {
                  "type": "string"
                },
                "assetId": {
                  "type": "string"
                },
                "tokenDecimals": {
                  "type": "integer"
                },
                "feedAddress": {
                  "type": "string"
                },
                "feedPath": {
                  "type": "string"
                },
                "feedName": {
                  "type": "string"
                },
                "feedDescription": {
                  "type": "string"
                },
                "feedDecimals": {
                  "type": "integer"
                },
                "heartbeatSeconds": {
                  "type": "integer",
                  "minimum": 1
                },
                "exposure": {
                  "type": "string"
                },
                "reviewedAt": {
                  "type": "string"
                },
                "verifiedBlock": {
                  "type": "integer"
                }
              }
            },
            "observedAt": {
              "type": "string",
              "format": "date-time"
            },
            "block": {
              "type": [
                "object",
                "null"
              ],
              "required": [
                "number",
                "hash",
                "timestamp"
              ],
              "additionalProperties": false,
              "properties": {
                "number": {
                  "type": "integer",
                  "minimum": 0
                },
                "hash": {
                  "type": "string",
                  "pattern": "^0x[0-9a-fA-F]{64}$"
                },
                "timestamp": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "registryState": {
              "enum": [
                "match",
                "absent",
                "unavailable",
                "conflict"
              ]
            },
            "registryId": {
              "type": [
                "string",
                "null"
              ]
            },
            "codeExists": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "uid": {
              "type": [
                "string",
                "null"
              ]
            },
            "tokenDecimals": {
              "type": [
                "integer",
                "null"
              ]
            },
            "mappingCurrent": {
              "type": "boolean"
            },
            "paused": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "feedDecimals": {
              "type": [
                "integer",
                "null"
              ]
            },
            "feedDescription": {
              "type": [
                "string",
                "null"
              ]
            },
            "round": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": false,
              "required": [
                "roundId",
                "answer",
                "startedAt",
                "updatedAt",
                "answeredInRound"
              ],
              "properties": {
                "roundId": {
                  "type": "string"
                },
                "answer": {
                  "type": "string"
                },
                "startedAt": {
                  "type": "integer"
                },
                "updatedAt": {
                  "type": "integer"
                },
                "answeredInRound": {
                  "type": "string"
                }
              }
            },
            "sequencer": {
              "enum": [
                "up",
                "down",
                "recovering",
                "unknown"
              ]
            },
            "sources": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "id",
                  "name",
                  "url",
                  "checkedAt",
                  "status",
                  "note"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string"
                  },
                  "checkedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "status": {
                    "enum": [
                      "available",
                      "unavailable",
                      "not configured"
                    ]
                  },
                  "note": {
                    "type": "string"
                  }
                }
              }
            }
          }
        },
        "signature": {
          "type": "null"
        },
        "disclaimer": {
          "type": "string"
        }
      },
      "allOf": [
        {
          "if": {
            "properties": {
              "mode": {
                "const": "live"
              }
            }
          },
          "then": {
            "properties": {
              "fixture": {
                "type": "null"
              }
            }
          },
          "else": {
            "properties": {
              "fixture": {
                "enum": [
                  "canonical",
                  "unknown"
                ]
              }
            }
          }
        }
      ]
    },
    {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "title": "PeelSignal receipt schema v2",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schemaVersion",
        "id",
        "mode",
        "fixture",
        "chainId",
        "address",
        "asset",
        "observedAt",
        "expiresAt",
        "block",
        "policyVersion",
        "coverageVersion",
        "panels",
        "sources",
        "unknowns",
        "evidence",
        "signature",
        "disclaimer",
        "classification",
        "checks",
        "projectCoverageVersion"
      ],
      "properties": {
        "schemaVersion": {
          "const": "2"
        },
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "mode": {
          "enum": [
            "live",
            "demo"
          ]
        },
        "fixture": {
          "enum": [
            "canonical",
            "unknown",
            null
          ]
        },
        "chainId": {
          "const": 4663
        },
        "address": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{40}$"
        },
        "asset": {
          "type": [
            "object",
            "null"
          ],
          "additionalProperties": false,
          "required": [
            "symbol",
            "name"
          ],
          "properties": {
            "symbol": {
              "type": "string"
            },
            "name": {
              "type": "string"
            }
          }
        },
        "observedAt": {
          "type": "string",
          "format": "date-time"
        },
        "expiresAt": {
          "type": "string",
          "format": "date-time"
        },
        "block": {
          "type": [
            "object",
            "null"
          ],
          "required": [
            "number",
            "hash",
            "timestamp"
          ],
          "additionalProperties": false,
          "properties": {
            "number": {
              "type": "integer",
              "minimum": 0
            },
            "hash": {
              "type": "string",
              "pattern": "^0x[0-9a-fA-F]{64}$"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "policyVersion": {
          "type": "string"
        },
        "coverageVersion": {
          "type": "string"
        },
        "panels": {
          "type": "array",
          "minItems": 4,
          "maxItems": 4,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "key",
              "title",
              "status",
              "summary",
              "details",
              "sourceIds"
            ],
            "properties": {
              "key": {
                "enum": [
                  "provenance",
                  "price",
                  "exposure",
                  "eligibility"
                ]
              },
              "title": {
                "type": "string"
              },
              "status": {
                "enum": [
                  "Canonical",
                  "Unrecognized",
                  "Unknown",
                  "Fresh",
                  "Stale",
                  "Paused",
                  "Sequencer unavailable",
                  "Documented",
                  "Unsupported",
                  "Not confirmed"
                ]
              },
              "summary": {
                "type": "string"
              },
              "details": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "sourceIds": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "allOf": [
              {
                "if": {
                  "properties": {
                    "key": {
                      "const": "provenance"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "status": {
                      "enum": [
                        "Canonical",
                        "Unrecognized",
                        "Unknown"
                      ]
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "key": {
                      "const": "price"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "status": {
                      "enum": [
                        "Fresh",
                        "Stale",
                        "Paused",
                        "Sequencer unavailable",
                        "Unknown"
                      ]
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "key": {
                      "const": "exposure"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "status": {
                      "enum": [
                        "Documented",
                        "Unsupported",
                        "Unknown"
                      ]
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "key": {
                      "const": "eligibility"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "status": {
                      "enum": [
                        "Not confirmed"
                      ]
                    }
                  }
                }
              }
            ]
          }
        },
        "sources": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "id",
              "name",
              "url",
              "checkedAt",
              "status",
              "note"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "checkedAt": {
                "type": "string",
                "format": "date-time"
              },
              "status": {
                "enum": [
                  "available",
                  "unavailable",
                  "not configured"
                ]
              },
              "note": {
                "type": "string"
              }
            }
          }
        },
        "unknowns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "evidence": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "address",
            "mapping",
            "observedAt",
            "block",
            "registryState",
            "registryId",
            "codeExists",
            "uid",
            "tokenDecimals",
            "mappingCurrent",
            "paused",
            "feedDecimals",
            "feedDescription",
            "round",
            "sequencer",
            "sources",
            "tokenName",
            "tokenSymbol",
            "project"
          ],
          "properties": {
            "address": {
              "type": "string"
            },
            "mapping": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": false,
              "required": [
                "symbol",
                "name",
                "address",
                "assetId",
                "tokenDecimals",
                "feedAddress",
                "feedPath",
                "feedName",
                "feedDescription",
                "feedDecimals",
                "heartbeatSeconds",
                "exposure",
                "reviewedAt",
                "verifiedBlock"
              ],
              "properties": {
                "symbol": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "address": {
                  "type": "string"
                },
                "assetId": {
                  "type": "string"
                },
                "tokenDecimals": {
                  "type": "integer"
                },
                "feedAddress": {
                  "type": "string"
                },
                "feedPath": {
                  "type": "string"
                },
                "feedName": {
                  "type": "string"
                },
                "feedDescription": {
                  "type": "string"
                },
                "feedDecimals": {
                  "type": "integer"
                },
                "heartbeatSeconds": {
                  "type": "integer",
                  "minimum": 1
                },
                "exposure": {
                  "type": "string"
                },
                "reviewedAt": {
                  "type": "string"
                },
                "verifiedBlock": {
                  "type": "integer"
                }
              }
            },
            "observedAt": {
              "type": "string",
              "format": "date-time"
            },
            "block": {
              "type": [
                "object",
                "null"
              ],
              "required": [
                "number",
                "hash",
                "timestamp"
              ],
              "additionalProperties": false,
              "properties": {
                "number": {
                  "type": "integer",
                  "minimum": 0
                },
                "hash": {
                  "type": "string",
                  "pattern": "^0x[0-9a-fA-F]{64}$"
                },
                "timestamp": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "registryState": {
              "enum": [
                "match",
                "absent",
                "unavailable",
                "conflict"
              ]
            },
            "registryId": {
              "type": [
                "string",
                "null"
              ]
            },
            "codeExists": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "uid": {
              "type": [
                "string",
                "null"
              ]
            },
            "tokenDecimals": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": 0,
              "maximum": 255
            },
            "mappingCurrent": {
              "type": "boolean"
            },
            "paused": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "feedDecimals": {
              "type": [
                "integer",
                "null"
              ]
            },
            "feedDescription": {
              "type": [
                "string",
                "null"
              ]
            },
            "round": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": false,
              "required": [
                "roundId",
                "answer",
                "startedAt",
                "updatedAt",
                "answeredInRound"
              ],
              "properties": {
                "roundId": {
                  "type": "string"
                },
                "answer": {
                  "type": "string"
                },
                "startedAt": {
                  "type": "integer"
                },
                "updatedAt": {
                  "type": "integer"
                },
                "answeredInRound": {
                  "type": "string"
                }
              }
            },
            "sequencer": {
              "enum": [
                "up",
                "down",
                "recovering",
                "unknown"
              ]
            },
            "sources": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "id",
                  "name",
                  "url",
                  "checkedAt",
                  "status",
                  "note"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string"
                  },
                  "checkedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "status": {
                    "enum": [
                      "available",
                      "unavailable",
                      "not configured"
                    ]
                  },
                  "note": {
                    "type": "string"
                  }
                }
              }
            },
            "tokenName": {
              "type": [
                "string",
                "null"
              ],
              "maxLength": 128
            },
            "tokenSymbol": {
              "type": [
                "string",
                "null"
              ],
              "maxLength": 128
            },
            "project": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": false,
              "required": [
                "profile",
                "outcome",
                "sources"
              ],
              "properties": {
                "profile": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "name",
                    "symbol",
                    "chainId",
                    "address",
                    "website",
                    "websiteTokenSection",
                    "github",
                    "githubApi",
                    "x",
                    "reviewedAt",
                    "reviewNote"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "symbol": {
                      "type": "string"
                    },
                    "chainId": {
                      "const": 4663
                    },
                    "address": {
                      "type": "string",
                      "pattern": "^0x[0-9a-f]{40}$"
                    },
                    "website": {
                      "type": "string",
                      "format": "uri"
                    },
                    "websiteTokenSection": {
                      "type": "string"
                    },
                    "github": {
                      "type": "string",
                      "format": "uri"
                    },
                    "githubApi": {
                      "type": "string",
                      "format": "uri"
                    },
                    "x": {
                      "type": "string",
                      "format": "uri"
                    },
                    "reviewedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "reviewNote": {
                      "type": "string"
                    }
                  }
                },
                "outcome": {
                  "enum": [
                    "matched",
                    "conflict",
                    "incomplete",
                    "unavailable"
                  ]
                },
                "sources": {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "sourceId",
                      "url",
                      "checkedAt",
                      "state",
                      "addressMatch",
                      "chainMatch",
                      "linksMatch",
                      "publishedAddresses",
                      "contentHash",
                      "note"
                    ],
                    "properties": {
                      "sourceId": {
                        "enum": [
                          "project-website",
                          "project-github"
                        ]
                      },
                      "url": {
                        "type": "string",
                        "format": "uri"
                      },
                      "checkedAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "state": {
                        "enum": [
                          "match",
                          "mismatch",
                          "unavailable"
                        ]
                      },
                      "addressMatch": {
                        "type": [
                          "boolean",
                          "null"
                        ]
                      },
                      "chainMatch": {
                        "type": [
                          "boolean",
                          "null"
                        ]
                      },
                      "linksMatch": {
                        "type": [
                          "boolean",
                          "null"
                        ]
                      },
                      "publishedAddresses": {
                        "type": "array",
                        "maxItems": 100,
                        "items": {
                          "type": "string",
                          "pattern": "^0x[0-9a-f]{40}$"
                        }
                      },
                      "contentHash": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "pattern": "^sha256:[0-9a-f]{64}$"
                      },
                      "note": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "signature": {
          "type": "null"
        },
        "disclaimer": {
          "type": "string"
        },
        "projectCoverageVersion": {
          "type": "string"
        },
        "classification": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "kind",
            "reason",
            "sourceIds"
          ],
          "properties": {
            "kind": {
              "enum": [
                "issuer-stock-token",
                "project-token",
                "unclassified"
              ]
            },
            "reason": {
              "type": "string"
            },
            "sourceIds": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "checks": {
          "type": "array",
          "minItems": 7,
          "maxItems": 7,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "key",
              "applicability",
              "outcome",
              "reason",
              "sourceIds"
            ],
            "properties": {
              "key": {
                "enum": [
                  "contract",
                  "metadata",
                  "projectIdentity",
                  "stockIdentity",
                  "price",
                  "exposure",
                  "eligibility"
                ]
              },
              "applicability": {
                "enum": [
                  "applicable",
                  "not-applicable",
                  "unsupported"
                ]
              },
              "outcome": {
                "enum": [
                  "observed",
                  "not-found",
                  "unavailable",
                  "conflict",
                  "not-attempted",
                  "partial"
                ]
              },
              "reason": {
                "type": "string"
              },
              "sourceIds": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "allOf": [
        {
          "if": {
            "properties": {
              "mode": {
                "const": "live"
              }
            }
          },
          "then": {
            "properties": {
              "fixture": {
                "type": "null"
              }
            }
          },
          "else": {
            "properties": {
              "fixture": {
                "enum": [
                  "canonical",
                  "unknown"
                ]
              }
            }
          }
        }
      ]
    },
    {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "title": "PeelSignal receipt schema v3",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schemaVersion",
        "id",
        "mode",
        "fixture",
        "chainId",
        "address",
        "asset",
        "observedAt",
        "expiresAt",
        "block",
        "policyVersion",
        "coverageVersion",
        "panels",
        "sources",
        "unknowns",
        "evidence",
        "signature",
        "disclaimer",
        "classification",
        "checks",
        "projectCoverageVersion"
      ],
      "properties": {
        "schemaVersion": {
          "const": "3"
        },
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "mode": {
          "enum": [
            "live",
            "demo"
          ]
        },
        "fixture": {
          "enum": [
            "canonical",
            "unknown",
            null
          ]
        },
        "chainId": {
          "const": 4663
        },
        "address": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{40}$"
        },
        "asset": {
          "type": [
            "object",
            "null"
          ],
          "additionalProperties": false,
          "required": [
            "symbol",
            "name"
          ],
          "properties": {
            "symbol": {
              "type": "string"
            },
            "name": {
              "type": "string"
            }
          }
        },
        "observedAt": {
          "type": "string",
          "format": "date-time"
        },
        "expiresAt": {
          "type": "string",
          "format": "date-time"
        },
        "block": {
          "type": [
            "object",
            "null"
          ],
          "required": [
            "number",
            "hash",
            "timestamp"
          ],
          "additionalProperties": false,
          "properties": {
            "number": {
              "type": "integer",
              "minimum": 0
            },
            "hash": {
              "type": "string",
              "pattern": "^0x[0-9a-fA-F]{64}$"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "policyVersion": {
          "type": "string"
        },
        "coverageVersion": {
          "type": "string"
        },
        "panels": {
          "type": "array",
          "minItems": 4,
          "maxItems": 4,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "key",
              "title",
              "status",
              "summary",
              "details",
              "sourceIds"
            ],
            "properties": {
              "key": {
                "enum": [
                  "provenance",
                  "price",
                  "exposure",
                  "eligibility"
                ]
              },
              "title": {
                "type": "string"
              },
              "status": {
                "enum": [
                  "Canonical",
                  "Unrecognized",
                  "Unknown",
                  "Fresh",
                  "Stale",
                  "Paused",
                  "Sequencer unavailable",
                  "Documented",
                  "Unsupported",
                  "Not confirmed"
                ]
              },
              "summary": {
                "type": "string"
              },
              "details": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "sourceIds": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "allOf": [
              {
                "if": {
                  "properties": {
                    "key": {
                      "const": "provenance"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "status": {
                      "enum": [
                        "Canonical",
                        "Unrecognized",
                        "Unknown"
                      ]
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "key": {
                      "const": "price"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "status": {
                      "enum": [
                        "Fresh",
                        "Stale",
                        "Paused",
                        "Sequencer unavailable",
                        "Unknown"
                      ]
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "key": {
                      "const": "exposure"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "status": {
                      "enum": [
                        "Documented",
                        "Unsupported",
                        "Unknown"
                      ]
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "key": {
                      "const": "eligibility"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "status": {
                      "enum": [
                        "Not confirmed"
                      ]
                    }
                  }
                }
              }
            ]
          }
        },
        "sources": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "id",
              "name",
              "url",
              "checkedAt",
              "status",
              "note"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "checkedAt": {
                "type": "string",
                "format": "date-time"
              },
              "status": {
                "enum": [
                  "available",
                  "unavailable",
                  "not configured"
                ]
              },
              "note": {
                "type": "string"
              }
            }
          }
        },
        "unknowns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "evidence": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "address",
            "mapping",
            "observedAt",
            "block",
            "registryState",
            "registryId",
            "codeExists",
            "uid",
            "tokenDecimals",
            "mappingCurrent",
            "paused",
            "feedDecimals",
            "feedDescription",
            "round",
            "sequencer",
            "sources",
            "tokenName",
            "tokenSymbol",
            "project",
            "totalSupply",
            "discovery"
          ],
          "properties": {
            "address": {
              "type": "string"
            },
            "mapping": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": false,
              "required": [
                "symbol",
                "name",
                "address",
                "assetId",
                "tokenDecimals",
                "feedAddress",
                "feedPath",
                "feedName",
                "feedDescription",
                "feedDecimals",
                "heartbeatSeconds",
                "exposure",
                "reviewedAt",
                "verifiedBlock"
              ],
              "properties": {
                "symbol": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "address": {
                  "type": "string"
                },
                "assetId": {
                  "type": "string"
                },
                "tokenDecimals": {
                  "type": "integer"
                },
                "feedAddress": {
                  "type": "string"
                },
                "feedPath": {
                  "type": "string"
                },
                "feedName": {
                  "type": "string"
                },
                "feedDescription": {
                  "type": "string"
                },
                "feedDecimals": {
                  "type": "integer"
                },
                "heartbeatSeconds": {
                  "type": "integer",
                  "minimum": 1
                },
                "exposure": {
                  "type": "string"
                },
                "reviewedAt": {
                  "type": "string"
                },
                "verifiedBlock": {
                  "type": "integer"
                }
              }
            },
            "observedAt": {
              "type": "string",
              "format": "date-time"
            },
            "block": {
              "type": [
                "object",
                "null"
              ],
              "required": [
                "number",
                "hash",
                "timestamp"
              ],
              "additionalProperties": false,
              "properties": {
                "number": {
                  "type": "integer",
                  "minimum": 0
                },
                "hash": {
                  "type": "string",
                  "pattern": "^0x[0-9a-fA-F]{64}$"
                },
                "timestamp": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "registryState": {
              "enum": [
                "match",
                "absent",
                "unavailable",
                "conflict"
              ]
            },
            "registryId": {
              "type": [
                "string",
                "null"
              ]
            },
            "codeExists": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "uid": {
              "type": [
                "string",
                "null"
              ]
            },
            "tokenDecimals": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": 0,
              "maximum": 255
            },
            "mappingCurrent": {
              "type": "boolean"
            },
            "paused": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "feedDecimals": {
              "type": [
                "integer",
                "null"
              ]
            },
            "feedDescription": {
              "type": [
                "string",
                "null"
              ]
            },
            "round": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": false,
              "required": [
                "roundId",
                "answer",
                "startedAt",
                "updatedAt",
                "answeredInRound"
              ],
              "properties": {
                "roundId": {
                  "type": "string"
                },
                "answer": {
                  "type": "string"
                },
                "startedAt": {
                  "type": "integer"
                },
                "updatedAt": {
                  "type": "integer"
                },
                "answeredInRound": {
                  "type": "string"
                }
              }
            },
            "sequencer": {
              "enum": [
                "up",
                "down",
                "recovering",
                "unknown"
              ]
            },
            "sources": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "id",
                  "name",
                  "url",
                  "checkedAt",
                  "status",
                  "note"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string"
                  },
                  "checkedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "status": {
                    "enum": [
                      "available",
                      "unavailable",
                      "not configured"
                    ]
                  },
                  "note": {
                    "type": "string"
                  }
                }
              }
            },
            "tokenName": {
              "type": [
                "string",
                "null"
              ],
              "maxLength": 128
            },
            "tokenSymbol": {
              "type": [
                "string",
                "null"
              ],
              "maxLength": 128
            },
            "project": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": false,
              "required": [
                "profile",
                "outcome",
                "sources"
              ],
              "properties": {
                "profile": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "name",
                    "symbol",
                    "chainId",
                    "address",
                    "website",
                    "websiteTokenSection",
                    "github",
                    "githubApi",
                    "x",
                    "reviewedAt",
                    "reviewNote"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "symbol": {
                      "type": "string"
                    },
                    "chainId": {
                      "const": 4663
                    },
                    "address": {
                      "type": "string",
                      "pattern": "^0x[0-9a-f]{40}$"
                    },
                    "website": {
                      "type": "string",
                      "format": "uri"
                    },
                    "websiteTokenSection": {
                      "type": "string"
                    },
                    "github": {
                      "type": "string",
                      "format": "uri"
                    },
                    "githubApi": {
                      "type": "string",
                      "format": "uri"
                    },
                    "x": {
                      "type": "string",
                      "format": "uri"
                    },
                    "reviewedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "reviewNote": {
                      "type": "string"
                    }
                  }
                },
                "outcome": {
                  "enum": [
                    "matched",
                    "conflict",
                    "incomplete",
                    "unavailable"
                  ]
                },
                "sources": {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "sourceId",
                      "url",
                      "checkedAt",
                      "state",
                      "addressMatch",
                      "chainMatch",
                      "linksMatch",
                      "publishedAddresses",
                      "contentHash",
                      "note"
                    ],
                    "properties": {
                      "sourceId": {
                        "enum": [
                          "project-website",
                          "project-github"
                        ]
                      },
                      "url": {
                        "type": "string",
                        "format": "uri"
                      },
                      "checkedAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "state": {
                        "enum": [
                          "match",
                          "mismatch",
                          "unavailable"
                        ]
                      },
                      "addressMatch": {
                        "type": [
                          "boolean",
                          "null"
                        ]
                      },
                      "chainMatch": {
                        "type": [
                          "boolean",
                          "null"
                        ]
                      },
                      "linksMatch": {
                        "type": [
                          "boolean",
                          "null"
                        ]
                      },
                      "publishedAddresses": {
                        "type": "array",
                        "maxItems": 100,
                        "items": {
                          "type": "string",
                          "pattern": "^0x[0-9a-f]{40}$"
                        }
                      },
                      "contentHash": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "pattern": "^sha256:[0-9a-f]{64}$"
                      },
                      "note": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            },
            "totalSupply": {
              "type": [
                "string",
                "null"
              ],
              "pattern": "^(0|[1-9][0-9]{0,77})$"
            },
            "discovery": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": false,
              "required": [
                "chainId",
                "address",
                "explorer",
                "markets"
              ],
              "properties": {
                "chainId": {
                  "const": 4663
                },
                "address": {
                  "type": "string",
                  "pattern": "^0x[0-9a-f]{40}$"
                },
                "explorer": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "source",
                    "address",
                    "isContract",
                    "sourceVerified",
                    "contractName",
                    "creatorAddress",
                    "creationTransaction",
                    "proxyType",
                    "implementations",
                    "token"
                  ],
                  "properties": {
                    "source": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "sourceId",
                        "url",
                        "checkedAt",
                        "state",
                        "contentHash",
                        "note"
                      ],
                      "properties": {
                        "sourceId": {
                          "const": "explorer-address"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri",
                          "pattern": "^https://"
                        },
                        "checkedAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "state": {
                          "enum": [
                            "observed",
                            "not-found",
                            "unavailable",
                            "conflict"
                          ]
                        },
                        "contentHash": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "note": {
                          "type": "string"
                        }
                      }
                    },
                    "address": {
                      "type": "string",
                      "pattern": "^0x[0-9a-f]{40}$"
                    },
                    "isContract": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "sourceVerified": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "contractName": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "creatorAddress": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "pattern": "^0x[0-9a-f]{40}$"
                    },
                    "creationTransaction": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "pattern": "^0x[0-9a-f]{64}$"
                    },
                    "proxyType": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "implementations": {
                      "type": "array",
                      "maxItems": 10,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "address",
                          "name"
                        ],
                        "properties": {
                          "address": {
                            "type": "string",
                            "pattern": "^0x[0-9a-f]{40}$"
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "token": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "additionalProperties": false,
                      "required": [
                        "name",
                        "symbol",
                        "decimals",
                        "type",
                        "totalSupply",
                        "holdersCount"
                      ],
                      "properties": {
                        "name": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "symbol": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "decimals": {
                          "type": [
                            "integer",
                            "null"
                          ],
                          "minimum": 0,
                          "maximum": 255
                        },
                        "type": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "totalSupply": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "pattern": "^(0|[1-9][0-9]{0,77})$"
                        },
                        "holdersCount": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "pattern": "^(0|[1-9][0-9]{0,77})$"
                        }
                      }
                    }
                  }
                },
                "markets": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "source",
                    "matchedPairs",
                    "truncated",
                    "pairs",
                    "links"
                  ],
                  "properties": {
                    "source": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "sourceId",
                        "url",
                        "checkedAt",
                        "state",
                        "contentHash",
                        "note"
                      ],
                      "properties": {
                        "sourceId": {
                          "const": "dexscreener-pairs"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri",
                          "pattern": "^https://"
                        },
                        "checkedAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "state": {
                          "enum": [
                            "observed",
                            "not-found",
                            "unavailable",
                            "conflict"
                          ]
                        },
                        "contentHash": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "note": {
                          "type": "string"
                        }
                      }
                    },
                    "matchedPairs": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "truncated": {
                      "type": "boolean"
                    },
                    "pairs": {
                      "type": "array",
                      "maxItems": 12,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "pairAddress",
                          "url",
                          "dex",
                          "labels",
                          "tokenSide",
                          "baseToken",
                          "quoteToken",
                          "priceUsd",
                          "liquidityUsd",
                          "volume24hUsd",
                          "priceChange24hPercent",
                          "buys24h",
                          "sells24h",
                          "pairCreatedAt"
                        ],
                        "properties": {
                          "pairAddress": {
                            "type": "string",
                            "pattern": "^0x([0-9a-f]{40}|[0-9a-f]{64})$"
                          },
                          "url": {
                            "type": "string",
                            "format": "uri",
                            "pattern": "^https://"
                          },
                          "dex": {
                            "type": "string"
                          },
                          "labels": {
                            "type": "array",
                            "maxItems": 10,
                            "items": {
                              "type": "string"
                            }
                          },
                          "tokenSide": {
                            "enum": [
                              "base",
                              "quote"
                            ]
                          },
                          "baseToken": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "address",
                              "name",
                              "symbol"
                            ],
                            "properties": {
                              "address": {
                                "type": "string",
                                "pattern": "^0x[0-9a-f]{40}$"
                              },
                              "name": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "symbol": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          },
                          "quoteToken": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "address",
                              "name",
                              "symbol"
                            ],
                            "properties": {
                              "address": {
                                "type": "string",
                                "pattern": "^0x[0-9a-f]{40}$"
                              },
                              "name": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "symbol": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          },
                          "priceUsd": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "pattern": "^[0-9]+(\\.[0-9]+)?$"
                          },
                          "liquidityUsd": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "minimum": 0
                          },
                          "volume24hUsd": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "minimum": 0
                          },
                          "priceChange24hPercent": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "buys24h": {
                            "type": [
                              "integer",
                              "null"
                            ],
                            "minimum": 0
                          },
                          "sells24h": {
                            "type": [
                              "integer",
                              "null"
                            ],
                            "minimum": 0
                          },
                          "pairCreatedAt": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date-time"
                          }
                        }
                      }
                    },
                    "links": {
                      "type": "array",
                      "maxItems": 12,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "label",
                          "url",
                          "sourceId"
                        ],
                        "properties": {
                          "kind": {
                            "enum": [
                              "website",
                              "social"
                            ]
                          },
                          "label": {
                            "type": "string"
                          },
                          "url": {
                            "type": "string",
                            "format": "uri",
                            "pattern": "^https://"
                          },
                          "sourceId": {
                            "const": "dexscreener-pairs"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "signature": {
          "type": "null"
        },
        "disclaimer": {
          "type": "string"
        },
        "projectCoverageVersion": {
          "type": "string"
        },
        "classification": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "kind",
            "reason",
            "sourceIds"
          ],
          "properties": {
            "kind": {
              "enum": [
                "issuer-stock-token",
                "project-token",
                "unclassified"
              ]
            },
            "reason": {
              "type": "string"
            },
            "sourceIds": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "checks": {
          "type": "array",
          "minItems": 9,
          "maxItems": 9,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "key",
              "applicability",
              "outcome",
              "reason",
              "sourceIds"
            ],
            "properties": {
              "key": {
                "enum": [
                  "contract",
                  "metadata",
                  "projectIdentity",
                  "stockIdentity",
                  "price",
                  "exposure",
                  "eligibility",
                  "explorer",
                  "markets"
                ]
              },
              "applicability": {
                "enum": [
                  "applicable",
                  "not-applicable",
                  "unsupported"
                ]
              },
              "outcome": {
                "enum": [
                  "observed",
                  "not-found",
                  "unavailable",
                  "conflict",
                  "not-attempted",
                  "partial"
                ]
              },
              "reason": {
                "type": "string"
              },
              "sourceIds": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        }
      },
      "allOf": [
        {
          "if": {
            "properties": {
              "mode": {
                "const": "live"
              }
            }
          },
          "then": {
            "properties": {
              "fixture": {
                "type": "null"
              }
            }
          },
          "else": {
            "properties": {
              "fixture": {
                "enum": [
                  "canonical",
                  "unknown"
                ]
              }
            }
          }
        }
      ]
    },
    {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "title": "PeelSignal receipt schema v4",
      "type": "object",
      "additionalProperties": false,
      "required": [
        "schemaVersion",
        "id",
        "mode",
        "fixture",
        "chainId",
        "address",
        "asset",
        "observedAt",
        "expiresAt",
        "block",
        "policyVersion",
        "coverageVersion",
        "panels",
        "sources",
        "unknowns",
        "evidence",
        "signature",
        "disclaimer",
        "classification",
        "checks",
        "projectCoverageVersion",
        "notAssessed",
        "summary"
      ],
      "properties": {
        "schemaVersion": {
          "const": "4"
        },
        "id": {
          "type": "string",
          "format": "uuid"
        },
        "mode": {
          "enum": [
            "live",
            "demo"
          ]
        },
        "fixture": {
          "enum": [
            "canonical",
            "unknown",
            null
          ]
        },
        "chainId": {
          "const": 4663
        },
        "address": {
          "type": "string",
          "pattern": "^0x[0-9a-f]{40}$"
        },
        "asset": {
          "type": [
            "object",
            "null"
          ],
          "additionalProperties": false,
          "required": [
            "symbol",
            "name"
          ],
          "properties": {
            "symbol": {
              "type": "string"
            },
            "name": {
              "type": "string"
            }
          }
        },
        "observedAt": {
          "type": "string",
          "format": "date-time"
        },
        "expiresAt": {
          "type": "string",
          "format": "date-time"
        },
        "block": {
          "type": [
            "object",
            "null"
          ],
          "required": [
            "number",
            "hash",
            "timestamp"
          ],
          "additionalProperties": false,
          "properties": {
            "number": {
              "type": "integer",
              "minimum": 0
            },
            "hash": {
              "type": "string",
              "pattern": "^0x[0-9a-fA-F]{64}$"
            },
            "timestamp": {
              "type": "string",
              "format": "date-time"
            }
          }
        },
        "policyVersion": {
          "type": "string"
        },
        "coverageVersion": {
          "type": "string"
        },
        "panels": {
          "type": "array",
          "minItems": 4,
          "maxItems": 4,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "key",
              "title",
              "status",
              "summary",
              "details",
              "sourceIds"
            ],
            "properties": {
              "key": {
                "enum": [
                  "provenance",
                  "price",
                  "exposure",
                  "eligibility"
                ]
              },
              "title": {
                "type": "string"
              },
              "status": {
                "enum": [
                  "Canonical",
                  "Unrecognized",
                  "Unknown",
                  "Fresh",
                  "Stale",
                  "Paused",
                  "Sequencer unavailable",
                  "Documented",
                  "Unsupported",
                  "Not confirmed"
                ]
              },
              "summary": {
                "type": "string"
              },
              "details": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              },
              "sourceIds": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            },
            "allOf": [
              {
                "if": {
                  "properties": {
                    "key": {
                      "const": "provenance"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "status": {
                      "enum": [
                        "Canonical",
                        "Unrecognized",
                        "Unknown"
                      ]
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "key": {
                      "const": "price"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "status": {
                      "enum": [
                        "Fresh",
                        "Stale",
                        "Paused",
                        "Sequencer unavailable",
                        "Unknown"
                      ]
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "key": {
                      "const": "exposure"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "status": {
                      "enum": [
                        "Documented",
                        "Unsupported",
                        "Unknown"
                      ]
                    }
                  }
                }
              },
              {
                "if": {
                  "properties": {
                    "key": {
                      "const": "eligibility"
                    }
                  }
                },
                "then": {
                  "properties": {
                    "status": {
                      "enum": [
                        "Not confirmed"
                      ]
                    }
                  }
                }
              }
            ]
          }
        },
        "sources": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "id",
              "name",
              "url",
              "checkedAt",
              "status",
              "note"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "checkedAt": {
                "type": "string",
                "format": "date-time"
              },
              "status": {
                "enum": [
                  "available",
                  "unavailable",
                  "not configured"
                ]
              },
              "note": {
                "type": "string"
              }
            }
          }
        },
        "unknowns": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "evidence": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "address",
            "mapping",
            "observedAt",
            "block",
            "registryState",
            "registryId",
            "codeExists",
            "uid",
            "tokenDecimals",
            "mappingCurrent",
            "paused",
            "feedDecimals",
            "feedDescription",
            "round",
            "sequencer",
            "sources",
            "tokenName",
            "tokenSymbol",
            "project",
            "totalSupply",
            "discovery",
            "control"
          ],
          "properties": {
            "address": {
              "type": "string"
            },
            "mapping": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": false,
              "required": [
                "symbol",
                "name",
                "address",
                "assetId",
                "tokenDecimals",
                "feedAddress",
                "feedPath",
                "feedName",
                "feedDescription",
                "feedDecimals",
                "heartbeatSeconds",
                "exposure",
                "reviewedAt",
                "verifiedBlock"
              ],
              "properties": {
                "symbol": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "address": {
                  "type": "string"
                },
                "assetId": {
                  "type": "string"
                },
                "tokenDecimals": {
                  "type": "integer"
                },
                "feedAddress": {
                  "type": "string"
                },
                "feedPath": {
                  "type": "string"
                },
                "feedName": {
                  "type": "string"
                },
                "feedDescription": {
                  "type": "string"
                },
                "feedDecimals": {
                  "type": "integer"
                },
                "heartbeatSeconds": {
                  "type": "integer",
                  "minimum": 1
                },
                "exposure": {
                  "type": "string"
                },
                "reviewedAt": {
                  "type": "string"
                },
                "verifiedBlock": {
                  "type": "integer"
                }
              }
            },
            "observedAt": {
              "type": "string",
              "format": "date-time"
            },
            "block": {
              "type": [
                "object",
                "null"
              ],
              "required": [
                "number",
                "hash",
                "timestamp"
              ],
              "additionalProperties": false,
              "properties": {
                "number": {
                  "type": "integer",
                  "minimum": 0
                },
                "hash": {
                  "type": "string",
                  "pattern": "^0x[0-9a-fA-F]{64}$"
                },
                "timestamp": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            },
            "registryState": {
              "enum": [
                "match",
                "absent",
                "unavailable",
                "conflict"
              ]
            },
            "registryId": {
              "type": [
                "string",
                "null"
              ]
            },
            "codeExists": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "uid": {
              "type": [
                "string",
                "null"
              ]
            },
            "tokenDecimals": {
              "type": [
                "integer",
                "null"
              ],
              "minimum": 0,
              "maximum": 255
            },
            "mappingCurrent": {
              "type": "boolean"
            },
            "paused": {
              "type": [
                "boolean",
                "null"
              ]
            },
            "feedDecimals": {
              "type": [
                "integer",
                "null"
              ]
            },
            "feedDescription": {
              "type": [
                "string",
                "null"
              ]
            },
            "round": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": false,
              "required": [
                "roundId",
                "answer",
                "startedAt",
                "updatedAt",
                "answeredInRound"
              ],
              "properties": {
                "roundId": {
                  "type": "string"
                },
                "answer": {
                  "type": "string"
                },
                "startedAt": {
                  "type": "integer"
                },
                "updatedAt": {
                  "type": "integer"
                },
                "answeredInRound": {
                  "type": "string"
                }
              }
            },
            "sequencer": {
              "enum": [
                "up",
                "down",
                "recovering",
                "unknown"
              ]
            },
            "sources": {
              "type": "array",
              "items": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "id",
                  "name",
                  "url",
                  "checkedAt",
                  "status",
                  "note"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "name": {
                    "type": "string"
                  },
                  "url": {
                    "type": "string"
                  },
                  "checkedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "status": {
                    "enum": [
                      "available",
                      "unavailable",
                      "not configured"
                    ]
                  },
                  "note": {
                    "type": "string"
                  }
                }
              }
            },
            "tokenName": {
              "type": [
                "string",
                "null"
              ],
              "maxLength": 128
            },
            "tokenSymbol": {
              "type": [
                "string",
                "null"
              ],
              "maxLength": 128
            },
            "project": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": false,
              "required": [
                "profile",
                "outcome",
                "sources"
              ],
              "properties": {
                "profile": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "name",
                    "symbol",
                    "chainId",
                    "address",
                    "website",
                    "websiteTokenSection",
                    "github",
                    "githubApi",
                    "x",
                    "reviewedAt",
                    "reviewNote"
                  ],
                  "properties": {
                    "id": {
                      "type": "string"
                    },
                    "name": {
                      "type": "string"
                    },
                    "symbol": {
                      "type": "string"
                    },
                    "chainId": {
                      "const": 4663
                    },
                    "address": {
                      "type": "string",
                      "pattern": "^0x[0-9a-f]{40}$"
                    },
                    "website": {
                      "type": "string",
                      "format": "uri"
                    },
                    "websiteTokenSection": {
                      "type": "string"
                    },
                    "github": {
                      "type": "string",
                      "format": "uri"
                    },
                    "githubApi": {
                      "type": "string",
                      "format": "uri"
                    },
                    "x": {
                      "type": "string",
                      "format": "uri"
                    },
                    "reviewedAt": {
                      "type": "string",
                      "format": "date-time"
                    },
                    "reviewNote": {
                      "type": "string"
                    }
                  }
                },
                "outcome": {
                  "enum": [
                    "matched",
                    "conflict",
                    "incomplete",
                    "unavailable"
                  ]
                },
                "sources": {
                  "type": "array",
                  "minItems": 2,
                  "maxItems": 2,
                  "items": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "sourceId",
                      "url",
                      "checkedAt",
                      "state",
                      "addressMatch",
                      "chainMatch",
                      "linksMatch",
                      "publishedAddresses",
                      "contentHash",
                      "note"
                    ],
                    "properties": {
                      "sourceId": {
                        "enum": [
                          "project-website",
                          "project-github"
                        ]
                      },
                      "url": {
                        "type": "string",
                        "format": "uri"
                      },
                      "checkedAt": {
                        "type": "string",
                        "format": "date-time"
                      },
                      "state": {
                        "enum": [
                          "match",
                          "mismatch",
                          "unavailable"
                        ]
                      },
                      "addressMatch": {
                        "type": [
                          "boolean",
                          "null"
                        ]
                      },
                      "chainMatch": {
                        "type": [
                          "boolean",
                          "null"
                        ]
                      },
                      "linksMatch": {
                        "type": [
                          "boolean",
                          "null"
                        ]
                      },
                      "publishedAddresses": {
                        "type": "array",
                        "maxItems": 100,
                        "items": {
                          "type": "string",
                          "pattern": "^0x[0-9a-f]{40}$"
                        }
                      },
                      "contentHash": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "pattern": "^sha256:[0-9a-f]{64}$"
                      },
                      "note": {
                        "type": "string"
                      }
                    }
                  }
                }
              }
            },
            "totalSupply": {
              "type": [
                "string",
                "null"
              ],
              "pattern": "^(0|[1-9][0-9]{0,77})$"
            },
            "discovery": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": false,
              "required": [
                "chainId",
                "address",
                "explorer",
                "markets",
                "holders"
              ],
              "properties": {
                "chainId": {
                  "const": 4663
                },
                "address": {
                  "type": "string",
                  "pattern": "^0x[0-9a-f]{40}$"
                },
                "explorer": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "source",
                    "address",
                    "isContract",
                    "sourceVerified",
                    "contractName",
                    "creatorAddress",
                    "creationTransaction",
                    "proxyType",
                    "implementations",
                    "token"
                  ],
                  "properties": {
                    "source": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "sourceId",
                        "url",
                        "checkedAt",
                        "state",
                        "contentHash",
                        "note"
                      ],
                      "properties": {
                        "sourceId": {
                          "const": "explorer-address"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri",
                          "pattern": "^https://"
                        },
                        "checkedAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "state": {
                          "enum": [
                            "observed",
                            "not-found",
                            "unavailable",
                            "conflict"
                          ]
                        },
                        "contentHash": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "note": {
                          "type": "string"
                        }
                      }
                    },
                    "address": {
                      "type": "string",
                      "pattern": "^0x[0-9a-f]{40}$"
                    },
                    "isContract": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "sourceVerified": {
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "contractName": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "creatorAddress": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "pattern": "^0x[0-9a-f]{40}$"
                    },
                    "creationTransaction": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "pattern": "^0x[0-9a-f]{64}$"
                    },
                    "proxyType": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "implementations": {
                      "type": "array",
                      "maxItems": 10,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "address",
                          "name"
                        ],
                        "properties": {
                          "address": {
                            "type": "string",
                            "pattern": "^0x[0-9a-f]{40}$"
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          }
                        }
                      }
                    },
                    "token": {
                      "type": [
                        "object",
                        "null"
                      ],
                      "additionalProperties": false,
                      "required": [
                        "name",
                        "symbol",
                        "decimals",
                        "type",
                        "totalSupply",
                        "holdersCount"
                      ],
                      "properties": {
                        "name": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "symbol": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "decimals": {
                          "type": [
                            "integer",
                            "null"
                          ],
                          "minimum": 0,
                          "maximum": 255
                        },
                        "type": {
                          "type": [
                            "string",
                            "null"
                          ]
                        },
                        "totalSupply": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "pattern": "^(0|[1-9][0-9]{0,77})$"
                        },
                        "holdersCount": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "pattern": "^(0|[1-9][0-9]{0,77})$"
                        }
                      }
                    }
                  }
                },
                "markets": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "source",
                    "matchedPairs",
                    "truncated",
                    "pairs",
                    "links"
                  ],
                  "properties": {
                    "source": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "sourceId",
                        "url",
                        "checkedAt",
                        "state",
                        "contentHash",
                        "note"
                      ],
                      "properties": {
                        "sourceId": {
                          "const": "dexscreener-pairs"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri",
                          "pattern": "^https://"
                        },
                        "checkedAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "state": {
                          "enum": [
                            "observed",
                            "not-found",
                            "unavailable",
                            "conflict"
                          ]
                        },
                        "contentHash": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "note": {
                          "type": "string"
                        }
                      }
                    },
                    "matchedPairs": {
                      "type": "integer",
                      "minimum": 0
                    },
                    "truncated": {
                      "type": "boolean"
                    },
                    "pairs": {
                      "type": "array",
                      "maxItems": 12,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "pairAddress",
                          "url",
                          "dex",
                          "labels",
                          "tokenSide",
                          "baseToken",
                          "quoteToken",
                          "priceUsd",
                          "liquidityUsd",
                          "volume24hUsd",
                          "priceChange24hPercent",
                          "buys24h",
                          "sells24h",
                          "pairCreatedAt"
                        ],
                        "properties": {
                          "pairAddress": {
                            "type": "string",
                            "pattern": "^0x([0-9a-f]{40}|[0-9a-f]{64})$"
                          },
                          "url": {
                            "type": "string",
                            "format": "uri",
                            "pattern": "^https://"
                          },
                          "dex": {
                            "type": "string"
                          },
                          "labels": {
                            "type": "array",
                            "maxItems": 10,
                            "items": {
                              "type": "string"
                            }
                          },
                          "tokenSide": {
                            "enum": [
                              "base",
                              "quote"
                            ]
                          },
                          "baseToken": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "address",
                              "name",
                              "symbol"
                            ],
                            "properties": {
                              "address": {
                                "type": "string",
                                "pattern": "^0x[0-9a-f]{40}$"
                              },
                              "name": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "symbol": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          },
                          "quoteToken": {
                            "type": "object",
                            "additionalProperties": false,
                            "required": [
                              "address",
                              "name",
                              "symbol"
                            ],
                            "properties": {
                              "address": {
                                "type": "string",
                                "pattern": "^0x[0-9a-f]{40}$"
                              },
                              "name": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              },
                              "symbol": {
                                "type": [
                                  "string",
                                  "null"
                                ]
                              }
                            }
                          },
                          "priceUsd": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "pattern": "^[0-9]+(\\.[0-9]+)?$"
                          },
                          "liquidityUsd": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "minimum": 0
                          },
                          "volume24hUsd": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "minimum": 0
                          },
                          "priceChange24hPercent": {
                            "type": [
                              "number",
                              "null"
                            ]
                          },
                          "buys24h": {
                            "type": [
                              "integer",
                              "null"
                            ],
                            "minimum": 0
                          },
                          "sells24h": {
                            "type": [
                              "integer",
                              "null"
                            ],
                            "minimum": 0
                          },
                          "pairCreatedAt": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "format": "date-time"
                          }
                        }
                      }
                    },
                    "links": {
                      "type": "array",
                      "maxItems": 12,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "kind",
                          "label",
                          "url",
                          "sourceId"
                        ],
                        "properties": {
                          "kind": {
                            "enum": [
                              "website",
                              "social"
                            ]
                          },
                          "label": {
                            "type": "string"
                          },
                          "url": {
                            "type": "string",
                            "format": "uri",
                            "pattern": "^https://"
                          },
                          "sourceId": {
                            "const": "dexscreener-pairs"
                          }
                        }
                      }
                    }
                  }
                },
                "holders": {
                  "type": "object",
                  "additionalProperties": false,
                  "required": [
                    "source",
                    "totalSupply",
                    "totalSupplySourceId",
                    "top",
                    "topSharePercent"
                  ],
                  "properties": {
                    "source": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "sourceId",
                        "url",
                        "checkedAt",
                        "state",
                        "contentHash",
                        "note"
                      ],
                      "properties": {
                        "sourceId": {
                          "const": "explorer-holders"
                        },
                        "url": {
                          "type": "string",
                          "format": "uri",
                          "pattern": "^https://"
                        },
                        "checkedAt": {
                          "type": "string",
                          "format": "date-time"
                        },
                        "state": {
                          "enum": [
                            "observed",
                            "not-found",
                            "unavailable",
                            "conflict"
                          ]
                        },
                        "contentHash": {
                          "type": [
                            "string",
                            "null"
                          ],
                          "pattern": "^sha256:[0-9a-f]{64}$"
                        },
                        "note": {
                          "type": "string"
                        }
                      }
                    },
                    "totalSupply": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "pattern": "^(0|[1-9][0-9]{0,77})$"
                    },
                    "totalSupplySourceId": {
                      "enum": [
                        "explorer-address",
                        "explorer-holders",
                        null
                      ]
                    },
                    "top": {
                      "type": "array",
                      "maxItems": 10,
                      "items": {
                        "type": "object",
                        "additionalProperties": false,
                        "required": [
                          "address",
                          "value",
                          "sharePercent"
                        ],
                        "properties": {
                          "address": {
                            "type": "string",
                            "pattern": "^0x[0-9a-f]{40}$"
                          },
                          "value": {
                            "type": "string",
                            "pattern": "^(0|[1-9][0-9]{0,77})$"
                          },
                          "sharePercent": {
                            "type": [
                              "number",
                              "null"
                            ],
                            "minimum": 0,
                            "maximum": 100
                          }
                        }
                      }
                    },
                    "topSharePercent": {
                      "type": [
                        "number",
                        "null"
                      ],
                      "minimum": 0,
                      "maximum": 100
                    }
                  }
                }
              }
            },
            "control": {
              "type": [
                "object",
                "null"
              ],
              "additionalProperties": false,
              "required": [
                "unavailable",
                "owner",
                "implementation",
                "admin",
                "beacon",
                "erc721",
                "erc1155"
              ],
              "properties": {
                "unavailable": {
                  "type": "array",
                  "maxItems": 6,
                  "uniqueItems": true,
                  "items": {
                    "enum": [
                      "owner",
                      "implementation",
                      "admin",
                      "beacon",
                      "erc721",
                      "erc1155"
                    ]
                  }
                },
                "owner": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "pattern": "^0x[0-9a-f]{40}$"
                },
                "implementation": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "pattern": "^0x[0-9a-f]{40}$"
                },
                "admin": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "pattern": "^0x[0-9a-f]{40}$"
                },
                "beacon": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "pattern": "^0x[0-9a-f]{40}$"
                },
                "erc721": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "erc1155": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                }
              }
            }
          }
        },
        "signature": {
          "type": "null"
        },
        "disclaimer": {
          "type": "string"
        },
        "projectCoverageVersion": {
          "type": "string"
        },
        "classification": {
          "type": "object",
          "additionalProperties": false,
          "required": [
            "kind",
            "reason",
            "sourceIds"
          ],
          "properties": {
            "kind": {
              "enum": [
                "issuer-stock-token",
                "project-token",
                "unclassified"
              ]
            },
            "reason": {
              "type": "string"
            },
            "sourceIds": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          }
        },
        "checks": {
          "type": "array",
          "minItems": 11,
          "maxItems": 11,
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "key",
              "applicability",
              "outcome",
              "reason",
              "sourceIds"
            ],
            "properties": {
              "key": {
                "enum": [
                  "contract",
                  "metadata",
                  "projectIdentity",
                  "stockIdentity",
                  "price",
                  "exposure",
                  "eligibility",
                  "explorer",
                  "markets",
                  "control",
                  "holders"
                ]
              },
              "applicability": {
                "enum": [
                  "applicable",
                  "not-applicable",
                  "unsupported"
                ]
              },
              "outcome": {
                "enum": [
                  "observed",
                  "not-found",
                  "unavailable",
                  "conflict",
                  "not-attempted",
                  "partial"
                ]
              },
              "reason": {
                "type": "string"
              },
              "sourceIds": {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            }
          }
        },
        "notAssessed": {
          "type": "array",
          "minItems": 1,
          "items": {
            "type": "string"
          }
        },
        "summary": {
          "type": "string",
          "minLength": 1,
          "maxLength": 600
        }
      },
      "allOf": [
        {
          "if": {
            "properties": {
              "mode": {
                "const": "live"
              }
            }
          },
          "then": {
            "properties": {
              "fixture": {
                "type": "null"
              }
            }
          },
          "else": {
            "properties": {
              "fixture": {
                "enum": [
                  "canonical",
                  "unknown"
                ]
              }
            }
          }
        }
      ]
    }
  ]
}
