> For the complete documentation index, see [llms.txt](https://docs.trada.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.trada.io/developers/developers.md).

# How Trada works under the hood

The architecture behind copying — isolated cloud instances per account, containerised MetaTrader terminals, and event-driven copying.

Trada is trade-copier and journaling infrastructure that sits between trading accounts you already own. This page is a high-level tour of the moving parts behind copying: isolated per-account cloud instances, containerised MetaTrader terminals running on Linux, and copying that reacts to each trade as Trada sees it.

<figure><img src="https://1071438488-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FOsaVyFC53CtoAY5kabHr%2Fuploads%2Fgit-blob-891b7f140d9fbb7017e506c6bf4b1dae92aedb04%2Farchitecture.svg?alt=media" alt="Architecture diagram: a master account feeds Trada Cloud, which copies to Forex and CFD receiver accounts; Futures platforms are marked as coming"><figcaption><p>A master account's trades flow through Trada Cloud — isolated per-account instances copying to your Forex and CFD accounts. Futures platforms are coming.</p></figcaption></figure>

## Isolate each account in its own instance

Every connected trading account runs in its own isolated cloud instance. One login can hold several trading accounts — a TradeLocker, DXTrade, MatchTrader, or cTrader login often gives access to more than one, while a MetaTrader login holds one — and each of those accounts still gets its own instance.

Isolation is a deliberate boundary, not an implementation detail. A fault or protection trigger on one account is contained to that account's instance. Accounts that share a login share its credentials, though: if the broker rejects the login, every account under it is affected.

## Run MetaTrader terminals in containers

For MetaTrader 4 and MetaTrader 5, Trada runs each terminal inside its own containerised environment on Linux, so you don't need a VPS. Containers give every account a clean, reproducible runtime and keep terminals independently restartable — a terminal can be recycled without touching neighbouring accounts. The other platforms connect through their own APIs and need no terminal.

This is what lets Trada offer the same six platforms on both the source (sender) and destination (receiver) sides while keeping each account isolated.

## Copy trades as they happen

When Trada sees a sender open, modify, or close a position, it passes that event straight to the receivers' instances — nothing inside Trada waits for a timer. How quickly Trada sees the sender's trade depends on the platform: cTrader pushes each trade as it happens, and the other platforms are checked for changes continuously, from several times a second (MetaTrader) to about once a second (TradeLocker, DXTrade, MatchTrader). The design target is sub-second replication from sender to receiver.

{% hint style="info" %}
Sub-second is an engineering **target**, not a guarantee. Real-world latency depends on the platforms involved, broker-side execution, and network conditions on both ends. Trada does not control order fills at the broker.
{% endhint %}

The web app refreshes account data on its own every few seconds while you have it open. There is no **Sync** button and no live stream to the browser.

## Map senders to receivers (the copier model)

Copying is expressed as a **Copier** — a mapping from one **Sender** (the master account) to one or more **Receivers** (followers), plus shared rules such as working hours. A copier's receivers must be in the same market as its sender.

Each receiver carries its own configuration, applied at copy time before an order reaches the platform:

| Layer                 | Applied per | What it does                                                                                                                |
| --------------------- | ----------- | --------------------------------------------------------------------------------------------------------------------------- |
| Lot sizing            | Receiver    | Scales the sender's volume for this receiver. See [Lot-sizing modes](/copy-trading/configure-receiver/lot-sizing-modes.md). |
| SL / TP handling      | Receiver    | Inherits, fixes, or refines stop-loss and take-profit                                                                       |
| Protection thresholds | Receiver    | Daily and overall loss/profit limits that fire an automated action                                                          |
| Symbol filters        | Receiver    | Restrict which instruments copy to this receiver                                                                            |
| Working hours         | Copier      | Restrict when new trades copy                                                                                               |

When a receiver hits a protection limit, Trada runs the action you chose for it automatically rather than only alerting you. See [Risk protection](/copy-trading/configure-receiver/risk-protection.md). **Reverse positions** conflicts with prop firm rules, so leave it off on prop-firm accounts.

Every connectable platform, MetaTrader 4 included, can be a copier's sender or receiver.

## Connect six platforms today

Trada connects to six Forex and CFD platforms today. Futures platforms are coming and can't be connected yet. cTrader uses a secure OAuth sign-in; the other five connect with the login your broker or prop firm gave you, entered in the **Add Account** dialog.

| Market      | Platforms                                                              | Availability |
| ----------- | ---------------------------------------------------------------------- | ------------ |
| Forex / CFD | MetaTrader 4, MetaTrader 5, cTrader, TradeLocker, DXTrade, MatchTrader | Available    |
| Futures     | NinjaTrader, Rithmic, DXFeed                                           | Coming       |

See [Supported platforms](/connecting-accounts/supported-platforms.md) for the connection details per platform.

## Keep credentials off the client

Broker logins are stored encrypted on Trada's servers and are decrypted only inside the isolated instance of the account that needs them. The broker password you type in **Add Account** is sent to Trada's servers once and is not kept in the browser. Your Trada sign-in session is held in a cookie that page scripts cannot read. For cTrader, you sign in on cTrader's own page, so your cTrader password never reaches Trada.

## Know the current boundaries

A few architectural limits are worth stating plainly so integrators build against reality:

{% hint style="info" %}

* **No public API yet.** Trada does not currently expose a public programmatic API. See [API access](/developers/api-access.md) for status.
* **Notifications are in-app, with email for a few events.** The in-app notification center is the full record. Trada also emails some account and billing events (see [Notifications](/account-and-security/notifications.md)). There is no push channel.
* **Social trading is not live.** The sender/receiver model above powers copying between accounts you own. Provider/follower social trading is in development, covered on [What's coming](/sharing/roadmap.md).
* **USD only, auto-synced trades.** Amounts are USD; trades sync automatically from connected platforms with no manual entry.
  {% endhint %}

## Related

* [Platform integration](/developers/platform-integration.md)
* [Supported platforms](/connecting-accounts/supported-platforms.md)
* [Copy trading](/copy-trading/copy-trading.md)
* [Risk protection](/copy-trading/configure-receiver/risk-protection.md)
