Real-time Monitor
A genuine WebSocket stream of generated store events and live BTC/USDT prices from Binance and Bybit, with connection state, bounded history and reconnection.
Store events are generated on the server and do not measure real traffic. The BTC/USDT prices are real public market data from Binance and Bybit, sampled by the API every few seconds.
BTC/USDT: Binance vs Bybit
Last traded price on each exchange over the last two hours, sampled by the API. The Y axis fits the lowest and highest price in that window.
- Binance
- —
- Bybit
- —
- Spread (Bybit − Binance)
- —
Loading the price history…
Only this browser's stream changes: each connection has its own generator. A new rate reconnects the stream.
Connecting…
Events per second
—
Active connections
—
Average order value
—
Orders in this visit
0
Throughput over time
Waiting for the first events…
Orders by category
Waiting for the first events…
Based on the 0 orders in the feed.
Order values in real time
Each point is one generated order from the last 30 seconds. When there are too many to tell apart, the band shows the lowest to highest order in each slice of time and the line their average. The dashed line is the average order value since the stream connected.
Waiting for the first events…
Event feed
The newest 10 events are shown; up to 200 are kept in this browser, older ones are dropped.
No events yet.
Exchange stream log
What happens on the API's WebSocket connections to Binance and Bybit. Price ticks are thinned to one per second per exchange; the newest 10 entries are shown and up to 200 are kept in this browser.
No exchange events yet.
How the stream works
The browser opens one WebSocket to the API and checks every frame against the shared contract. The chosen order rate travels as ?rate= on the connection URL and the server runs a separate generator for each connection, so the stream stays one-way. If the connection drops, it retries with capped, jittered backoff up to 8 times, then waits for a manual retry. The feed is a bounded list, so memory stays flat however long the stream runs. For the prices, the API keeps one connection to each exchange's public stream, however many visitors are watching, and keeps a bounded two-hour history that the chart loads first.
Built with the NestJS WebSocket platform on the ws library, the public Binance and Bybit market-data streams, Zod for frame validation and uPlot for the charts.