AB Trade-X Architecture Map

Current simplified operating model: platform-first routing, MNQ focus, Breakout crypto active, MES test-only, and Webull isolated.

Current Execution Surfaces

2026-07-01 ET

Lucid / Tradovate

Primary futures bridge on port 8000 for Lucid/Tradovate execution.

Webull

Isolated worktree and hook on port 8001 for Webull MNQ execution.

Breakout / Kraken

Crypto execution on port 8002 through the Breakout/Kraken lane.

Component Journey Map

alert to broker
1. TradingView Pine Chart alerts emit the JSON payload: action, symbol, strategy, script_id, source_symbol, order type, limit, TP, and SL.
Pine identityTP/SL source
->
2. Webhook Lane The public tunnel lands on the intended FastAPI process. Tests and proofs use /webhook/test only.
:8000 Lucid:8001 Webull:8002 Breakout
->
3. Parser + Guards Secret, parser shape, script/strategy pair, source symbol, allowed symbols, session, order type, TP/SL direction, and strategy guard all pass or block.
block here first
4. Account Router Route overrides, target_accounts, account qty overrides, runtime disables, account symbol allowlists, stack rules, and token pauses resolve final fanout.
qtyaccountsphase
->
5. Broker Executor Tradovate submits OSO/limit brackets, Webull manages child orders, and Breakout/Kraken uses the UI executor or supported REST paths.
order pathcrypto
Lucid / Tradovate MNQ and MES arrive on port 8000. Current MNQ route truth is the table below; final proof is the running /webhook/test preview.
Webull Isolated worktree and webhook on port 8001. Webull has its own account gates and child-order watcher.
Breakout / Kraken Crypto lane on port 8002. BTC/ETH routes should resolve only to breakout_01 and preserve Pine TP/SL.

Legend

Platform / execution surface
MNQ / active test route
MES / test-only or caution state
Crypto / Breakout route
Quantity and stack policy
Excluded or blocked state

Architecture Source

single public view

Lucid Route Matrix

PINE ALERT CONTROL

Visual route snapshot from the running port 8000 Lucid bot. Pine alerts control current live exposure: only the MNQ GB RunBEm alert set is currently on; other MNQ routes remain configured but chart alerts are off. /status is flat and safe to restart; /webhooks/status is unpaused. Final proof is the running /webhook/test preview.

Script Strategy Allowed Accounts / Broker IDs Contracts Behavior Status
MNQ-JP-GB-26
mnq_asia_golden_buy_26_lucid
vb_lucid_lfe050_0003 / LFE05076763860003
1 ctgolden_limit_phase1_tp1_onlylive
MNQ-JP-GB-26-RunBEm1
mnq_jp_gb_26_runbem1_lucid
vb_lucid_lfe050_0003 / LFE05076763860003
1 ctgolden_limit_runbe_qty1_tp2_only
Broker-native Tradovate OSO bracket: 1 entry, TP2 target, original SL. No BE/trail modification.
live
MNQ-15M-JP-GB-26
mnq_15m_asia_golden_buy_26_lucid
vb_lucid_lfe050_0003 / LFE05076763860003
1 ctgolden_limit_phase1_tp1_onlylive
MNQ-15M-JP-GB-26-RunBEm1
mnq_15m_jp_gb_26_runbem1_lucid
vb_lucid_lfe050_0003 / LFE05076763860003
1 ctgolden_limit_runbe_qty1_tp2_only
Broker-native Tradovate OSO bracket: 1 entry, TP2 target, original SL. No BE/trail modification.
live
MNQ-JP-GS-26
mnq_asia_golden_sell_26_lucid
vb_lucid_lfe050_0003 / LFE05076763860003
1 ctgolden_limit_phase1_tp1_onlylive
MNQ-NY-GB-26NY 2m
mnq_ny_golden_buy_26_lucid
vb_lucid_lfe050_0003 / LFE05076763860003
1 ctgolden_limit_phase1_tp1_only
TradingView alert paused in favor of RunBEm.
alert paused
MNQ-NY-GB-26-RunBEm1NY 2m
mnq_ny_gb_26_runbem1_lucid
vb_lucid_lfe050_0003 / LFE05076763860003
2 ctgolden_limit_runbe_dual_oso_be_minus1
Two broker-native 1ct OSO brackets: TP1 leg + TP2 leg, both with original SL. TP2 SL modifies to BE-1 after TP1 confirmed.
live
MNQ-NY-GS-26NY 2m
mnq_ny_golden_sell_26_lucid
vb_lucid_lfe050_0003 / LFE05076763860003
1 ctgolden_limit_phase1_tp1_onlylive
MNQ-NY-SS-77NY 2m
mnq_ny_silver_sell_77_lucid
vb_lucid_lfe050_0003 / LFE05076763860003
1 ctgolden_limit_phase1_tp1_onlylive
MNQ-15M-NY-GB-26NY 15m
mnq_15m_ny_golden_buy_26_lucid
vb_lucid_lfe050_0003 / LFE05076763860003
1 ctgolden_limit_phase1_tp1_only
TradingView alert paused in favor of RunBEm.
alert paused
MNQ-15M-NY-GB-26-RunBEm1NY 15m
mnq_15m_ny_gb_26_runbem1_lucid
vb_lucid_lfe050_0003 / LFE05076763860003
2 ctgolden_limit_runbe_dual_oso_be_minus1
Two broker-native 1ct OSO brackets: TP1 leg + TP2 leg, both with original SL. TP2 SL modifies to BE-1 after TP1 confirmed.
live
MNQ-15M-NY-GS-26NY 15m
mnq_15m_ny_golden_sell_26_lucid
vb_lucid_lfe050_0003 / LFE05076763860003
1 ctgolden_limit_phase1_tp1_onlylive
MNQ-15M-NY-SS-77NY 15m
mnq_15m_ny_silver_sell_77_lucid
vb_lucid_lfe050_0003 / LFE05076763860003
1 ctgolden_limit_phase1_tp1_onlylive

Webull Live Script Matrix

MES JP/NY LIVE 2026-07-02 ET

Visual route snapshot for the isolated Webull bot on port 8001. Current Webull MES live-indicator set contains five Japan-session scripts and five New York-session scripts. Each script is 1 contract; maximum stacking is 2 contracts only across dissimilar scripts.

Script Strategy Allowed Accounts / Broker IDs Contracts Behavior Status
wb-MES-JP-GB-mf5-1m
mnq_asia_golden_buy_lucid
mnq-06 / webull_mes
MES1! / MESM6
1 ct
max stack 2 dissimilar
1900-0200 ET; limit; full TP 0.33; phase mes_jp_gb_mf5_1m live
wb-MES-JP-GB-mf5-2m
mnq_asia_golden_buy_lucid
mnq-06 / webull_mes
MES1! / MESM6
1 ct
max stack 2 dissimilar
1900-0200 ET; limit; full TP 0.33; phase mes_jp_gb_mf5_2m live
wb-MES-JP-GB-mf5-3m
mnq_asia_golden_buy_lucid
mnq-06 / webull_mes
MES1! / MESM6
1 ct
max stack 2 dissimilar
1900-0200 ET; limit; full TP 0.33; phase mes_jp_gb_mf5_3m live
wb-MES-JP-GB-mf5-5m
mnq_asia_golden_buy_lucid
mnq-06 / webull_mes
MES1! / MESM6
1 ct
max stack 2 dissimilar
1900-0200 ET; limit; full TP 0.33; phase mes_jp_gb_mf5_5m live
wb-MES-JP-GB-mf5-1h
mnq_asia_golden_buy_lucid
mnq-06 / webull_mes
MES1! / MESM6
1 ct
max stack 2 dissimilar
1900-0200 ET; limit; full TP 0.33; phase mes_jp_gb_mf5_1h live
wb-MES-NY-GB-mf5-1mNY MES 1m
mnq_asia_golden_buy_lucid
mnq-06 / webull_mes
MES1! / MESM6
1 ct
max stack 2 dissimilar
1000-1300 ET; limit; full TP 0.33; phase mes_ny_gb_mf5_1m live
wb-MES-NY-GB-mf5-2mNY MES 2m
mnq_asia_golden_buy_lucid
mnq-06 / webull_mes
MES1! / MESM6
1 ct
max stack 2 dissimilar
1000-1500 ET; limit; full TP 0.33; phase mes_ny_gb_mf5_2m live
wb-MES-NY-GB-mf5-3mNY MES 3m
mnq_asia_golden_buy_lucid
mnq-06 / webull_mes
MES1! / MESM6
1 ct
max stack 2 dissimilar
1000-1530 ET; limit; full TP 0.33; phase mes_ny_gb_mf5_3m live
wb-MES-NY-GB-mf5-5mNY MES 5m
mnq_asia_golden_buy_lucid
mnq-06 / webull_mes
MES1! / MESM6
1 ct
max stack 2 dissimilar
1000-1230 ET; limit; full TP 0.33; phase mes_ny_gb_mf5_5m live
wb-MES-NY-GB-mf5-15mNY MES 15m
mnq_asia_golden_buy_lucid
mnq-06 / webull_mes
MES1! / MESM6
1 ct
max stack 2 dissimilar
1000-1230 ET; limit; full TP 0.33; phase mes_ny_gb_mf5_15m live

Platform Route Containers

foundation model
Lucid / Tradovate
Main tree, port 8000. Core scripts trade the same intended Lucid pool at the same contract size unless an approved exception is documented and proved. Test/exception account: vb_lucid_lfe050_0003 / LFE05076763860003.
Webull
Separate Webull tree, port 8001. Webull route, lane, webhook, and readiness reporting live in that worktree. Current MES JP and NY live-indicator rows are 1 contract each, with max stacking 2 only across dissimilar scripts.
Breakout / Kraken
Separate Breakout/Kraken route ownership, port 8002. BTC/ETH caps, UI executor readiness, webhook state, and route proof stay out of Lucid confirmation.

Paste This To Confirm Live Routing

operator prompt
Use the route proof skill: - Lucid/main: $confirm-live - Webull: $confirm-webull - Breakout: $confirm-breakout Confirm live route, not docs/config. Rules: - Test only with /webhook/test. Never use the live TradingView webhook endpoint. - Main confirm-live scope is Lucid :8000 only. Do not mix Webull or Breakout into Lucid tables. - Webull route checks must run from the Webull tree with $confirm-webull on :8001. - Breakout route checks must use the Breakout-specific workflow on :8002. - Expected route: <script/strategy -> account IDs + broker IDs + qty per account>. - Final proof must be the running bot's /webhook/test preview after any write/restart/reload. - If preview account/qty/symbol/order type/limit/TP/SL/TP2/phase differs, say NOT READY - live preview mismatch. - If any runtime gate is closed, say NOT READY - runtime gate closed. Return one table: Script | Strategy | Lane | Account ID | Broker ID | Qty | Phase | Allowed Also show totals, /webhooks/status, /status active_trades/safe_to_restart, account-gate mismatches, and final READY or NOT READY.

Paste This To Create Or Revise A Script

operator prompt
Create/revise SCRIPT_NAME for SYMBOL on LANE/PORT with STRATEGY_KEY, SCRIPT_ID, SOURCE_SYMBOL, ACCOUNT_ID, BROKER_ID, QTY, PHASE, ALLOWED_TIMEFRAMES, SESSION, ORDER_TYPE, TP/SL_SOURCE, ROUTE/GATE_CHANGES, HOOK_ALLOWLIST, REPORTING_LABELS, JOURNAL_TAGS, and TEST_PROOFS; update Pine, parser, strategy registry/guards, router, account qty overrides, symbol allowlists, hook gates, broker executor assumptions, README/arch-map, journal/reporting metadata, and verify only with /webhook/test. Dashboard row: Script | Symbol | Lane:Port | Strategy | Script ID | Source Symbol | Account ID | Broker ID | Qty | Phase | Allowed TF/Session | Order/TP/SL | Route/Gates/Hook Allows | Reporting/Journal Tags | Required /webhook/test Proof