The challenge
Strategy signals from a central system had to become exchange orders with operator controls.
What we built
- REST controls to start, stop and edit trading runners
- Bitunix signing, REST and WebSocket streams
- PostgreSQL trade records and admin monitoring pages
The full story
The situation
An algorithmic trading client needed strategy signals from its central system turned into Bitunix exchange orders, with controls for operators.
What we built
A Python and FastAPI service with REST controls to start, stop and edit trading runners. It handles Bitunix signing and REST calls, listens to public and private WebSocket streams for prices, balances, orders and positions, and stores configuration and trades in PostgreSQL. Admin pages show runner status and trade history.
Execution controls in the spec
- Limit chase: moves a limit order as the price changes
- Time-to-kill: cancels and records orders that sit unfilled too long
- Idempotent tracking: runner and trade IDs that prevent duplicates
Honest note
The repository covers the FastAPI service, database and management pages. The more advanced safeguards are defined in the specification, and no trading performance figures are claimed.