“Show me the high and the low inside each window.”
no-intra-window-rangeThere is no high and there is no low, at any licence this desk can hold. The 15-minute crypto windows settle on a CF Benchmarks real-time index, which is an order-book-derived value published about once a second — it is a stream, not a bar, so an intra-window range would have to be constructed by us from data we are not permitted to store or show. Four doors, all closed, and they are closed for four different reasons. What this desk draws instead is a BODY-ONLY BAR: open is the number to beat, close is the realized settlement value, and the colour is the sign of the difference. Every pixel of that is a published venue number. `components/indices/IndexPriceChart.tsx:16-22` is the standing precedent for why the missing pieces are not simply filled with the pieces we have: "Feeding o=h=l=c to a candle renderer would draw a row of doji, and a doji is a CLAIM." So is a wick.
Measured 2026-09-10: Twenty-five sources surveyed against their own published terms, 2026-09-10. NOTHING is available free: Coinbase forbids redistributing or DISPLAYING the data and separately forbids using it to create "indexes, fixings, or other benchmarks"; Binance.US forbids "public display" of anything obtained through its API; Gemini permits personal and internal use only and requires a Redistribution Agreement; Kraken licenses its content "only for your own benefit"; and CF Benchmarks — the actual settlement basis, and Kraken-owned — requires a licence to use or distribute at all and publishes no fee. Pyth is explicit at the tier level: its free plan grants "No display, non-display, or redistribution rights". Alpaca is the one free keyless crypto-bar endpoint and it fails twice over: its terms allow the data "exclusively for personal and noncommercial access", and the bars are drawn from Alpaca's own venue, which returned n=0 trades on every 1-minute bar sampled — moving OHLC over zero volume. No exchange REST endpoint surveyed serves sub-minute bars either, so a genuinely smooth candle needs websocket aggregation, which is a derived work and a harder licence rather than an easier one.
Retires when A display licence is signed for a source that permits BOTH public display and derived calculation. Five surveyed sources grant some form of it and not one of them cleanly. CoinAPI publishes the plainest permission — its FAQ answers "Can I use the API to show graphs, charts or tables?" with "Yes, you can use our data to display graphs, charts, or tables", and it markets benchmark creation — from USD 79 a month, but its Customer Agreement licenses the service "for your internal business purposes only" and never once uses the word display, so that right has to be written into the order form before a chart ships on it. Bitstamp grants display AND "the right to create ratios, calculations, new original works, statistics" in published terms, at a quote-only fee. Kaiko sells a named display licence, and Amberdata grants display to a subscriber's own users plus dashboards and rankings — both quote-only, and both now one company. Tiingo is the trap: it publishes a display price (USD 250 startup, USD 500 enterprise) while its section 1.4(h) forbids "publishing or otherwise making available to the public any analysis" and forbids benchmarking, and its section 1.6(c) names CHARTS as a prohibited derived product. None of them retires the deeper problem: a candle built from exchange TRADE data is a different quantity from the order-book mid these contracts settle on, so it would sometimes draw a body crossing the threshold on a window the venue settled the other way. Only a CF Benchmarks licence, or a written data authorization from Kalshi — whose API already carries the BRTI value feed at 5Hz to entitled accounts — gives a wick at the basis this desk actually publishes.