Real-Time Market Data Service with Multi-Source Aggregation
A web service that pulls live market data from three independent exchange APIs, cross-checks the responses, and returns a single aggregated view through a REST API.
- Role
- Backend Engineer
- Evidence
- 3 independent sources · degrades instead of failing · public demo
- Status
- Public demo, private core
The problem
A product that trusts a single data provider inherits every outage, delay and malformed response from that provider. Trusting all of them blindly is not better: prices disagree, response shapes differ, and aggressive polling reaches rate limits quickly.
What I built
A service that pulls live market data from three independent exchange APIs, cross-checks the responses, and returns a single aggregated view through a REST API.
- Degrades instead of failing. Built for reliability rather than features: if one source is slow or down, the service still responds from the others.
- Caching with rate limits in mind. Data is cached to keep latency low and stay within provider rate limits.
- Validation at the boundary. Every response passes through validation before it reaches the client, so broken upstream data does not leak through.
- Deliberately lightweight. Three dependencies, containerized, deployed on cloud infrastructure and running 24/7.
Public interface
The live deployment reads three venues — Bybit, Binance and OKX — on a 60-second refresh and publishes an algorithmic read of the market: a per-asset verdict for BTC, ETH, SOL, XRP and HYPE, a four-day movement map, and ranked liquidity magnets above and below price. The interface is in Russian, and it carries its own disclaimer: it is not investment advice.
Stack
Python, FastAPI, Docker, REST API, exchange APIs.
The public interface can be inspected directly. Provider configuration, credentials and the scoring logic behind the published view remain private.
Ready when the problem is real
Where does manual work become expensive for you?
Describe the process, the failure you cannot afford and the result you need. We will propose the smallest system that solves it reliably.