Changelog
All notable changes to the Sharpe API are documented here. Entries are auto-generated from conventional commits touching API code, docs, and infrastructure.
August 2026
feature
terminalbrowser-direct live mark prices and calmer client polling
- a module-singleton WebSocket to Binance's public mark-price firehose feeds
- flagship polls dropped to 60s against the faster CDN windows, /global
- W5 mop-up: /global, heatmap, narratives, ecosystems, memecoins reads
- Playwright specs pin the contracts: static logos with zero proxy hits, the
- rider fixes: CORS conditional-request test, cron lock steal timeout, the
feature
funding5-minute ingest, coin-level mark prices, and the freshness contract sweep
- funding rates now refresh every 5 minutes (was 30) and futures every 10;
- every funding row carries a coin-level mark_price from Binance's
- every developer-facing 30-minute freshness claim was swept in the same
- settlement detection pre-filters against the last stored settlement per
improvement
fundingserve the book from write-time snapshots with ETag/304 and a coins index
- The funding cron serializes the base book to private storage once per run;
- The crypto global-overview tab is precomposed into a snapshot table.
- New /api/funding/coins (+ v1 twin) feeds the coin picker, so the coin page
- Reads tolerate a not-yet-migrated database via a 42703 legacy-column
fix
cachemove the shared response cache to Vercel Runtime Cache and retire Upstash
- shared-response-cache.ts backend is now getCache() from @vercel/functions:
- Public + token-scanner rate limiting moved to a new text-keyed Supabase
- Token-scanner boost/momentum ZSETs became pruned JSON series behind the
fix
cachestop the Upstash client bailing static pages out to dynamic