QuantX is released under a dual-license model:
-
Non-Commercial License:
Creative Commons Attribution-NonCommercial 4.0 (CC BY-NC 4.0)
You may use, modify, and redistribute QuantX for personal, research, or academic, non-commercial purposes.
Attribution is required. -
Commercial License:
For use within proprietary tools, paid software, or by proprietary trading firms, a commercial license is required.
Please contact QuantDIY@protonmail.com for terms and integration options.
See the LICENSE file included in this repository for the full legal text of both license types.
QuantX is a modular, cross-platform desktop trading assistant designed for seamless integration with the TopstepX API. Built by traders for traders, QuantX automates connectivity, account management, and live trading—while providing a robust foundation for custom strategies and future-proof expansion.
QuantX v0.0.3 is a major architectural overhaul:
- Electron shell for a native cross-platform GUI
- Modern frontend: React + Vite + TypeScript
- Refactored backend: Flask, Socket.IO, Redis, Node.js SignalR bridge
- Full separation of concerns:
- All business logic in the backend
- Electron is now purely for desktop presentation and IPC
- Easy local dev workflow: all services can be built and run in parallel
- Extensible, modular stack: perfect for both advanced users and future contributors
Layer | Technology | Purpose |
---|---|---|
Frontend | React, Vite, TypeScript, Tailwind | Modern, high-performance UI |
Desktop | Electron (TypeScript) | Cross-platform desktop window, IPC, UI shell |
Backend | Python (Flask, Socket.IO) | REST API, real-time events, strategy runner |
Data Bus | Redis | Fast pub/sub, caching, inter-process messaging |
SignalR | Node.js + @microsoft/signalr | Bridge for robust SignalR connectivity (TopstepX market data) |
Testing | Pytest, Jest | End-to-end tests in both Python and JS |
Styling | Tailwind CSS | Consistent, modern styles |
+-------------------+
| Electron | (window, menu, IPC)
+---------+---------+
|
IPC / HTTP / Websocket
|
+---------v---------+
| Flask API | (Python backend, Socket.IO)
+---------+---------+
|
+-----------+-----------+
| |
+---------v--------+ +--------v---------+
| Redis |<->| Node SignalR |
| (cache, pub/sub) | | Bridge |
+------------------+ +------------------+
(connects to TopstepX)
- Electron = UI only, runs locally, communicates via IPC to backend
- Backend = Python Flask API (handles logic, account mgmt, signals)
- Redis = fast caching + cross-process events
- Node Bridge = connects to TopstepX’s real-time SignalR feeds, feeds Python backend
git clone https://github.com/quantDIY/QuantX.git
cd QuantX
python3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txt
npm install
- Linux/macOS:
redis-server
- Windows:
Download and run Redis for Windows or use WSL.
If you want live TopstepX market data, run the Node.js bridge (see /node_bridge/
):
cd node_bridge
npm install
node bridge.js
npm run build
npm run build:electron
You can start all services for development in parallel with:
npm run start:all
Or manually, in separate shells:
Shell 1: Start Python Backend
source venv/bin/activate # or venv\Scripts\activate on Windows
FLASK_APP=backend/app.py FLASK_ENV=development PYTHONPATH=./backend flask run --port=5000
Shell 2: Start Redis
redis-server
Shell 3: Start Node Bridge (if using)
cd node_bridge
node bridge.js
Shell 4: Launch Electron
npm run start:electron
QuantX uses a .env
in the project root for sensitive info.
A sample is provided:
cp .env.example .env
The onboarding flow will auto-update this file.
JavaScript (Jest):
npm test
Python (Pytest):
pytest tests/python
- macOS (Apple Silicon & Intel)
- Ubuntu Linux
- Windows 10+
- Major refactor to Electron shell—modern, native desktop feel
- New frontend: Vite + React + TypeScript
- Python backend refactored for clarity and extensibility
- Redis introduced for ultra-fast caching and event bus
- Node SignalR bridge for stable, real-time TopstepX data
- Clean build scripts and local-only, dev-friendly workflow
- Easy extension: add new routes, strategies, and UI features quickly
QuantX is dual-licensed:
- License: CC BY-NC 4.0
- You may use, modify, and redistribute QuantX for personal, academic, or non-commercial purposes.
- Attribution required:
Cite "QuantX – QuantDIY" in derived works, research, or educational use.
- Commercial/proprietary use requires a separate license.
- This includes (but is not limited to):
- Integration with paid tools
- Use by proprietary trading firms
- Monetization or redistribution in commercial software
- Contact: QuantDIY@protonmail.com for terms and pricing.
The LICENSE file in this repo contains the full legal text for both licenses. Please read it before use.
We love contributors!
- Fork, branch, code, PR!
- See
.github/CONTRIBUTING.md
for more details.
Big shoutout to the TopstepX developer community and all testers for making QuantX better with every release!
For questions or support, open an Issue or email QuantDIY@protonmail.com