Forex & Multi-Asset Trading

A live dealing-desk trading terminal for forex, metals, energy, indices and stocks — what it is, what it needs to run, how the money flows, and where to start.

5 min readUpdated 3 August 2026forex, cfd, dealing-desk, terminal, margin

Forex & Multi-Asset Trading turns your Bicrypto install into a leveraged dealing desk. Customers open a trading account, fund it from their platform wallet, and trade forex pairs, gold and silver, crude oil, index ETFs, US equities and a small set of crypto CFDs from one terminal — with real streaming prices, real margin, server-side stop loss and take profit, trailing stops, overnight swap charges and session calendars.

The important thing to understand before anything else: by default you are the counterparty. Every order fills against your book at the market price plus your spread markup. When a customer profits, that money leaves your platform's balance sheet. That is the B-book model, and it is what this addon ships as. The optional A-book layer described in External execution lets you push some or all of that risk out to a real broker, but it is off until you turn it on.

This addon gives you the machinery. It does not give you permission. Offering leveraged CFDs to retail clients requires authorisation in the EU, the UK, Australia, Japan, Singapore and many other places, and is effectively closed to offshore operators in the United States and Canada. The geo-block list ships with US, CA already populated for that reason — see Compliance and geo-blocking.

What it requires

    • Bicrypto core — this is an addon, not a standalone product. It uses core's users, KYC, wallets, transactions, notification templates, permissions and cron runner.
    • MySQL and Redis, which core already needs. ScyllaDB is not used — unlike Ecosystem and Futures, everything here lives in MySQL.
    • A market-data provider account with a streaming (WebSocket) entitlement. Without one the terminal cannot quote and refuses every order. See Market data providers.
    • Optionally, a broker account at OANDA or a MetaTrader broker, if you want to hedge instead of carrying the risk.

There is no dependency on the older Forex Investment addon, and no overlap with it. That product sells managed investment plans against MT4/MT5 accounts and never executes an order. This one is the trading engine. They install side by side and share nothing but the word "forex" — do not follow that product's documentation for this one.

How a trade actually works

  1. A price arrives. One market-data provider is active at a time. Its WebSocket streams bid/ask ticks into the tick engine, which stamps each symbol QUOTING, QUOTING_HALTED (the feed went stale) or SESSION_CLOSED (the trading-hours calendar says the market is shut).

  2. The desk widens it. The instrument's symbol group carries a spreadMarkupPips value. Half is added to the ask and half is subtracted from the bid, so a customer buying pays your price, not the feed's. That difference is your revenue on every fill.

  3. The order is checked. Instrument lifecycle, session state, quoting state, delayed-data policy, minimum and maximum size, the stops distance, and — for market orders — a hedge-aware free-margin calculation that folds in the account tier's leverage cap and any margin already reserved.

  4. It fills instantly. Buys at the marked-up ask, sells at the marked-up bid. A position row is created, an immutable OPEN deal is written to the ledger with both the executed price and the raw feed bid/ask, and commission (if the group charges any) is debited.

  5. The engine watches it. Every tick re-marks floating P&L, moves trailing stops, fires stop loss and take profit, and sweeps account margin levels. At the account tier's margin-call level the customer is notified and blocked from adding risk; at the stop-out level positions are force-closed, largest loser first.

  6. The day rolls over. At 17:00 New York the swap cron charges or credits overnight financing on every open position, triple on the group's triple-swap day.

What you configure

Market data

Which vendor streams your prices, whether their plan includes a WebSocket at all, and how to test a key before you commit it to .env.

Instruments and sessions

The catalog, the lifecycle that stops you stranding open positions, symbol groups (leverage, spread, commission, swap) and trading-hours calendars.

The terminal

What your customers see: demo and live accounts, funding, the chart, the order ticket, the positions dock, and every reason an order can be refused.

The trading desk

Your daily screens — net exposure, accounts near stop-out, the order book, the immutable deals ledger, withdrawal approvals and the account kill-switch.

External execution

The optional A-book: hedge providers, routing rules, the in-flight table, the alert inbox and the drain-back procedure.

Settings reference

Every setting key, every environment variable, every permission key and every scheduled job, with defaults and consequences.

What it does not do

Being explicit here saves a support ticket:

  • No MT4/MT5 white label. Customers trade in your terminal. The MetaApi bridge connects your hedge account to a MetaTrader broker; it does not give customers an MT terminal.
  • No level-2 depth or an order book. Fills are at the top-of-book price your provider streams, plus your markup. There is no matching engine and no resting liquidity from other customers.
  • No REST polling fallback for prices. If the provider's WebSocket does not connect, symbols never reach QUOTING and the desk refuses every open and close. This is the single most common cause of a dead install.
  • No automatic delayed-quote trading. Stock and index instruments are flagged delayed in the seed catalog and are display-only until you turn on the real-time opt-in — because filling against a 15-minute-old price is guaranteed loss.
  • No corporate-action processing beyond dividends on providers that expose them. Splits and delistings are operator actions.

Where to start

New install: Install and enable, then Market data providers. Do not enable live trading until you have watched a demo account trade for a full session.

Something is broken: Troubleshooting is organised by symptom, and roughly two thirds of real incidents are one of the first three entries.