Pollector - UDP server with ClickHouse writer for HFT market data. Trades are serialized as simple strings.
- Run UDP server & initialize CH database:
docker compose up --build- Run any client from
examplesdirectory or write your own:
uv run -m examples.binance_perp- Trades will be saved in
market_data.tradestable:
select * from market_data.trades order by ts_recv desc limit 20;
┌───────────────────────ts_recv─┬─exchange─────┬─symbol─────┬───price─┬──qty─┬─is_taker_sell─┬─id─────────┬──────────────────ts_execution─┬──────────────────────ts_event─┐
1. │ 2026-04-04 20:07:23.458853367 │ binance-perp │ PUFFERUSDT │ 0.03594 │ 159 │ true │ 25190016 │ 2026-04-04 20:07:23.320000000 │ 2026-04-04 20:07:23.320000000 │
2. │ 2026-04-04 20:07:23.458846532 │ binance-perp │ SUIUSDT │ 0.8687 │ 19 │ false │ 1446785742 │ 2026-04-04 20:07:23.316000000 │ 2026-04-04 20:07:23.316000000 │
3. │ 2026-04-04 20:07:23.458839666 │ binance-perp │ SUIUSDT │ 0.8687 │ 6.8 │ false │ 1446785741 │ 2026-04-04 20:07:23.316000000 │ 2026-04-04 20:07:23.316000000 │
4. │ 2026-04-04 20:07:23.458832657 │ binance-perp │ SUIUSDT │ 0.8687 │ 5.9 │ false │ 1446785740 │ 2026-04-04 20:07:23.316000000 │ 2026-04-04 20:07:23.316000000 │
5. │ 2026-04-04 20:07:23.458825286 │ binance-perp │ SUIUSDT │ 0.8687 │ 15.9 │ false │ 1446785739 │ 2026-04-04 20:07:23.316000000 │ 2026-04-04 20:07:23.316000000 │
6. │ 2026-04-04 20:07:23.458817866 │ binance-perp │ SUIUSDT │ 0.8687 │ 6.4 │ false │ 1446785738 │ 2026-04-04 20:07:23.316000000 │ 2026-04-04 20:07:23.316000000 │
7. │ 2026-04-04 20:07:23.458810101 │ binance-perp │ SUIUSDT │ 0.8687 │ 19 │ false │ 1446785737 │ 2026-04-04 20:07:23.316000000 │ 2026-04-04 20:07:23.316000000 │
8. │ 2026-04-04 20:07:23.458800356 │ binance-perp │ SUIUSDT │ 0.8687 │ 11.5 │ false │ 1446785736 │ 2026-04-04 20:07:23.316000000 │ 2026-04-04 20:07:23.316000000 │
9. │ 2026-04-04 20:07:23.458774529 │ binance-perp │ TONUSDT │ 1.231 │ 8.9 │ false │ 395857930 │ 2026-04-04 20:07:23.316000000 │ 2026-04-04 20:07:23.316000000 │
10. │ 2026-04-04 20:07:23.453923188 │ binance-perp │ STOUSDT │ 0.22655 │ 1011 │ false │ 165244236 │ 2026-04-04 20:07:23.313000000 │ 2026-04-04 20:07:23.313000000 │
11. │ 2026-04-04 20:07:23.453916648 │ binance-perp │ STOUSDT │ 0.22654 │ 45 │ false │ 165244235 │ 2026-04-04 20:07:23.313000000 │ 2026-04-04 20:07:23.313000000 │
12. │ 2026-04-04 20:07:23.453910942 │ binance-perp │ STOUSDT │ 0.22653 │ 45 │ false │ 165244234 │ 2026-04-04 20:07:23.313000000 │ 2026-04-04 20:07:23.313000000 │
13. │ 2026-04-04 20:07:23.453905092 │ binance-perp │ STOUSDT │ 0.22652 │ 25 │ false │ 165244233 │ 2026-04-04 20:07:23.313000000 │ 2026-04-04 20:07:23.313000000 │
14. │ 2026-04-04 20:07:23.453898031 │ binance-perp │ STOUSDT │ 0.22652 │ 45 │ false │ 165244232 │ 2026-04-04 20:07:23.313000000 │ 2026-04-04 20:07:23.313000000 │
15. │ 2026-04-04 20:07:23.453890115 │ binance-perp │ STOUSDT │ 0.22651 │ 1025 │ false │ 165244231 │ 2026-04-04 20:07:23.313000000 │ 2026-04-04 20:07:23.313000000 │
16. │ 2026-04-04 20:07:23.453883721 │ binance-perp │ STOUSDT │ 0.22651 │ 29 │ false │ 165244230 │ 2026-04-04 20:07:23.313000000 │ 2026-04-04 20:07:23.313000000 │
17. │ 2026-04-04 20:07:23.453878016 │ binance-perp │ STOUSDT │ 0.22651 │ 16 │ false │ 165244229 │ 2026-04-04 20:07:23.313000000 │ 2026-04-04 20:07:23.313000000 │
18. │ 2026-04-04 20:07:23.453871878 │ binance-perp │ STOUSDT │ 0.2265 │ 45 │ false │ 165244228 │ 2026-04-04 20:07:23.313000000 │ 2026-04-04 20:07:23.313000000 │
19. │ 2026-04-04 20:07:23.453866099 │ binance-perp │ STOUSDT │ 0.22649 │ 24 │ false │ 165244227 │ 2026-04-04 20:07:23.313000000 │ 2026-04-04 20:07:23.313000000 │
20. │ 2026-04-04 20:07:23.453860421 │ binance-perp │ STOUSDT │ 0.22649 │ 45 │ false │ 165244226 │ 2026-04-04 20:07:23.313000000 │ 2026-04-04 20:07:23.313000000 │
└───────────────────────────────┴──────────────┴────────────┴─────────┴──────┴───────────────┴────────────┴───────────────────────────────┴───────────────────────────────┘