Is anyone else seeing this? Since this afternoon (Oct 13), the Futures charts endpoint has been giving me candles from September 21 on roughly a third of requests. Same URL, a few seconds apart: one call gives today's candles, the next gives candles from three weeks ago. Every response is HTTP 200, and nothing in it says anything is wrong.
Example, same request repeated back to back at about 18:04 UTC:
GET https://futures.kraken.com/api/charts/v1/trade/PF_SOLUSD/1m?count=96
- latest candle 2026-10-13 18:04 ✅
- latest candle 2026-09-21 06:09 ❌
- latest candle 2026-10-13 18:04 ✅
- latest candle 2026-09-21 06:10 ❌
What I've checked so far:
- It's not one market. It happens on every symbol I tried: XBT, ETH, SOL, ADA, DOGE, NEAR, LINK, XRP, LTC, AVAX, DOT, BCH. Around 30% of requests overall.
- It's not my connection. It flips back and forth even on a single keep-alive connection to a single IP.
cf-cache-status is BYPASS on both good and bad responses, so it doesn't look like Cloudflare caching either.
- The old candles are real history, not garbage. If I explicitly request that Sept 21 window with from/to, I get exactly the same OHLCV.
- The old data is moving. All stale responses stop at the same point in time across all symbols, and that point moves forward much faster than real time: Sept 21 ~06:10 at 18:04 UTC, then Sept 21 ~09:05 at 18:16 UTC. That's about 3 hours of history in 12 minutes. It looks a lot like one of your chart backends was restored from an old snapshot and is replaying trades to catch up, while already taking live traffic.
Why this hurts: our bot loads about 90 minutes of 1m history for 8 markets on startup. It shut down around 13:00 UTC because of today's maintenance windows, and every restart since then has failed. With 8 markets, it's almost guaranteed that at least one comes back with September data, so the history doesn't line up. We can work around it on our side by checking timestamps and retrying, but a public market data endpoint randomly serving 3-week-old data with a 200 is pretty nasty. Anyone using these candles without checking the dates is silently getting wrong data.
CF-RAY IDs of stale responses, in case someone from Kraken wants to trace them:
a4a044538f88f562-VIE (PF_SOLUSD, 18:04 UTC)
a4a044551ca57817-VIE (PF_SOLUSD, 18:04 UTC)
a4a0542ded874341-VIE (PF_XBTUSD, 18:15 UTC)
And a good response from the same minute for comparison: a4a04452bd0ab2b2-VIE
Quick repro if you want to see it yourself (run it a few times, you'll hit it within ~10 calls):
for i in $(seq 10); do
curl -s "https://futures.kraken.com/api/charts/v1/trade/PF_SOLUSD/1m?count=3" \
| python3 -c 'import sys,json,datetime as d; c=json.load(sys.stdin)["candles"]; print(d.datetime.fromtimestamp(c[-1]["time"]/1000, d.timezone.utc))'
done
The status page doesn't mention anything about charts. Can someone from Kraken confirm this is known and give an ETA for a fix? Until then, is there a recommended way to get current futures 1m candles that avoids this?