Multi-tenant crypto trading analytics
A multi-tenant crypto analytics and trading dashboard built by ZettaCore, streaming live candlestick data over WebSocket with MACD, RSI and Ichimoku indicators, on Fastify and Redis.
Trading interfaces are judged on latency. Charts must update as the market moves, technical indicators have to be computed continuously rather than on request, and the same infrastructure has to serve multiple tenants without one tenant’s activity degrading another’s view of the market.
A Fastify service streaming live market data from the Binance API to browser clients over WebSocket, with Redis holding hot candlestick series so indicator computation reads from memory rather than re-requesting upstream. MACD, RSI and Ichimoku are computed server-side and pushed, keeping the client thin and every tenant’s chart consistent.
Streaming rather than polling
A charting interface built on polling is always some interval behind the market, and the only way to narrow that gap is more requests. WebSocket inverts it: the server pushes when data changes, so the interface tracks the market instead of sampling it, and load scales with market activity rather than with the number of open charts.
Indicators computed once, not per client
MACD, RSI and Ichimoku all derive from the same candlestick series. Computing them per client multiplies identical work by the number of viewers and — worse — lets two clients disagree about the same indicator when their inputs drift. Computing server-side against a shared Redis-backed series means every tenant sees the same number for the same candle.
Redis as the hot path
Recent candles are read constantly and change predictably. Holding them in Redis keeps indicator computation off the upstream API, which matters for rate limits and for the latency budget of the push alike.
Multi-tenancy without cross-tenant coupling
Tenant separation runs through the subscription model, so a tenant’s symbol set and interval preferences determine what they receive, without giving any tenant the ability to affect what another is sent.
How it was delivered.
Context, architecture, technology and outcome for this engagement.
Trading interfaces are judged on latency. Charts must update as the market moves, technical indicators have to be computed continuously rather than on request, and the same infrastructure has to serve multiple tenants without one tenant’s activity degrading another’s view of the market.
A Fastify service streaming live market data from the Binance API to browser clients over WebSocket, with Redis holding hot candlestick series so indicator computation reads from memory rather than re-requesting upstream. MACD, RSI and Ichimoku are computed server-side and pushed, keeping the client thin and every tenant’s chart consistent.
Fastify, Redis, WebSocket, Binance API
Deployed as a multi-tenant analytics and trading dashboard.
Ready to scope it properly?
Bring the problem, the constraints and the deadline. We will come back with an architecture and an honest view of effort.