Polls self-hosted Frankfurter API hourly for USD-based EUR and DKK exchange
rates. Both the WebSocket HTML fragments and the /api/price/latest JSON
endpoint now include the currency rates alongside BTC price.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Split from btcprice monolith. Owns DB, migrations, Binance WebSocket,
Kraken OHLC pollers, and exposes a JSON API with SSE price stream.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>