The most expensive mistake a charting platform can make is opening one WebSocket per browser tab. You can't argue your way out of that math — at 10,000 concurrent traders watching three symbols each, you've opened 30,000 upstream connections. Most market-data vendors will throttle you before lunch. The ones that won't will send you an invoice that does.
The fan-out pattern
Vera Charts runs a server-side fan-out: one upstream connection per symbol, regardless of how many clients are watching it. When the first tab subscribes to BTCUSDT, we open the upstream WebSocket. When the ten thousandth tab subscribes, we just add it to the in-memory subscriber set and start pushing the same tick stream to its SSE channel.
When the last tab unsubscribes, we keep the upstream open for a few seconds (because someone almost always reopens), then tear it down. From the vendor's perspective, we're a single client per symbol — even when ten thousand traders are watching.
How that maps to vendor cost
For crypto we run on Binance's public WebSocket — no API key, no rate limit at our scale, no per-message cost. That's the easy case. For forex, where every vendor charges either per-symbol or per-tick, the fan-out is what makes the platform economically viable. We pay for the symbols we subscribe to, not the tabs that subscribe to us.
This is the part of the architecture our prop-firm partners care most about. They don't want their platform's market-data bill to scale linearly with trader count. With the fan-out, it doesn't. The bill scales with the unique-symbol surface area, which is bounded.
What you don't compromise on
- Tick fidelity: every subscriber gets every tick. The fan-out doesn't sample or batch.
- Backpressure handling: slow subscribers can't slow the upstream. They get queued, then dropped if they fall too far behind.
- Symbol whitelisting: clients can't request arbitrary symbols. The server enforces the whitelist before opening a new upstream.
If you're evaluating platforms for your firm and the conversation hasn't gotten to upstream connections, ask. The answer tells you a lot about how the platform's bill is going to behave when you grow.