Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.quanux.org/llms.txt

Use this file to discover all available pages before exploring further.

QuanuX extensions implement the QuanuX Extension Protocol (QXP): standalone programs, typically written in Go, that run alongside the QuanuX core server as sidecar processes. Each extension communicates with the core over HTTP and WebSocket, authenticates with a bridge key, and exposes a specific integration — a broker’s order API, a charting platform’s data feed, an automation workflow engine. You start, stop, and update extensions independently of the main server.

Extension directory

All extensions ship in the /extensions directory of your QuanuX installation:
/extensions
  /n8n              # Go bridge for n8n workflow automation
  /sierra-chart     # DTC client for Sierra Chart
  /figma            # Figma MCP server for UI generation
  /rithmic          # Rithmic market data pump
  /signalr          # Generic SignalR connector
  /ibkr             # Interactive Brokers TWS client
  /tradovate        # Tradovate WebSocket client
  /tradingview-udf  # UDF data feed for charting
Each subdirectory is a self-contained Go module with its own main.go, go.mod, and a SKILL.md describing its architecture and configuration options.

Generate a bridge key

Every extension authenticates to the QuanuX core with a bridge key — a locally generated secret that authorizes the sidecar to connect. You must generate this key before starting any extension.
1

Open Settings

In the QuanuX web or desktop app, navigate to Settings → QuanuX Extensions.
2

Generate the key

Click Generate Key. QuanuX creates a cryptographically random key and stores it in the OS Keyring under QUANUX_<NAME>_KEY for the selected extension.
3

Verify storage

Confirm the key was stored by running:
quanuxctl secrets get QUANUX_<NAME>_KEY
If a value is printed, the key is ready to use.
Bridge keys are separate from your broker credentials. A bridge key authorizes the extension process to talk to QuanuX — your broker API key or password is a different secret stored under its own key name. See Managing API keys and secrets for broker credential setup.

Start an extension

The startup pattern is the same for every extension. Navigate into the extension directory, load the bridge key from the keyring, and run the Go program:
cd extensions/<name>
export QUANUX_BRIDGE_KEY=$(quanuxctl secrets get QUANUX_<NAME>_KEY)
go run main.go
For example, to start the Tradovate extension:
cd extensions/tradovate
export QUANUX_BRIDGE_KEY=$(quanuxctl secrets get QUANUX_TRADOVATE_KEY)
go run main.go
For production use, build the extension binary first with go build -o quanux-<name> . and run the compiled binary instead of go run main.go. This avoids the compilation overhead on each startup and is easier to manage as a system service.

Extension-specific configuration

Each extension accepts additional environment variables to point it at the right host, port, or endpoint. These follow the naming convention QUANUX_<NAME>_<FIELD>. Load them from the keyring the same way you load the bridge key:
export QUANUX_IBKR_HOST=$(quanuxctl secrets get QUANUX_IBKR_HOST)
export QUANUX_IBKR_PORT=$(quanuxctl secrets get QUANUX_IBKR_PORT)
export QUANUX_BRIDGE_KEY=$(quanuxctl secrets get QUANUX_IBKR_KEY)
Refer to the integration-specific pages for the exact variables each extension requires:
  • Rithmic market dataQUANUX_RITHMIC_USER, QUANUX_RITHMIC_PASS, QUANUX_RITHMIC_SYSTEM, QUANUX_RITHMIC_URL
  • TopstepXQUANUX_TOPSTEP__API_KEY, QUANUX_TOPSTEP__USERNAME
  • Interactive BrokersQUANUX_IBKR_HOST, QUANUX_IBKR_PORT
  • Sierra ChartQUANUX_SIERRA_HOST, QUANUX_SIERRA_PORT, QUANUX_SIERRA_BRIDGE_KEY

Remote QuanuX with a local extension

If your QuanuX core server runs in the cloud or on a remote machine, but the extension needs to run locally (for example, the Sierra Chart DTC client or the IBKR TWS client must be on the same machine as your charting or trading platform), use an SSH reverse tunnel to bridge the connection.
1

Open a reverse tunnel from your local machine

This command forwards the remote server’s port 8080 back to your local machine’s port 8080, so the extension can reach the QuanuX API as if it were running locally:
ssh -R 8080:localhost:8080 user@your-quanux-server
2

Set the host variable for the extension

Tell the extension to connect to the tunneled local address:
export QUANUX_<NAME>_HOST=localhost
3

Start the extension

Run the extension as normal:
export QUANUX_BRIDGE_KEY=$(quanuxctl secrets get QUANUX_<NAME>_KEY)
go run main.go
Keep the SSH tunnel alive for the duration of the trading session. If the tunnel drops, the extension loses its connection to the core server. Consider using autossh or a systemd service with Restart=always to maintain the tunnel automatically.

Available extensions reference

The n8n extension exposes QuanuX trading events (order fills, position updates, alerts) as triggers in an n8n workflow. Use it to send notifications, log trades to external systems, or fire conditional automations without writing custom code. Bridge key: QUANUX_N8N_KEY.
The Sierra Chart extension implements the DTC (Data and Trading Client) protocol to feed real-time market data from QuanuX into Sierra Chart. Requires QUANUX_SIERRA_HOST, QUANUX_SIERRA_PORT, and QUANUX_SIERRA_BRIDGE_KEY. See Sierra Chart integration.
The Figma extension runs a local MCP server that connects to the Figma Desktop API. In combination with the QuanuX MCP server, it enables AI agents to read Figma designs and generate QuanuX-compliant React components. See Connect AI agents via the QuanuX MCP server.
The Rithmic extension connects to the Rithmic R|Protocol feed and pumps tick data into the QuanuX data plane. This extension powers live market data for all Rithmic-compatible brokerages and prop firms. See Rithmic integration.
The IBKR extension connects to a running instance of Trader Workstation (TWS) or IB Gateway on your network. It bridges order routing and account data between QuanuX and IBKR. Requires QUANUX_IBKR_HOST and QUANUX_IBKR_PORT.
The Tradovate extension maintains a persistent WebSocket connection to the Tradovate API, relaying order events and market data. Requires QUANUX_TRADOVATE_KEY and QUANUX_TRADOVATE_ENV (set to Demo or Live).
The SignalR extension provides a generic transport layer for platforms that expose a SignalR endpoint. Configure the target URL with QUANUX_SIGNALR_HOST.
The TradingView UDF extension serves a Universal Data Feed endpoint that TradingView-compatible charting libraries can consume. Configure the extension with your QuanuX server address and bridge key.