Burn Visualizer

Time-windowed burn statistics — reference implementation for the Burnwatch frontend.

API Reference

GET /api/stats/timeseries?window=1d|1w|1m|1y
Auth: Bearer READ_API_KEY or same-origin (no key needed from browser). Cached for 60s, invalidated on burn events.
Response Shape
{
  "window": "1d",
  "current":  { "usdcSpent": "150000", "vvvBurned": "89000", "burnCount": 12 },
  "previous": { "usdcSpent": "120000", "vvvBurned": "72000", "burnCount": 9 },
  "percentChange": { "usdcSpent": 25.0, "vvvBurned": 23.61, "burnCount": 33.33 },
  "timeseries": [
    { "timestamp": "2026-02-20T00:00:00Z", "usdcSpent": "5000", "vvvBurned": "3200", "burnCount": 1 },
    { "timestamp": "2026-02-20T01:00:00Z", "usdcSpent": "8000", "vvvBurned": "5100", "burnCount": 2 }
  ]
}
Bucket granularity: 1d → hourly, 1w / 1m → daily, 1y → weekly (Monday-aligned). Values are raw integers (not wei-scaled). percentChange handles division by zero → 0.