{
  "schemaVersion": 1,
  "currency": "ALTS",
  "reportDate": "2026-09-20",
  "generatedAt": "2026-09-20T16:32:37+00:00",
  "currentSnapshotAt": "2026-09-20T16:30:00+00:00",
  "comparisonCutoffAt": "2026-09-20T16:30:00+00:00",
  "headline": "Altcoin options volatility dispersion widens as AVAX pulls away from TRX",
  "standfirst": "Altcoin one-week ATM IV dispersion widened 13.25 volatility points to 62.19 points, an observed high, as AVAX one-week ATM IV rose 10.37 points to 77.42% while TRX one-week ATM IV fell 2.88 points to 15.23%. The resulting gap makes the complex markedly less uniform, with AVAX retaining the highest implied-volatility level and TRX the lowest.",
  "marketSummary": "AVAX drove a sharp cross-sectional split at the cutoff: AVAX one-week ATM IV rose 10.37 volatility points to 77.42%, while TRX one-week ATM IV fell 2.88 volatility points to 15.23%. Derivasys data put the resulting 62.19-point one-week ATM IV level spread at an observed high.",
  "rows": [
    {
      "asset": "XRP",
      "currentSnapshotAt": "2026-09-20T16:30:00+00:00",
      "previousSnapshotAt": "2026-09-19T16:30:00+00:00",
      "comparisonStatus": "available",
      "comparisonNote": null,
      "rejectedPreviousSnapshotAt": null,
      "currentListedExpiries": 6,
      "comparedListedExpiries": 5,
      "tenors": [
        {
          "tenor": "1W",
          "availability": "available",
          "unavailableReason": null,
          "atmIv": {
            "current": 61.88,
            "previous": 60.29,
            "change": 1.59,
            "percentChange": 2.64
          },
          "rr25": {
            "current": 5.53,
            "previous": 0.54,
            "change": 4.99,
            "percentChange": 924.07
          },
          "bf25": {
            "current": 4.81,
            "previous": 5.3,
            "change": -0.49,
            "percentChange": -9.25
          }
        },
        {
          "tenor": "2W",
          "availability": "available",
          "unavailableReason": null,
          "atmIv": {
            "current": 59.75,
            "previous": 59.25,
            "change": 0.5,
            "percentChange": 0.84
          },
          "rr25": {
            "current": 4.96,
            "previous": 0.97,
            "change": 3.99,
            "percentChange": 411.34
          },
          "bf25": {
            "current": 4.84,
            "previous": 5.21,
            "change": -0.37,
            "percentChange": -7.1
          }
        },
        {
          "tenor": "1M",
          "availability": "available",
          "unavailableReason": null,
          "atmIv": {
            "current": 58.48,
            "previous": 58.17,
            "change": 0.31,
            "percentChange": 0.53
          },
          "rr25": {
            "current": 2.59,
            "previous": 1.95,
            "change": 0.64,
            "percentChange": 32.82
          },
          "bf25": {
            "current": 4.75,
            "previous": 4.71,
            "change": 0.04,
            "percentChange": 0.85
          }
        },
        {
          "tenor": "3M",
          "availability": "available",
          "unavailableReason": null,
          "atmIv": {
            "current": 56.92,
            "previous": 57.13,
            "change": -0.21,
            "percentChange": -0.37
          },
          "rr25": {
            "current": 2.93,
            "previous": 3.01,
            "change": -0.08,
            "percentChange": -2.66
          },
          "bf25": {
            "current": 5.11,
            "previous": 5.07,
            "change": 0.04,
            "percentChange": 0.79
          }
        },
        {
          "tenor": "6M",
          "availability": "unavailable",
          "unavailableReason": "The target tenor is not bracketed by listed expiries; extrapolated values are suppressed.",
          "atmIv": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "rr25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "bf25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          }
        },
        {
          "tenor": "9M",
          "availability": "unavailable",
          "unavailableReason": "The target tenor is not bracketed by listed expiries; extrapolated values are suppressed.",
          "atmIv": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "rr25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "bf25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          }
        },
        {
          "tenor": "1Y",
          "availability": "unavailable",
          "unavailableReason": "The target tenor is not bracketed by listed expiries; extrapolated values are suppressed.",
          "atmIv": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "rr25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "bf25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          }
        }
      ],
      "oneWeek": {
        "tenor": "1W",
        "availability": "available",
        "unavailableReason": null,
        "atmIv": {
          "current": 61.88,
          "previous": 60.29,
          "change": 1.59,
          "percentChange": 2.64
        },
        "rr25": {
          "current": 5.53,
          "previous": 0.54,
          "change": 4.99,
          "percentChange": 924.07
        },
        "bf25": {
          "current": 4.81,
          "previous": 5.3,
          "change": -0.49,
          "percentChange": -9.25
        }
      },
      "nearestEligibleForward": {
        "label": "25SEP26",
        "daysToExpiry": 4.646,
        "forward": {
          "current": 1.4,
          "previous": 1.44,
          "change": -0.04,
          "percentChange": -2.78
        }
      },
      "realisedVolatility": {
        "source": "canonical/XRP-USDC-INDEX (DERIBIT and OKX indexes)",
        "fallbackObservations": 35,
        "fallbackPolicy": "Missing canonical minutes use the stored Deribit index first, then the stored OKX index; canonical bars always take precedence.",
        "samplingInterval": "1 minute",
        "annualizationBasis": "365 days",
        "windowEnd": "2026-09-20T16:30:00+00:00",
        "spotWindowStart": "2026-09-19T16:30:00+00:00",
        "spotMetric": "spot-index return",
        "spotUnit": "percent",
        "spotMove24hPercent": -2.11,
        "rv24hPercent": 57.91,
        "rv7dPercent": 80.68,
        "rv30dPercent": 90.55,
        "observations": {
          "24h": 1440,
          "7d": 10042,
          "30d": 43162
        },
        "coverage": {
          "24h": {
            "status": "complete",
            "observedReturns": 1440,
            "expectedReturns": 1440,
            "coveragePercent": 100.0,
            "largestMissingRunMinutes": 0,
            "unavailableReason": null
          },
          "7d": {
            "status": "partial",
            "observedReturns": 10042,
            "expectedReturns": 10080,
            "coveragePercent": 99.623,
            "largestMissingRunMinutes": 37,
            "unavailableReason": null
          },
          "30d": {
            "status": "partial",
            "observedReturns": 43162,
            "expectedReturns": 43200,
            "coveragePercent": 99.912,
            "largestMissingRunMinutes": 37,
            "unavailableReason": null
          }
        },
        "coveragePolicy": {
          "version": "observed-minute-returns-v1",
          "minimumCoveragePercent": 99.5,
          "maximumMissingRunMinutes": 60,
          "methodology": "Each RV window qualifies independently. RV annualises the mean squared observed one-minute log return; returns spanning gaps are excluded, not interpolated or zero-filled. Partial estimates assume observed minutes are representative and may miss volatility during gaps."
        },
        "spotUnavailableReason": null,
        "oneWeekAtmIvPercent": 61.88,
        "oneWeekIvMinus7dRvPoints": -18.8,
        "oneWeekIvMinus24hRvPoints": 3.97,
        "oneWeekIvMinus30dRvPoints": -28.67
      },
      "realisedVolatilityUnavailableReason": null
    },
    {
      "asset": "HYPE",
      "currentSnapshotAt": "2026-09-20T16:30:00+00:00",
      "previousSnapshotAt": "2026-09-19T16:30:00+00:00",
      "comparisonStatus": "available",
      "comparisonNote": null,
      "rejectedPreviousSnapshotAt": null,
      "currentListedExpiries": 6,
      "comparedListedExpiries": 5,
      "tenors": [
        {
          "tenor": "1W",
          "availability": "available",
          "unavailableReason": null,
          "atmIv": {
            "current": 67.36,
            "previous": 65.21,
            "change": 2.15,
            "percentChange": 3.3
          },
          "rr25": {
            "current": 2.06,
            "previous": 6.65,
            "change": -4.59,
            "percentChange": -69.02
          },
          "bf25": {
            "current": 3.6,
            "previous": 5.19,
            "change": -1.59,
            "percentChange": -30.64
          }
        },
        {
          "tenor": "2W",
          "availability": "available",
          "unavailableReason": null,
          "atmIv": {
            "current": 65.25,
            "previous": 64.65,
            "change": 0.6,
            "percentChange": 0.93
          },
          "rr25": {
            "current": 3.62,
            "previous": 4.91,
            "change": -1.29,
            "percentChange": -26.27
          },
          "bf25": {
            "current": 3.44,
            "previous": 3.61,
            "change": -0.17,
            "percentChange": -4.71
          }
        },
        {
          "tenor": "1M",
          "availability": "available",
          "unavailableReason": null,
          "atmIv": {
            "current": 63.43,
            "previous": 63.42,
            "change": 0.01,
            "percentChange": 0.02
          },
          "rr25": {
            "current": 3.56,
            "previous": 4.12,
            "change": -0.56,
            "percentChange": -13.59
          },
          "bf25": {
            "current": 3.14,
            "previous": 3.22,
            "change": -0.08,
            "percentChange": -2.48
          }
        },
        {
          "tenor": "3M",
          "availability": "available",
          "unavailableReason": null,
          "atmIv": {
            "current": 61.97,
            "previous": 62.41,
            "change": -0.44,
            "percentChange": -0.71
          },
          "rr25": {
            "current": 4.88,
            "previous": 4.51,
            "change": 0.37,
            "percentChange": 8.2
          },
          "bf25": {
            "current": 3.52,
            "previous": 3.09,
            "change": 0.43,
            "percentChange": 13.92
          }
        },
        {
          "tenor": "6M",
          "availability": "unavailable",
          "unavailableReason": "The target tenor is not bracketed by listed expiries; extrapolated values are suppressed.",
          "atmIv": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "rr25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "bf25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          }
        },
        {
          "tenor": "9M",
          "availability": "unavailable",
          "unavailableReason": "The target tenor is not bracketed by listed expiries; extrapolated values are suppressed.",
          "atmIv": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "rr25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "bf25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          }
        },
        {
          "tenor": "1Y",
          "availability": "unavailable",
          "unavailableReason": "The target tenor is not bracketed by listed expiries; extrapolated values are suppressed.",
          "atmIv": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "rr25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "bf25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          }
        }
      ],
      "oneWeek": {
        "tenor": "1W",
        "availability": "available",
        "unavailableReason": null,
        "atmIv": {
          "current": 67.36,
          "previous": 65.21,
          "change": 2.15,
          "percentChange": 3.3
        },
        "rr25": {
          "current": 2.06,
          "previous": 6.65,
          "change": -4.59,
          "percentChange": -69.02
        },
        "bf25": {
          "current": 3.6,
          "previous": 5.19,
          "change": -1.59,
          "percentChange": -30.64
        }
      },
      "nearestEligibleForward": {
        "label": "25SEP26",
        "daysToExpiry": 4.646,
        "forward": {
          "current": 92.91,
          "previous": 93.13,
          "change": -0.22,
          "percentChange": -0.24
        }
      },
      "realisedVolatility": {
        "source": "canonical/HYPE-USDC-INDEX (DERIBIT and OKX indexes)",
        "fallbackObservations": 35,
        "fallbackPolicy": "Missing canonical minutes use the stored Deribit index first, then the stored OKX index; canonical bars always take precedence.",
        "samplingInterval": "1 minute",
        "annualizationBasis": "365 days",
        "windowEnd": "2026-09-20T16:30:00+00:00",
        "spotWindowStart": "2026-09-19T16:30:00+00:00",
        "spotMetric": "spot-index return",
        "spotUnit": "percent",
        "spotMove24hPercent": -0.07,
        "rv24hPercent": 58.97,
        "rv7dPercent": 76.48,
        "rv30dPercent": 83.22,
        "observations": {
          "24h": 1440,
          "7d": 10040,
          "30d": 43160
        },
        "coverage": {
          "24h": {
            "status": "complete",
            "observedReturns": 1440,
            "expectedReturns": 1440,
            "coveragePercent": 100.0,
            "largestMissingRunMinutes": 0,
            "unavailableReason": null
          },
          "7d": {
            "status": "partial",
            "observedReturns": 10040,
            "expectedReturns": 10080,
            "coveragePercent": 99.6032,
            "largestMissingRunMinutes": 37,
            "unavailableReason": null
          },
          "30d": {
            "status": "partial",
            "observedReturns": 43160,
            "expectedReturns": 43200,
            "coveragePercent": 99.9074,
            "largestMissingRunMinutes": 37,
            "unavailableReason": null
          }
        },
        "coveragePolicy": {
          "version": "observed-minute-returns-v1",
          "minimumCoveragePercent": 99.5,
          "maximumMissingRunMinutes": 60,
          "methodology": "Each RV window qualifies independently. RV annualises the mean squared observed one-minute log return; returns spanning gaps are excluded, not interpolated or zero-filled. Partial estimates assume observed minutes are representative and may miss volatility during gaps."
        },
        "spotUnavailableReason": null,
        "oneWeekAtmIvPercent": 67.36,
        "oneWeekIvMinus7dRvPoints": -9.12,
        "oneWeekIvMinus24hRvPoints": 8.39,
        "oneWeekIvMinus30dRvPoints": -15.86
      },
      "realisedVolatilityUnavailableReason": null
    },
    {
      "asset": "AVAX",
      "currentSnapshotAt": "2026-09-20T16:30:00+00:00",
      "previousSnapshotAt": "2026-09-19T16:30:00+00:00",
      "comparisonStatus": "available",
      "comparisonNote": null,
      "rejectedPreviousSnapshotAt": null,
      "currentListedExpiries": 6,
      "comparedListedExpiries": 5,
      "tenors": [
        {
          "tenor": "1W",
          "availability": "available",
          "unavailableReason": null,
          "atmIv": {
            "current": 77.42,
            "previous": 67.05,
            "change": 10.37,
            "percentChange": 15.47
          },
          "rr25": {
            "current": 1.98,
            "previous": 5.7,
            "change": -3.72,
            "percentChange": -65.26
          },
          "bf25": {
            "current": 3.44,
            "previous": 4.4,
            "change": -0.96,
            "percentChange": -21.82
          }
        },
        {
          "tenor": "2W",
          "availability": "available",
          "unavailableReason": null,
          "atmIv": {
            "current": 68.36,
            "previous": 60.46,
            "change": 7.9,
            "percentChange": 13.07
          },
          "rr25": {
            "current": 3.18,
            "previous": 3.84,
            "change": -0.66,
            "percentChange": -17.19
          },
          "bf25": {
            "current": 5.64,
            "previous": 4.86,
            "change": 0.78,
            "percentChange": 16.05
          }
        },
        {
          "tenor": "1M",
          "availability": "available",
          "unavailableReason": null,
          "atmIv": {
            "current": 62.8,
            "previous": 58.1,
            "change": 4.7,
            "percentChange": 8.09
          },
          "rr25": {
            "current": 3.06,
            "previous": 3.57,
            "change": -0.51,
            "percentChange": -14.29
          },
          "bf25": {
            "current": 4.4,
            "previous": 5.19,
            "change": -0.79,
            "percentChange": -15.22
          }
        },
        {
          "tenor": "3M",
          "availability": "available",
          "unavailableReason": null,
          "atmIv": {
            "current": 58.84,
            "previous": 57.25,
            "change": 1.59,
            "percentChange": 2.78
          },
          "rr25": {
            "current": 2.84,
            "previous": 2.47,
            "change": 0.37,
            "percentChange": 14.98
          },
          "bf25": {
            "current": 5.2,
            "previous": 4.49,
            "change": 0.71,
            "percentChange": 15.81
          }
        },
        {
          "tenor": "6M",
          "availability": "unavailable",
          "unavailableReason": "The target tenor is not bracketed by listed expiries; extrapolated values are suppressed.",
          "atmIv": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "rr25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "bf25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          }
        },
        {
          "tenor": "9M",
          "availability": "unavailable",
          "unavailableReason": "The target tenor is not bracketed by listed expiries; extrapolated values are suppressed.",
          "atmIv": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "rr25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "bf25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          }
        },
        {
          "tenor": "1Y",
          "availability": "unavailable",
          "unavailableReason": "The target tenor is not bracketed by listed expiries; extrapolated values are suppressed.",
          "atmIv": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "rr25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "bf25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          }
        }
      ],
      "oneWeek": {
        "tenor": "1W",
        "availability": "available",
        "unavailableReason": null,
        "atmIv": {
          "current": 77.42,
          "previous": 67.05,
          "change": 10.37,
          "percentChange": 15.47
        },
        "rr25": {
          "current": 1.98,
          "previous": 5.7,
          "change": -3.72,
          "percentChange": -65.26
        },
        "bf25": {
          "current": 3.44,
          "previous": 4.4,
          "change": -0.96,
          "percentChange": -21.82
        }
      },
      "nearestEligibleForward": {
        "label": "25SEP26",
        "daysToExpiry": 4.646,
        "forward": {
          "current": 11.11,
          "previous": 9.63,
          "change": 1.48,
          "percentChange": 15.37
        }
      },
      "realisedVolatility": {
        "source": "canonical/AVAX-USDC-INDEX (DERIBIT and OKX indexes)",
        "fallbackObservations": 35,
        "fallbackPolicy": "Missing canonical minutes use the stored Deribit index first, then the stored OKX index; canonical bars always take precedence.",
        "samplingInterval": "1 minute",
        "annualizationBasis": "365 days",
        "windowEnd": "2026-09-20T16:30:00+00:00",
        "spotWindowStart": "2026-09-19T16:30:00+00:00",
        "spotMetric": "spot-index return",
        "spotUnit": "percent",
        "spotMove24hPercent": 16.09,
        "rv24hPercent": 195.71,
        "rv7dPercent": 102.7,
        "rv30dPercent": 77.6,
        "observations": {
          "24h": 1440,
          "7d": 10042,
          "30d": 43162
        },
        "coverage": {
          "24h": {
            "status": "complete",
            "observedReturns": 1440,
            "expectedReturns": 1440,
            "coveragePercent": 100.0,
            "largestMissingRunMinutes": 0,
            "unavailableReason": null
          },
          "7d": {
            "status": "partial",
            "observedReturns": 10042,
            "expectedReturns": 10080,
            "coveragePercent": 99.623,
            "largestMissingRunMinutes": 37,
            "unavailableReason": null
          },
          "30d": {
            "status": "partial",
            "observedReturns": 43162,
            "expectedReturns": 43200,
            "coveragePercent": 99.912,
            "largestMissingRunMinutes": 37,
            "unavailableReason": null
          }
        },
        "coveragePolicy": {
          "version": "observed-minute-returns-v1",
          "minimumCoveragePercent": 99.5,
          "maximumMissingRunMinutes": 60,
          "methodology": "Each RV window qualifies independently. RV annualises the mean squared observed one-minute log return; returns spanning gaps are excluded, not interpolated or zero-filled. Partial estimates assume observed minutes are representative and may miss volatility during gaps."
        },
        "spotUnavailableReason": null,
        "oneWeekAtmIvPercent": 77.42,
        "oneWeekIvMinus7dRvPoints": -25.28,
        "oneWeekIvMinus24hRvPoints": -118.29,
        "oneWeekIvMinus30dRvPoints": -0.18
      },
      "realisedVolatilityUnavailableReason": null
    },
    {
      "asset": "TRX",
      "currentSnapshotAt": "2026-09-20T16:30:00+00:00",
      "previousSnapshotAt": "2026-09-19T16:30:00+00:00",
      "comparisonStatus": "available",
      "comparisonNote": null,
      "rejectedPreviousSnapshotAt": null,
      "currentListedExpiries": 6,
      "comparedListedExpiries": 5,
      "tenors": [
        {
          "tenor": "1W",
          "availability": "available",
          "unavailableReason": null,
          "atmIv": {
            "current": 15.23,
            "previous": 18.11,
            "change": -2.88,
            "percentChange": -15.9
          },
          "rr25": {
            "current": -0.36,
            "previous": 0.37,
            "change": -0.73,
            "percentChange": -197.3
          },
          "bf25": {
            "current": 2.38,
            "previous": 2.03,
            "change": 0.35,
            "percentChange": 17.24
          }
        },
        {
          "tenor": "2W",
          "availability": "available",
          "unavailableReason": null,
          "atmIv": {
            "current": 17.04,
            "previous": 18.93,
            "change": -1.89,
            "percentChange": -9.98
          },
          "rr25": {
            "current": 2.08,
            "previous": 0.54,
            "change": 1.54,
            "percentChange": 285.19
          },
          "bf25": {
            "current": 3.06,
            "previous": 1.98,
            "change": 1.08,
            "percentChange": 54.55
          }
        },
        {
          "tenor": "1M",
          "availability": "available",
          "unavailableReason": null,
          "atmIv": {
            "current": 23.03,
            "previous": 19.91,
            "change": 3.12,
            "percentChange": 15.67
          },
          "rr25": {
            "current": 1.56,
            "previous": 0.66,
            "change": 0.9,
            "percentChange": 136.36
          },
          "bf25": {
            "current": 4.16,
            "previous": 2.04,
            "change": 2.12,
            "percentChange": 103.92
          }
        },
        {
          "tenor": "3M",
          "availability": "available",
          "unavailableReason": null,
          "atmIv": {
            "current": 17.39,
            "previous": 20.58,
            "change": -3.19,
            "percentChange": -15.5
          },
          "rr25": {
            "current": 1.06,
            "previous": 0.11,
            "change": 0.95,
            "percentChange": 863.64
          },
          "bf25": {
            "current": 3.42,
            "previous": 2.41,
            "change": 1.01,
            "percentChange": 41.91
          }
        },
        {
          "tenor": "6M",
          "availability": "unavailable",
          "unavailableReason": "The target tenor is not bracketed by listed expiries; extrapolated values are suppressed.",
          "atmIv": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "rr25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "bf25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          }
        },
        {
          "tenor": "9M",
          "availability": "unavailable",
          "unavailableReason": "The target tenor is not bracketed by listed expiries; extrapolated values are suppressed.",
          "atmIv": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "rr25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "bf25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          }
        },
        {
          "tenor": "1Y",
          "availability": "unavailable",
          "unavailableReason": "The target tenor is not bracketed by listed expiries; extrapolated values are suppressed.",
          "atmIv": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "rr25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          },
          "bf25": {
            "current": null,
            "previous": null,
            "change": null,
            "percentChange": null
          }
        }
      ],
      "oneWeek": {
        "tenor": "1W",
        "availability": "available",
        "unavailableReason": null,
        "atmIv": {
          "current": 15.23,
          "previous": 18.11,
          "change": -2.88,
          "percentChange": -15.9
        },
        "rr25": {
          "current": -0.36,
          "previous": 0.37,
          "change": -0.73,
          "percentChange": -197.3
        },
        "bf25": {
          "current": 2.38,
          "previous": 2.03,
          "change": 0.35,
          "percentChange": 17.24
        }
      },
      "nearestEligibleForward": {
        "label": "25SEP26",
        "daysToExpiry": 4.646,
        "forward": {
          "current": 0.34,
          "previous": 0.34,
          "change": 0.0,
          "percentChange": 0.0
        }
      },
      "realisedVolatility": {
        "source": "canonical/TRX-USDC-INDEX (DERIBIT and OKX indexes)",
        "fallbackObservations": 35,
        "fallbackPolicy": "Missing canonical minutes use the stored Deribit index first, then the stored OKX index; canonical bars always take precedence.",
        "samplingInterval": "1 minute",
        "annualizationBasis": "365 days",
        "windowEnd": "2026-09-20T16:30:00+00:00",
        "spotWindowStart": "2026-09-19T16:30:00+00:00",
        "spotMetric": "spot-index return",
        "spotUnit": "percent",
        "spotMove24hPercent": 1.67,
        "rv24hPercent": 18.4,
        "rv7dPercent": 14.4,
        "rv30dPercent": 17.81,
        "observations": {
          "24h": 1440,
          "7d": 10042,
          "30d": 43162
        },
        "coverage": {
          "24h": {
            "status": "complete",
            "observedReturns": 1440,
            "expectedReturns": 1440,
            "coveragePercent": 100.0,
            "largestMissingRunMinutes": 0,
            "unavailableReason": null
          },
          "7d": {
            "status": "partial",
            "observedReturns": 10042,
            "expectedReturns": 10080,
            "coveragePercent": 99.623,
            "largestMissingRunMinutes": 37,
            "unavailableReason": null
          },
          "30d": {
            "status": "partial",
            "observedReturns": 43162,
            "expectedReturns": 43200,
            "coveragePercent": 99.912,
            "largestMissingRunMinutes": 37,
            "unavailableReason": null
          }
        },
        "coveragePolicy": {
          "version": "observed-minute-returns-v1",
          "minimumCoveragePercent": 99.5,
          "maximumMissingRunMinutes": 60,
          "methodology": "Each RV window qualifies independently. RV annualises the mean squared observed one-minute log return; returns spanning gaps are excluded, not interpolated or zero-filled. Partial estimates assume observed minutes are representative and may miss volatility during gaps."
        },
        "spotUnavailableReason": null,
        "oneWeekAtmIvPercent": 15.23,
        "oneWeekIvMinus7dRvPoints": 0.83,
        "oneWeekIvMinus24hRvPoints": -3.17,
        "oneWeekIvMinus30dRvPoints": -2.58
      },
      "realisedVolatilityUnavailableReason": null
    }
  ],
  "crossAssetAnalysis": {
    "schemaVersion": 1,
    "purpose": "Identify what is unusual across the altcoin options complex, not produce four mini reports.",
    "returnMetric": {
      "key": "spotPerformance24h",
      "source": "spotMove24hPercent",
      "label": "24h spot-index return",
      "unit": "percent"
    },
    "assets": [
      "XRP",
      "HYPE",
      "AVAX",
      "TRX"
    ],
    "comparableAssets": [
      "XRP",
      "HYPE",
      "AVAX",
      "TRX"
    ],
    "oneWeek": {
      "atmIvLevel": {
        "leader": "AVAX",
        "laggard": "TRX",
        "highest": 77.42,
        "lowest": 15.23,
        "spread": 62.19,
        "highestToLowestRatio": 5.0834,
        "largestAbsoluteMoveAsset": "AVAX",
        "largestAbsoluteMoveValue": 77.42,
        "values": [
          {
            "asset": "XRP",
            "value": 61.88
          },
          {
            "asset": "HYPE",
            "value": 67.36
          },
          {
            "asset": "AVAX",
            "value": 77.42
          },
          {
            "asset": "TRX",
            "value": 15.23
          }
        ],
        "previousSpread": 48.94,
        "spreadChange": 13.25,
        "dispersionDirection": "widening"
      },
      "atmIvChange": {
        "leader": "AVAX",
        "laggard": "TRX",
        "highest": 10.37,
        "lowest": -2.88,
        "spread": 13.25,
        "highestToLowestRatio": null,
        "largestAbsoluteMoveAsset": "AVAX",
        "largestAbsoluteMoveValue": 10.37,
        "values": [
          {
            "asset": "XRP",
            "value": 1.59
          },
          {
            "asset": "HYPE",
            "value": 2.15
          },
          {
            "asset": "AVAX",
            "value": 10.37
          },
          {
            "asset": "TRX",
            "value": -2.88
          }
        ]
      },
      "rr25Level": {
        "leader": "XRP",
        "laggard": "TRX",
        "highest": 5.53,
        "lowest": -0.36,
        "spread": 5.89,
        "highestToLowestRatio": null,
        "largestAbsoluteMoveAsset": "XRP",
        "largestAbsoluteMoveValue": 5.53,
        "values": [
          {
            "asset": "XRP",
            "value": 5.53
          },
          {
            "asset": "HYPE",
            "value": 2.06
          },
          {
            "asset": "AVAX",
            "value": 1.98
          },
          {
            "asset": "TRX",
            "value": -0.36
          }
        ],
        "previousSpread": 6.28,
        "spreadChange": -0.39,
        "dispersionDirection": "compressing"
      },
      "rr25Change": {
        "leader": "XRP",
        "laggard": "HYPE",
        "highest": 4.99,
        "lowest": -4.59,
        "spread": 9.58,
        "highestToLowestRatio": null,
        "largestAbsoluteMoveAsset": "XRP",
        "largestAbsoluteMoveValue": 4.99,
        "values": [
          {
            "asset": "XRP",
            "value": 4.99
          },
          {
            "asset": "HYPE",
            "value": -4.59
          },
          {
            "asset": "AVAX",
            "value": -3.72
          },
          {
            "asset": "TRX",
            "value": -0.73
          }
        ]
      }
    },
    "relativeVolatilityLeader": {
      "asset": "AVAX",
      "metric": "absolute 1W ATM IV change",
      "value": 10.37
    },
    "termStructure": {
      "definition": "1Y minus 1W ATM IV, in volatility points",
      "currentSlope": {
        "leader": null,
        "laggard": null,
        "highest": null,
        "lowest": null,
        "spread": null,
        "highestToLowestRatio": null,
        "largestAbsoluteMoveAsset": null,
        "largestAbsoluteMoveValue": null,
        "values": [
          {
            "asset": "XRP",
            "value": null
          },
          {
            "asset": "HYPE",
            "value": null
          },
          {
            "asset": "AVAX",
            "value": null
          },
          {
            "asset": "TRX",
            "value": null
          }
        ],
        "previousSpread": null,
        "spreadChange": null,
        "dispersionDirection": "unavailable"
      },
      "slopeChange": {
        "leader": null,
        "laggard": null,
        "highest": null,
        "lowest": null,
        "spread": null,
        "highestToLowestRatio": null,
        "largestAbsoluteMoveAsset": null,
        "largestAbsoluteMoveValue": null,
        "values": [
          {
            "asset": "XRP",
            "value": null
          },
          {
            "asset": "HYPE",
            "value": null
          },
          {
            "asset": "AVAX",
            "value": null
          },
          {
            "asset": "TRX",
            "value": null
          }
        ]
      }
    },
    "relativeValue": {
      "ivMinusRealised7d": {
        "leader": "TRX",
        "laggard": "AVAX",
        "highest": 0.83,
        "lowest": -25.28,
        "spread": 26.11,
        "highestToLowestRatio": null,
        "largestAbsoluteMoveAsset": "AVAX",
        "largestAbsoluteMoveValue": -25.28,
        "values": [
          {
            "asset": "XRP",
            "value": -18.8
          },
          {
            "asset": "HYPE",
            "value": -9.12
          },
          {
            "asset": "AVAX",
            "value": -25.28
          },
          {
            "asset": "TRX",
            "value": 0.83
          }
        ]
      },
      "spotPerformance24h": {
        "leader": "AVAX",
        "laggard": "XRP",
        "highest": 16.09,
        "lowest": -2.11,
        "spread": 18.2,
        "highestToLowestRatio": null,
        "largestAbsoluteMoveAsset": "AVAX",
        "largestAbsoluteMoveValue": 16.09,
        "values": [
          {
            "asset": "XRP",
            "value": -2.11
          },
          {
            "asset": "HYPE",
            "value": -0.07
          },
          {
            "asset": "AVAX",
            "value": 16.09
          },
          {
            "asset": "TRX",
            "value": 1.67
          }
        ]
      }
    },
    "rankings": {
      "oneWeekAtmIvLevel": [
        {
          "rank": 1,
          "asset": "AVAX",
          "value": 77.42,
          "previousRank": 1,
          "rankChange": 0
        },
        {
          "rank": 2,
          "asset": "HYPE",
          "value": 67.36,
          "previousRank": 2,
          "rankChange": 0
        },
        {
          "rank": 3,
          "asset": "XRP",
          "value": 61.88,
          "previousRank": 3,
          "rankChange": 0
        },
        {
          "rank": 4,
          "asset": "TRX",
          "value": 15.23,
          "previousRank": 4,
          "rankChange": 0
        }
      ],
      "oneWeekAtmIvChange": [
        {
          "rank": 1,
          "asset": "AVAX",
          "value": 10.37,
          "previousRank": null,
          "rankChange": null
        },
        {
          "rank": 2,
          "asset": "HYPE",
          "value": 2.15,
          "previousRank": null,
          "rankChange": null
        },
        {
          "rank": 3,
          "asset": "XRP",
          "value": 1.59,
          "previousRank": null,
          "rankChange": null
        },
        {
          "rank": 4,
          "asset": "TRX",
          "value": -2.88,
          "previousRank": null,
          "rankChange": null
        }
      ],
      "oneWeekAtmIvAbsoluteMove": [
        {
          "rank": 1,
          "asset": "AVAX",
          "value": 10.37,
          "previousRank": null,
          "rankChange": null
        },
        {
          "rank": 2,
          "asset": "TRX",
          "value": -2.88,
          "previousRank": null,
          "rankChange": null
        },
        {
          "rank": 3,
          "asset": "HYPE",
          "value": 2.15,
          "previousRank": null,
          "rankChange": null
        },
        {
          "rank": 4,
          "asset": "XRP",
          "value": 1.59,
          "previousRank": null,
          "rankChange": null
        }
      ],
      "ivMinusRealised7d": [
        {
          "rank": 1,
          "asset": "TRX",
          "value": 0.83,
          "previousRank": null,
          "rankChange": null
        },
        {
          "rank": 2,
          "asset": "HYPE",
          "value": -9.12,
          "previousRank": null,
          "rankChange": null
        },
        {
          "rank": 3,
          "asset": "XRP",
          "value": -18.8,
          "previousRank": null,
          "rankChange": null
        },
        {
          "rank": 4,
          "asset": "AVAX",
          "value": -25.28,
          "previousRank": null,
          "rankChange": null
        }
      ],
      "oneWeekRr25CallRichness": [
        {
          "rank": 1,
          "asset": "XRP",
          "value": 5.53,
          "previousRank": 3,
          "rankChange": 2
        },
        {
          "rank": 2,
          "asset": "HYPE",
          "value": 2.06,
          "previousRank": 1,
          "rankChange": -1
        },
        {
          "rank": 3,
          "asset": "AVAX",
          "value": 1.98,
          "previousRank": 2,
          "rankChange": -1
        },
        {
          "rank": 4,
          "asset": "TRX",
          "value": -0.36,
          "previousRank": 4,
          "rankChange": 0
        }
      ],
      "oneWeekRr25PutRichness": [
        {
          "rank": 1,
          "asset": "TRX",
          "value": -0.36,
          "previousRank": 1,
          "rankChange": 0
        },
        {
          "rank": 2,
          "asset": "AVAX",
          "value": 1.98,
          "previousRank": 3,
          "rankChange": 1
        },
        {
          "rank": 3,
          "asset": "HYPE",
          "value": 2.06,
          "previousRank": 4,
          "rankChange": 1
        },
        {
          "rank": 4,
          "asset": "XRP",
          "value": 5.53,
          "previousRank": 2,
          "rankChange": -2
        }
      ],
      "termStructureSlope": [
        {
          "rank": null,
          "asset": "XRP",
          "value": null,
          "previousRank": null,
          "rankChange": null
        },
        {
          "rank": null,
          "asset": "HYPE",
          "value": null,
          "previousRank": null,
          "rankChange": null
        },
        {
          "rank": null,
          "asset": "AVAX",
          "value": null,
          "previousRank": null,
          "rankChange": null
        },
        {
          "rank": null,
          "asset": "TRX",
          "value": null,
          "previousRank": null,
          "rankChange": null
        }
      ],
      "termStructureSlopeChange": [
        {
          "rank": null,
          "asset": "XRP",
          "value": null,
          "previousRank": null,
          "rankChange": null
        },
        {
          "rank": null,
          "asset": "HYPE",
          "value": null,
          "previousRank": null,
          "rankChange": null
        },
        {
          "rank": null,
          "asset": "AVAX",
          "value": null,
          "previousRank": null,
          "rankChange": null
        },
        {
          "rank": null,
          "asset": "TRX",
          "value": null,
          "previousRank": null,
          "rankChange": null
        }
      ],
      "spotPerformance24h": [
        {
          "rank": 1,
          "asset": "AVAX",
          "value": 16.09,
          "previousRank": null,
          "rankChange": null
        },
        {
          "rank": 2,
          "asset": "TRX",
          "value": 1.67,
          "previousRank": null,
          "rankChange": null
        },
        {
          "rank": 3,
          "asset": "HYPE",
          "value": -0.07,
          "previousRank": null,
          "rankChange": null
        },
        {
          "rank": 4,
          "asset": "XRP",
          "value": -2.11,
          "previousRank": null,
          "rankChange": null
        }
      ]
    },
    "outliers": [
      {
        "metric": "1W ATM IV change",
        "asset": "AVAX",
        "value": 10.37,
        "groupMedian": 1.87,
        "distanceFromMedian": 8.5
      },
      {
        "metric": "1W ATM IV level",
        "asset": "TRX",
        "value": 15.23,
        "groupMedian": 64.62,
        "distanceFromMedian": -49.39
      },
      {
        "metric": "1W RR25 level",
        "asset": "XRP",
        "value": 5.53,
        "groupMedian": 2.02,
        "distanceFromMedian": 3.51
      },
      {
        "metric": "1W IV minus 7D realised volatility",
        "asset": "TRX",
        "value": 0.83,
        "groupMedian": -13.96,
        "distanceFromMedian": 14.79
      }
    ],
    "relativeValueObservation": {
      "richestAsset": "TRX",
      "cheapestAsset": "AVAX",
      "spread": 26.11,
      "metric": "1W ATM IV minus 7D realised volatility",
      "interpretation": "TRX screens richest and AVAX cheapest on one-week implied volatility versus seven-day realised volatility, with a 26.11-point cross-sectional range."
    },
    "historicalContext": {
      "minimumObservations": 20,
      "observations": 22,
      "oneWeekAtmIvLevelDispersionPercentile": 100.0,
      "oneWeekAtmIvChangeDispersionPercentile": 95.2,
      "oneWeekRr25LevelDispersionPercentile": 77.3,
      "termStructureDispersionPercentile": null,
      "ivMinusRealisedDispersionPercentile": null,
      "availabilityNote": null
    },
    "correlations": {
      "metric": "spotMove24hPercent",
      "minimumObservations": 10,
      "lookbackObservations": 30,
      "pairs": [
        {
          "assets": [
            "XRP",
            "HYPE"
          ],
          "value": 0.6042,
          "observations": 10
        },
        {
          "assets": [
            "XRP",
            "AVAX"
          ],
          "value": 0.3201,
          "observations": 11
        },
        {
          "assets": [
            "XRP",
            "TRX"
          ],
          "value": 0.4299,
          "observations": 11
        },
        {
          "assets": [
            "HYPE",
            "AVAX"
          ],
          "value": 0.4585,
          "observations": 10
        },
        {
          "assets": [
            "HYPE",
            "TRX"
          ],
          "value": 0.0629,
          "observations": 10
        },
        {
          "assets": [
            "AVAX",
            "TRX"
          ],
          "value": 0.2726,
          "observations": 11
        }
      ],
      "availabilityNote": null
    },
    "evidence": [
      {
        "id": "alts-cross-1w-atm-change-dispersion",
        "metric": "1W ATM IV change dispersion",
        "unit": "volatility points",
        "leader": "AVAX",
        "laggard": "TRX",
        "highest": 10.37,
        "lowest": -2.88,
        "spread": 13.25,
        "highestToLowestRatio": null,
        "largestAbsoluteMoveAsset": "AVAX",
        "largestAbsoluteMoveValue": 10.37,
        "values": [
          {
            "asset": "XRP",
            "value": 1.59
          },
          {
            "asset": "HYPE",
            "value": 2.15
          },
          {
            "asset": "AVAX",
            "value": 10.37
          },
          {
            "asset": "TRX",
            "value": -2.88
          }
        ]
      },
      {
        "id": "alts-cross-1w-atm-level-dispersion",
        "metric": "1W ATM IV level dispersion",
        "unit": "volatility points",
        "leader": "AVAX",
        "laggard": "TRX",
        "highest": 77.42,
        "lowest": 15.23,
        "spread": 62.19,
        "highestToLowestRatio": 5.0834,
        "largestAbsoluteMoveAsset": "AVAX",
        "largestAbsoluteMoveValue": 77.42,
        "values": [
          {
            "asset": "XRP",
            "value": 61.88
          },
          {
            "asset": "HYPE",
            "value": 67.36
          },
          {
            "asset": "AVAX",
            "value": 77.42
          },
          {
            "asset": "TRX",
            "value": 15.23
          }
        ],
        "previousSpread": 48.94,
        "spreadChange": 13.25,
        "dispersionDirection": "widening"
      },
      {
        "id": "alts-cross-1w-rr25-dispersion",
        "metric": "1W RR25 level dispersion",
        "unit": "volatility points",
        "leader": "XRP",
        "laggard": "TRX",
        "highest": 5.53,
        "lowest": -0.36,
        "spread": 5.89,
        "highestToLowestRatio": null,
        "largestAbsoluteMoveAsset": "XRP",
        "largestAbsoluteMoveValue": 5.53,
        "values": [
          {
            "asset": "XRP",
            "value": 5.53
          },
          {
            "asset": "HYPE",
            "value": 2.06
          },
          {
            "asset": "AVAX",
            "value": 1.98
          },
          {
            "asset": "TRX",
            "value": -0.36
          }
        ],
        "previousSpread": 6.28,
        "spreadChange": -0.39,
        "dispersionDirection": "compressing"
      },
      {
        "id": "alts-cross-term-structure-divergence",
        "metric": "1Y minus 1W ATM IV slope dispersion",
        "unit": "volatility points",
        "leader": null,
        "laggard": null,
        "highest": null,
        "lowest": null,
        "spread": null,
        "highestToLowestRatio": null,
        "largestAbsoluteMoveAsset": null,
        "largestAbsoluteMoveValue": null,
        "values": [
          {
            "asset": "XRP",
            "value": null
          },
          {
            "asset": "HYPE",
            "value": null
          },
          {
            "asset": "AVAX",
            "value": null
          },
          {
            "asset": "TRX",
            "value": null
          }
        ],
        "previousSpread": null,
        "spreadChange": null,
        "dispersionDirection": "unavailable"
      },
      {
        "id": "alts-cross-iv-minus-realised-dispersion",
        "metric": "1W IV minus 7D realised volatility dispersion",
        "unit": "volatility points",
        "leader": "TRX",
        "laggard": "AVAX",
        "highest": 0.83,
        "lowest": -25.28,
        "spread": 26.11,
        "highestToLowestRatio": null,
        "largestAbsoluteMoveAsset": "AVAX",
        "largestAbsoluteMoveValue": -25.28,
        "values": [
          {
            "asset": "XRP",
            "value": -18.8
          },
          {
            "asset": "HYPE",
            "value": -9.12
          },
          {
            "asset": "AVAX",
            "value": -25.28
          },
          {
            "asset": "TRX",
            "value": 0.83
          }
        ]
      },
      {
        "id": "alts-cross-spot-performance",
        "metric": "24H spot performance dispersion",
        "unit": "percentage points",
        "leader": "AVAX",
        "laggard": "XRP",
        "highest": 16.09,
        "lowest": -2.11,
        "spread": 18.2,
        "highestToLowestRatio": null,
        "largestAbsoluteMoveAsset": "AVAX",
        "largestAbsoluteMoveValue": 16.09,
        "values": [
          {
            "asset": "XRP",
            "value": -2.11
          },
          {
            "asset": "HYPE",
            "value": -0.07
          },
          {
            "asset": "AVAX",
            "value": 16.09
          },
          {
            "asset": "TRX",
            "value": 1.67
          }
        ]
      },
      {
        "id": "alts-cross-term-structure-change",
        "metric": "1Y minus 1W ATM IV slope change dispersion",
        "unit": "volatility points",
        "leader": null,
        "laggard": null,
        "highest": null,
        "lowest": null,
        "spread": null,
        "highestToLowestRatio": null,
        "largestAbsoluteMoveAsset": null,
        "largestAbsoluteMoveValue": null,
        "values": [
          {
            "asset": "XRP",
            "value": null
          },
          {
            "asset": "HYPE",
            "value": null
          },
          {
            "asset": "AVAX",
            "value": null
          },
          {
            "asset": "TRX",
            "value": null
          }
        ]
      }
    ]
  },
  "newsContext": {
    "outcome": "No sufficiently relevant context identified",
    "summary": "No qualifying context was found in the monitored news sources for this reporting window.",
    "events": [],
    "coverage_status": "healthy",
    "coverage_basis": "monitored-source-search",
    "section_heading": "No sufficiently relevant context identified"
  },
  "methodology": {
    "source": "Stored Derivasys SVI surfaces",
    "comparison": "Latest successful snapshot at or before the common cutoff versus the nearest successful snapshot 24 hours earlier, within a three-hour tolerance.",
    "availability": "Current levels remain visible when a 24-hour baseline does not yet exist; changes stay null rather than being inferred from a shorter window."
  },
  "comparedListedExpiries": 20,
  "summaryMetrics": {
    "basis": "Equal-weight average across assets with a valid 24-hour baseline",
    "unit": "volatility points",
    "atmIvChange": 2.81,
    "rr25Change": -1.01,
    "bf25Change": -0.67
  },
  "commentary": {
    "source": "codex",
    "model": "gpt-5.6-terra",
    "headline": "Altcoin options split as AVAX volatility rises and TRX compresses",
    "executiveSummary": "AVAX drove a sharp cross-sectional split at the cutoff: AVAX one-week ATM IV rose 10.37 volatility points to 77.42%, while TRX one-week ATM IV fell 2.88 volatility points to 15.23%. Derivasys data put the resulting 62.19-point one-week ATM IV level spread at an observed high.",
    "evidenceIds": [
      "alts-cross-1w-atm-level-dispersion",
      "alts-cross-1w-atm-change-dispersion"
    ],
    "newsSummary": "No qualifying news context was retained for the altcoin options complex.",
    "marketContextSummary": "No retained news item provides a market-context assessment for the options repricing.",
    "marketContext": [],
    "newsEvidenceIds": []
  },
  "newsEvidence": {
    "schemaVersion": 1,
    "source": "local-news-mcp",
    "collection": {
      "schemaVersion": 1,
      "basis": "monitored-source-search",
      "status": "complete",
      "requiredScopes": [
        "AVAX",
        "GLOBAL",
        "HYPE",
        "MACRO",
        "TRX",
        "XRP"
      ],
      "completedScopes": [
        "AVAX",
        "GLOBAL",
        "HYPE",
        "MACRO",
        "TRX",
        "XRP"
      ],
      "missingScopes": [],
      "queries": [
        {
          "arguments": {
            "assets": [
              "TRX"
            ],
            "content_kinds": [
              "catalyst",
              "reporting"
            ],
            "end": "2026-09-20T16:30:00Z",
            "limit": 50,
            "min_confidence": 0,
            "min_importance": 0,
            "start": "2026-09-19T16:30:00Z",
            "statuses": [
              "breaking",
              "developing",
              "confirmed"
            ]
          },
          "complete": true,
          "pages": [
            {
              "cursor": null,
              "status": "succeeded",
              "returnedCount": 0,
              "hasMore": false,
              "nextCursor": null,
              "resultSha256": "e88f3a0a4478e2efd693ede0f6bdfc94bd69378c3e7a3cdc2473dfc26ed1a327"
            }
          ]
        },
        {
          "arguments": {
            "assets": [
              "XRP"
            ],
            "content_kinds": [
              "catalyst",
              "reporting"
            ],
            "end": "2026-09-20T16:30:00Z",
            "limit": 50,
            "min_confidence": 0,
            "min_importance": 0,
            "start": "2026-09-19T16:30:00Z",
            "statuses": [
              "breaking",
              "developing",
              "confirmed"
            ]
          },
          "complete": true,
          "pages": [
            {
              "cursor": null,
              "status": "succeeded",
              "returnedCount": 0,
              "hasMore": false,
              "nextCursor": null,
              "resultSha256": "e88f3a0a4478e2efd693ede0f6bdfc94bd69378c3e7a3cdc2473dfc26ed1a327"
            }
          ]
        },
        {
          "arguments": {
            "assets": [
              "AVAX"
            ],
            "content_kinds": [
              "catalyst",
              "reporting"
            ],
            "end": "2026-09-20T16:30:00Z",
            "limit": 50,
            "min_confidence": 0,
            "min_importance": 0,
            "start": "2026-09-19T16:30:00Z",
            "statuses": [
              "breaking",
              "developing",
              "confirmed"
            ]
          },
          "complete": true,
          "pages": [
            {
              "cursor": null,
              "status": "succeeded",
              "returnedCount": 0,
              "hasMore": false,
              "nextCursor": null,
              "resultSha256": "e88f3a0a4478e2efd693ede0f6bdfc94bd69378c3e7a3cdc2473dfc26ed1a327"
            }
          ]
        },
        {
          "arguments": {
            "content_kinds": [
              "catalyst",
              "reporting"
            ],
            "end": "2026-09-20T16:30:00Z",
            "limit": 50,
            "min_confidence": 0,
            "min_importance": 0,
            "start": "2026-09-19T16:30:00Z",
            "statuses": [
              "breaking",
              "developing",
              "confirmed"
            ]
          },
          "complete": true,
          "pages": [
            {
              "cursor": null,
              "status": "succeeded",
              "returnedCount": 50,
              "hasMore": true,
              "nextCursor": "eyJhdCI6IjIwMjYtMDktMjBUMTM6MTQ6MzYuMjg0MTIzKzAwOjAwIiwiZmlsdGVycyI6ImIzODlmOTc0OWNiNmYwNzQiLCJpZCI6ImIyM2U2MGM3LWFhOWItNDg4Ni1iMzExLWQyZjU5NjIxMDg0ZiIsInNvcnQiOiJmaXJzdF9zZWVuX2F0OmRlc2MsZXZlbnRfaWQ6ZGVzYyIsInYiOjF9",
              "resultSha256": "fe58ed8fbad2bff917f38a3c8a1abe70fd02d372e58003e794c8d368721af3af"
            },
            {
              "cursor": "eyJhdCI6IjIwMjYtMDktMjBUMTM6MTQ6MzYuMjg0MTIzKzAwOjAwIiwiZmlsdGVycyI6ImIzODlmOTc0OWNiNmYwNzQiLCJpZCI6ImIyM2U2MGM3LWFhOWItNDg4Ni1iMzExLWQyZjU5NjIxMDg0ZiIsInNvcnQiOiJmaXJzdF9zZWVuX2F0OmRlc2MsZXZlbnRfaWQ6ZGVzYyIsInYiOjF9",
              "status": "succeeded",
              "returnedCount": 50,
              "hasMore": true,
              "nextCursor": "eyJhdCI6IjIwMjYtMDktMjBUMDg6NTQ6MzAuMjE2ODQyKzAwOjAwIiwiZmlsdGVycyI6ImIzODlmOTc0OWNiNmYwNzQiLCJpZCI6IjliNWQzYTg4LTA5ZjgtNDNiMi1hMzRkLTFhNWMzNDNiMTgwOCIsInNvcnQiOiJmaXJzdF9zZWVuX2F0OmRlc2MsZXZlbnRfaWQ6ZGVzYyIsInYiOjF9",
              "resultSha256": "9ad5f5180a9c910cad2d29ebd9e992a5fb4e9937d4ed4861865f75a071a9c6ac"
            },
            {
              "cursor": "eyJhdCI6IjIwMjYtMDktMjBUMDg6NTQ6MzAuMjE2ODQyKzAwOjAwIiwiZmlsdGVycyI6ImIzODlmOTc0OWNiNmYwNzQiLCJpZCI6IjliNWQzYTg4LTA5ZjgtNDNiMi1hMzRkLTFhNWMzNDNiMTgwOCIsInNvcnQiOiJmaXJzdF9zZWVuX2F0OmRlc2MsZXZlbnRfaWQ6ZGVzYyIsInYiOjF9",
              "status": "succeeded",
              "returnedCount": 50,
              "hasMore": true,
              "nextCursor": "eyJhdCI6IjIwMjYtMDktMjBUMDI6MDU6NTMuMjM5MTY2KzAwOjAwIiwiZmlsdGVycyI6ImIzODlmOTc0OWNiNmYwNzQiLCJpZCI6IjZmYmMzZTBhLTVmMmEtNDE4Mi04Y2M3LTVjMTk0YjRkNzA1OSIsInNvcnQiOiJmaXJzdF9zZWVuX2F0OmRlc2MsZXZlbnRfaWQ6ZGVzYyIsInYiOjF9",
              "resultSha256": "0508f87831c0525c7c7db38d993d467a0ee376db6a533bef1b7f2ebe3b36abd3"
            },
            {
              "cursor": "eyJhdCI6IjIwMjYtMDktMjBUMDI6MDU6NTMuMjM5MTY2KzAwOjAwIiwiZmlsdGVycyI6ImIzODlmOTc0OWNiNmYwNzQiLCJpZCI6IjZmYmMzZTBhLTVmMmEtNDE4Mi04Y2M3LTVjMTk0YjRkNzA1OSIsInNvcnQiOiJmaXJzdF9zZWVuX2F0OmRlc2MsZXZlbnRfaWQ6ZGVzYyIsInYiOjF9",
              "status": "succeeded",
              "returnedCount": 50,
              "hasMore": true,
              "nextCursor": "eyJhdCI6IjIwMjYtMDktMTlUMjA6MDM6MTQuNzMxMzc2KzAwOjAwIiwiZmlsdGVycyI6ImIzODlmOTc0OWNiNmYwNzQiLCJpZCI6ImQzYTA5ZDUzLWI5MjItNDUyYy05NWVjLTliYjFmOWEwMWEyNiIsInNvcnQiOiJmaXJzdF9zZWVuX2F0OmRlc2MsZXZlbnRfaWQ6ZGVzYyIsInYiOjF9",
              "resultSha256": "7b919a27f5896e1aae106a25bd807e00ffaec15798a00c68f2ca351845913be1"
            },
            {
              "cursor": "eyJhdCI6IjIwMjYtMDktMTlUMjA6MDM6MTQuNzMxMzc2KzAwOjAwIiwiZmlsdGVycyI6ImIzODlmOTc0OWNiNmYwNzQiLCJpZCI6ImQzYTA5ZDUzLWI5MjItNDUyYy05NWVjLTliYjFmOWEwMWEyNiIsInNvcnQiOiJmaXJzdF9zZWVuX2F0OmRlc2MsZXZlbnRfaWQ6ZGVzYyIsInYiOjF9",
              "status": "succeeded",
              "returnedCount": 28,
              "hasMore": false,
              "nextCursor": null,
              "resultSha256": "a8966c151e873f19d740bb4d72f1df88752135b8cd3bf203c5a5a7f818288966"
            }
          ]
        },
        {
          "arguments": {
            "assets": [
              "HYPE"
            ],
            "content_kinds": [
              "catalyst",
              "reporting"
            ],
            "end": "2026-09-20T16:30:00Z",
            "limit": 50,
            "min_confidence": 0,
            "min_importance": 0,
            "start": "2026-09-19T16:30:00Z",
            "statuses": [
              "breaking",
              "developing",
              "confirmed"
            ]
          },
          "complete": true,
          "pages": [
            {
              "cursor": null,
              "status": "succeeded",
              "returnedCount": 0,
              "hasMore": false,
              "nextCursor": null,
              "resultSha256": "e88f3a0a4478e2efd693ede0f6bdfc94bd69378c3e7a3cdc2473dfc26ed1a327"
            }
          ]
        }
      ],
      "upstreamIngestionHealth": "not-exposed"
    },
    "generatedAt": "2026-09-20T16:30:00+00:00",
    "window": {
      "startAt": "2026-09-19T16:30:00+00:00",
      "endAt": "2026-09-20T16:30:00+00:00",
      "endExclusive": true
    },
    "coverage": {
      "configuredSources": 1,
      "successfulSources": 1,
      "failedSources": 0
    },
    "provenance": {
      "collectionArchitecture": "central-canonical-event-store",
      "mcpServersQueried": 1,
      "assetScopedQueries": 8,
      "macroQueries": 6,
      "canonicalEventsConsidered": 0,
      "publishersRepresented": 0,
      "discoveryEventsScanned": 238,
      "upstreamFeedCount": null,
      "coverageNote": "The local news MCP exposes canonical events, not its upstream feed inventory; legacy feed-count fields below describe the single MCP endpoint and are not comparable with the former RSS collector."
    },
    "selection": {
      "feedsQueried": 1,
      "publishersQueried": 0,
      "feedEntriesScanned": 1,
      "articlesPassingTimeFilter": 1,
      "articlesPassingSourceRelevanceRules": 0,
      "articlesPassingSelectionThreshold": 0,
      "storiesSelected": 0,
      "selectedPublishers": 0,
      "maximumStories": 3,
      "maximumStoriesPerPublisher": 2,
      "minimumSelectionScore": 0,
      "lockedEventSet": true,
      "qualityThresholds": {
        "minimumConfidence": null,
        "minimumImportance": null,
        "minimumSourceQuality": 0.58,
        "minimumCatalystScore": null,
        "minimumMediaReliability": 0.6
      },
      "candidateAudit": [
        {
          "eventId": "778fac37-92fe-4da0-b881-d566c653f62a",
          "selected": false,
          "eligible": false,
          "checks": {
            "verifiedSourceMetadata": true,
            "contentKind": true,
            "status": true
          },
          "inWindow": true,
          "reportRelevant": false,
          "decision": "ineligible"
        },
        {
          "eventId": "21a1a35c-eb98-4f71-b60f-1d9ee333cff3",
          "selected": false,
          "eligible": false,
          "checks": {
            "verifiedSourceMetadata": true,
            "contentKind": true,
            "status": true
          },
          "inWindow": false,
          "reportRelevant": false,
          "decision": "ineligible"
        }
      ],
      "planRationale": "Complete constituent and global discovery found no in-window, source-eligible item explicitly relevant to XRP, HYPE, AVAX, or TRX. The strongest assessed news items were either unrelated, broadly crypto-general, or lacked qualifying relevance; no quota was filled."
    },
    "items": []
  },
  "newsStatus": "no-relevant-catalyst",
  "researchDossier": "/Users/seangordon/code/report-publisher-harness/runs/2026-09-20-20260920T163009Z/editorial/dossier.json"
}
