Architecture
The two components are independent. You can run the REST extension without the SignalR bridge if you only need account management and order placement, or run just the bridge if you only need real-time data.Prerequisites
You need three pieces of information from TopstepX before you can connect:- Username: your TopstepX account username
- Password: your TopstepX account password
- API key: your TopstepX API key, available from the TopstepX dashboard
Setup
1
Store your credentials
Use
quanuxctl to save your TopstepX credentials to the OS keyring. These are never written to a file on disk.2
Verify your environment
Confirm that all credentials are accessible:This command reads each credential from the keyring and prints its status without revealing the values.
3
Install Python dependencies
The TopstepX REST extension is Python-based. Install its dependencies:This installs the packages required by
extensions/python/topstepx.4
Generate a bridge key
Generate a key so both extensions can authenticate to the QuanuX core:
- Open the QuanuX web interface.
- Go to Settings → QuanuX Extensions.
- Click Generate Key and store the value:
5
Start the SignalR bridge
Check the bridge status, then start it:The bridge connects to both the user hub and the market hub on startup. Once running, real-time events flow into the QuanuX message bus automatically.
Credentials reference
All credentials are managed throughquanuxctl and stored in the OS keyring under the following keys:
Endpoint configuration
The extensions connect to TopstepX’s production endpoints by default. You can override any endpoint — for example, to point at a simulation environment.
To override an endpoint for a simulation environment:
Managing the SignalR bridge
The bridge runs as a separate process managed by QuanuX. It maintains a persistent WebSocket connection to both TopstepX real-time hubs.The SignalR bridge uses a Node.js worker by default to handle TopstepX’s proprietary SignalR protocol. A Flask fallback is also available if Node.js is not present.
REST extension modules
The TopstepX Python extension lives inextensions/python/topstepx/src. Its modules correspond directly to the TopstepX API surface:
REST API endpoints
The QuanuX server exposes the following routes for the TopstepX integration. These are used internally by the QuanuX core and can also be called directly for debugging.- Authentication
- Accounts
- SignalR connect
- SignalR subscribe
POST
/topstep/loginAuthenticates with TopstepX and returns a session token.