How NEXUS connects to the markets
Every venue inside 3D NEXUS META operates along two distinct data paths — one for reading market data (orderbook + trades), and one for sending orders. Some venues use both paths through the same connection, others split them across direct WebSockets and local bridges. Understanding which path is which is the key to using the platform safely and profitably.
DATA READ
The visualization engine. Streams live order book depth (L2 / DOM), tick-by-tick trades, and microstructure events into the 3D scene — driving every panel, signal, and AI agent.
- Direct WebSocket feeds to 25+ public market data endpoints
- Authentication-free for market data on most CEX / DEX venues
- Local bridge required for MT5, Sierra Chart, Rithmic, Dukascopy, Polymarket
- Always-on, read-only — the same path used in evaluation mode
TRADE EXECUTION
The order routing engine. Sends BUY / SELL / TP / SL / CLOSE commands to the execution venue using your authenticated credentials. Strictly opt-in — never triggers without your action.
- 11 venues with native execution (Binance, Bybit, OKX, Bitget, MT5…)
- API keys stored in sessionStorage only — wiped when tab closes
- Hyperliquid execution routes through dedicated bridge (private key signing)
- Some venues are intentionally data-only in this build
⊹ Architecture at a glance
The browser opens connections two ways: directly to public exchange WebSockets (left), or via local Python bridges running on ws://localhost:55XX (right). Both paths feed the same 3D engine — the user only chooses an exchange in the dropdown, and NEXUS routes everything underneath.
Direct WebSocket exchanges
These exchanges connect directly from your browser with no installation, no Python, no bridge. Public market data flows over open WebSockets; for the venues that support it, order execution adds a single layer of HMAC-signed REST calls using your API keys (stored locally only).
bullet-public token before connecting. NEXUS
handles this automatically — you only need to pick the symbol and go.
P0,
100 levels.
api.hyperliquid.xyz.
Execution requires the bridge on port 5557 (private-key signing must happen
server-side — never in browser). See the Hyperliquid bridge section.
0.00001 on majors.
For pure FX flow analysis without going through MT5 or Dukascopy.
Local Python bridges
Some venues — like MetaTrader 5, Sierra Chart, Rithmic, Polymarket and Dukascopy — use
proprietary protocols (binary, COM, DTC, JForex) that browsers cannot speak natively.
For these, NEXUS ships a small Python relay that runs on your machine, translates
the protocol, and exposes a clean WebSocket on ws://localhost:55XX.
Each bridge is a single .py file with a Tkinter GUI launcher (or CLI flags).
Start it once → it sits in a tray, polls or subscribes to the upstream feed, and broadcasts
over a local WebSocket. NEXUS then connects as if the venue were a normal exchange.
No data leaves your machine — the bridge runs fully local.
|MDD to the symbol in the Intraday File Update List. Full L2, ms-precision
trade prints, order routing.
⊹ Bridge Setup · Universal Steps
-
Install Python 3.10+ if you don't have it. Windows users: tick Add Python to PATH
during install. Mac/Linux: usually preinstalled. Verify with
python --version. -
Install required packages for the bridge you want. Most need just
pip install websockets; MT5 also needspip install MetaTrader5; Hyperliquid needspip install hyperliquid-python-sdk. -
Launch the bridge by double-clicking the
.pyfile (or running it from terminal). A GUI window opens. Enter credentials if needed and click Connect. - Open NEXUS in your browser. In the Controls panel, select the matching exchange from the dropdown (e.g. MT5 Local, Sierra Chart, Polymarket).
-
Confirm the bridge URL in the small config box that appears (default
ws://localhost:5555for MT5, increment for others). Hit Enter — NEXUS attempts to connect immediately. - Pick a symbol in the dropdown; the 3D scene starts streaming. The bridge status indicator turns green when data is flowing. If trading is supported, the BUY/SELL buttons unlock.
Some Windows antivirus solutions (especially Bitdefender, Kaspersky) block outbound TCP
from Python scripts. If the bridge starts but NEXUS can't connect to ws://localhost:5555,
allow python.exe through your firewall, or temporarily disable real-time
protection while testing.
Sending orders safely
The EXECUTE panel (▲) is the gateway between your decisions and the market. It supports MARKET, LIMIT and STOP orders with leverage controls, reduce-only flags, optional auto-trading with Smart martingale and Reverse modes, and per-day risk caps. Every venue routes through its appropriate path automatically.
⊹ Setting up API keys
- On the exchange website, navigate to API Management and create a new key. Name it descriptively (e.g. NEXUS-DESKTOP-2026).
- Enable only the permissions you need: Spot for spot trading, Futures for perps. Never enable Withdrawals — NEXUS does not need it and disabling it limits damage if a key leaks.
- IP whitelist if your home IP is static. If not (or you trade from multiple locations), leave unrestricted but keep withdrawal permissions OFF.
- Copy the API key, secret, and (for OKX / Bitget / KuCoin) the passphrase. Open the NEXUS API Keys panel (⬛ icon), select the exchange tab, and paste each value.
-
Click SAVE & CONNECT. The status dot turns green and the BUY/SELL buttons in
the EXECUTE panel light up. Keys are kept in
sessionStorageonly — they are wiped when you close the browser tab.
1. Use a dedicated trading sub-account if your exchange supports it.
2. NEVER paste keys into a different copy of the file you didn't download yourself.
3. Disable withdrawals on every API key, every time, no exceptions.
4. If you suspect a key leak, revoke it on the exchange immediately — keys can be
rotated without losing your positions.
5. The Testnet checkbox (Binance) routes to testnet.binance.vision
— use it to practice the order panel before going live.
⊹ Order types
| Order Type | Description | When to use | Reduce-only |
|---|---|---|---|
| MARKET | Fills immediately at best available bid/ask | Speed matters; you accept some slippage | Supported |
| LIMIT | Sits passively at your price; fills only if reached | Precise entries; collecting maker rebates | Supported |
| STOP | Triggers a market order when price crosses | Risk management; breakout entries | Supported |
⊹ Auto-trader modules
When enabled, after every losing trade the next trade size is increased to recover the loss faster. The base size is captured when you turn AUTO ON. This is high risk — a streak of losses compounds fast. Always pair with a daily loss limit.
Display shows current loss streak. Resets to base size after a winning trade. Configurable in the AUTO TRADE section of the EXECUTE panel.
Inverts every signal: SCALP/Oracle says BUY → bridge sends SELL, and vice versa. Useful when you suspect the signals are systematically wrong on a particular symbol or session, or for fading retail flow.
Toggle independently from SMART. Both can be on at once. The badge shows in the EXECUTE panel.
Auto-trader only fires when the signal's confidence score (computed by the SCALP or Oracle engines) exceeds your minimum. Default 65%. Range 50–95%.
Higher = fewer but stronger signals. Lower = more trades, more noise. Tune per instrument: BTC perps tolerate 60%, illiquid micros need 75%+.
Cooldown: minimum milliseconds between two auto-trades (default 15,000). Max positions: hard cap on simultaneous open trades. TP/SL ticks: take-profit and stop-loss distances in tick units — automatically scaled per symbol's native tick size.
Each open auto-position is tagged with the signal that triggered it, so you can audit which signals are profitable in your stats.
When the day's running PnL crosses your configured loss or profit cap, AUTO TRADE
is force-disabled and a red LIMIT HIT badge appears next to
the panel. You must manually re-enable next session.
This is the most important risk feature. Always set both — it protects you from blow-up days and locks in green days.
Tick which signal types the auto-trader is allowed to act on:
- Absorption — hidden buying / selling into walls
- Iceberg — replenishing limit orders
- Exhaustion — failed continuation
- Delta spike — sudden directional aggression
- Spoof — fake walls (often inverted)
- Smart money — large player accumulation/distribution
- Oracle prediction — AI agent consensus (off by default)
⊹ Execution support matrix
| Venue | Data | Execution | Auth | Notes |
|---|---|---|---|---|
| Binance Spot / Perps | ✓ Direct WS | ✓ Native | API key + secret | Testnet supported |
| Bybit Perps | ✓ Direct WS | ✓ Native | API key + secret | — |
| OKX Swap | ✓ Direct WS | ✓ Native | Key + secret + passphrase | — |
| Coinbase Advanced | ✓ Direct WS | ✓ Native | JWT-signed key | — |
| KuCoin Spot | ✓ Token WS | ✓ Native | API key + secret | Auto-token bullet |
| Bitfinex Spot | ✓ Direct WS | ✓ Native | API key + secret | — |
| MEXC Spot | ✓ Protobuf | ✓ Native | API key + secret | — |
| Hyperliquid | ✓ Direct WS | ⚡ via Bridge :5557 | EVM private key | HIP-3 supported |
| Gate.io TradFi | ✓ Direct WS | ✓ Native | API key + secret | 24/5 |
| Bitget Perps / TradFi | ✓ Direct WS | ✓ Native | Key + secret + passphrase | — |
| Binance RWA | ✓ Direct WS | ✓ Native | Binance Spot keys | Whitelist filter |
| FXCM | ✓ Direct WS | ✓ Native | FXCM token | — |
| Kraken Spot | ✓ Direct WS | — Disabled | — | Data only this build |
| dYdX V4 | ✓ Direct WS | — Disabled | — | Cosmos signing N/A |
| Aster DEX / TradFi | ✓ Direct WS | — Disabled | — | — |
| Crypto.com | ✓ Direct WS | — Disabled | — | — |
| Deribit | ✓ REST poll | — Disabled | — | Options chain visible |
| Tradovate | ✓ Direct WS | — Disabled | — | Use Rithmic for exec |
| MT5 (any broker) | ✓ Bridge :5555 | ✓ Bridge | Broker login | Dual-broker mode |
| Rithmic | ✓ Bridge :5556 | ✓ Bridge | Rithmic creds | — |
| Polymarket | ✓ Bridge :5558 | ✓ Bridge | Polygon priv key | Smart Wallet OK |
| Sierra Chart | ✓ Bridge :5559 | ✓ Bridge | SC DTC creds | — |
| Dukascopy | ✓ Bridge :5560 | ⚡ via JForex GUI | JForex login | — |
The Aggregator mode
One symbol. Multiple exchanges. One unified order book and trade tape. The Aggregator v2 fuses live feeds from up to five venues simultaneously, with staleness detection, divergence alerts, and per-exchange metrics.
Pulls L2 books and trade streams from Binance Perps, Binance Spot, Bybit, OKX, and Hyperliquid at the same time, normalizes each into common units (BTC contracts vs coin units, etc.), merges into a consensus book, and visualizes the combined liquidity in 3D. Each exchange is colour-tagged so you can see where the bids and asks live.
⊹ How to enable
- Pick a symbol on any of the supported exchanges (BTCUSDT works everywhere).
- Find the AGG ON / OFF button — typically in the Controls or top bar.
- Select which exchanges to include in the merge using the checkboxes.
- The connection status flips to
AGG LIVEand the 3D scene shows fused depth. - To return to single-exchange mode, click AGG OFF. NEXUS restores the original WS connections.
Staleness threshold: any exchange silent for >5 seconds is marked stale and
visually faded.
Divergence alert: when one venue's mid-price diverges >0.3% from consensus, a
warning fires (often signals a bad feed or a flash dislocation).
Trade dedup: trades arriving on multiple exchanges with the same timestamp +
price are merged to avoid double counting.
You cannot place an order from AGG mode — execution still requires picking a single exchange because each venue has its own order routing path. Use AGG to find the edge, then switch to the single-exchange view to execute on the venue you prefer.
Troubleshooting connectivity
Most issues fall into one of four buckets: CORS / browser policy, API key permissions, bridge not running, or upstream venue maintenance. The list below covers the symptoms we see most often.
Cause: the file is opened directly with file:// (double-click on the
HTML), so browsers block cross-origin fetches. NEXUS auto-falls-back to a CORS
proxy chain (corsproxy.io, allorigins.win,
cors-anywhere) — but proxies sometimes go down.
Fix: serve the file from a tiny local HTTP server. From the folder containing
the HTML, run: python -m http.server 8000, then open
http://localhost:8000/3D_NEXUS_META.html. WebSockets work fine in
both modes; only REST needs the proxy.
Cause: server-time drift. Binance and similar exchanges reject requests whose timestamp is more than ±1 second off the server clock. NEXUS performs an automatic server-time sync on connect, but if your OS clock is badly wrong it can still fail.
Fix: sync your computer clock. Windows: Settings → Time & Language → Sync now. Mac: System Settings → Date & Time → set automatically. Re-save your keys after syncing.
Cause: API key was created without the right trading scope. Most common: you enabled Spot but try to trade Perps, or vice versa.
Fix: regenerate the key with the correct scopes ticked. For Bitget & OKX make sure passphrase is also pasted — these exchanges silently fail if it's missing.
Cause: NEXUS can't reach ws://localhost:55XX. Either the bridge
isn't actually listening, or a firewall is blocking the local socket.
Fix: open the bridge GUI's log panel — you should see
WebSocket server listening on 0.0.0.0:5555 (or the relevant port).
If yes, allow python.exe through your firewall. If no, the bridge
failed to bind — check whether another process owns that port (run
netstat -ano | findstr 5555 on Windows).
Cause: you launched the Hyperliquid bridge without supplying a key. Market data works without it, but you cannot send orders.
Fix: launch with python hyperliquid_nexus_bridge.py --key 0xABC…
or --key-file key.txt, OR paste the key in the GUI prompt. Use a
dedicated trading wallet with limited funds — never your main wallet.
Cause: WebSocket disconnect, often due to laptop sleep, ISP hiccup, or upstream
rate-limit. NEXUS has built-in auto-reconnect with exponential backoff, but the
feed shows STALE while it reconnects.
Fix: usually self-heals within 5–10 seconds. If it persists, click the refresh icon next to the symbol or briefly switch to another symbol and back. For laptops, consider keeping the lid open and disabling sleep during long sessions.
Cause: SC requires explicit depth subscription per symbol. By default it streams last-trade only.
Fix: in Sierra Chart, go to Trade → Trade Service Settings and
confirm DTC is enabled. Then in File → Symbols → Intraday File Update List,
append |MDD after each symbol you want to stream depth for (e.g.
ESM26-CME|MDD). Restart the bridge after changes.
Cause: when you signed up to Polymarket via Magic Link / email, your trading wallet is a proxy wallet contract distinct from your EOA. The bridge needs both: your private key (signs) AND the proxy address (where funds live).
Fix: in the bridge GUI, paste both. The Smart Wallet path is
0xYourProxy… — find it in your Polymarket profile under
Settings → Funder address.
Cause: hot-reloads or page refreshes reset the running PnL counter. The hard limit only persists within a session.
Fix: after a limit hit, leave the page closed for the rest of the session. Or paste the limits into the AUTO TRADE config before opening positions so they survive a refresh.
Glossary & acronyms
Quick reference for terms used throughout the platform and this guide.
| Term | Definition |
|---|---|
| L2 / DOM | Level-2 / Depth Of Market — the order book showing bids & asks at multiple price levels (not just best bid / best ask). |
| aggTrade | Aggregated trade — Binance's stream of trades collapsed when multiple fills happen at the same price/timestamp. |
| WS | WebSocket — bidirectional protocol used by exchanges for low-latency streaming. |
| REST | Stateless HTTP API — used for snapshots, history, and order placement. |
| HMAC-SHA256 | Cryptographic signature scheme used by most exchanges to authenticate REST orders. |
| JWT | JSON Web Token — modern signing scheme used by Coinbase Advanced. |
| EIP-712 | Ethereum standard for signing structured data — used by Polymarket and other DeFi protocols. |
| DTC | Data and Trading Communications — Sierra Chart's binary protocol for L2/exec. |
| JForex | Dukascopy's Java-based trading platform; ships a Strategy SDK for custom data export. |
| MT5 | MetaTrader 5 — popular retail platform supporting forex, CFDs, and increasingly crypto. |
| HIP-3 | Hyperliquid Improvement Proposal 3 — TradFi dexes embedded in Hyperliquid (xyz:SP500…). |
| RWA | Real-World Asset — tokenized stocks, treasuries, gold, real estate. |
| VPIN | Volume-synchronized Probability of Informed trading — toxicity metric. |
| OFI | Order Flow Imbalance — micro-predictor of next-tick direction. |
| OBI | Order Book Imbalance — ratio of bid vs ask depth at top N levels. |
| Reduce-only | Order flag that can only decrease an existing position, never flip it. |
| Testnet | Exchange sandbox using fake money — perfect for learning without risk. |
| Smart Wallet | Polymarket proxy contract that holds funds and is controlled by your EOA private key. |
| EOA | Externally Owned Account — a regular Ethereum wallet controlled by a private key. |
| CLOB | Central Limit Order Book — the trading model used by Polymarket and most CEXs. |