How it works
The engine, the two transports, honest latency, the demo-only rule, and what happens during an outage.
Copying is done by one program — the engine — that Trepeat runs continuously on its own servers. This page describes what that program is, how it reaches each platform, and what it can and cannot do to your broker account.
Where the copying happens
Nothing runs on your machine. There is no Expert Advisor to load, no plugin, no terminal to leave open and no VPS to rent, and your computer can be switched off while copying continues.
The engine opens its own connection to each account a Running repeater needs, and drops the connection again when no Running repeater needs it — which is why a healthy idle account reads Standby rather than Connected. See Account statuses and Running, Stopped and open positions.
Only one engine process may act on any one account at a time. Trepeat updates the engine by starting a new copy before stopping the old one, and without that rule both copies would copy the same fill — which is exactly what happened once, in June 2026, and produced duplicate follower positions. The account is claimed by one process, and the other tracks it without placing anything.
How each platform is reached
- MetaTrader — through MetaApi, which maintains the connection to your broker's MT4 or MT5 server. The engine subscribes to that account and is notified of deals as the broker reports them. The engine itself never handles your trading password: MetaApi holds the login, and all the engine is given is an account reference.
- cTrader — no intermediary. The engine opens an encrypted connection straight to Spotware's cTrader demo endpoint and speaks the platform's own protocol. Every cTrader account Trepeat holds shares that one connection; yours is joined to it using the authorisation you granted on cTrader's site, so there is no cTrader password anywhere in Trepeat. See Connecting a cTrader account.
What the engine does with that connection
It watches the source account. When a position opens or closes there, it resolves what the instrument is called on each follower, works out the size, and sends a market order to each follower account — see Symbol allowlist and remapping and Repeater settings. It never originates an order: nothing is placed that does not correspond to a fill on your source account.
Every order it places carries a marker of its own, and every close it performs checks for that marker first. A position you opened yourself is not eligible to be closed by it, even when the symbol matches.
How long a copy takes
The gap between a source fill and the matching follower fill is three things, and only the middle one belongs to Trepeat: how quickly the source broker reports the fill; the engine's own work of sizing and dispatch; and the follower broker's execution, which is usually the largest and the most variable of the three.
The figure recorded against each copied trade runs from the moment the fill reached the engine to the moment the follower broker confirmed, so the first of those three legs is not in it. Each repeater also sets its own limit on how long a confirmation may take before the copy is treated as failed.
For order of magnitude only: on a development environment on 28 September 2026, single samples measured roughly 265 and 319 milliseconds for cTrader to cTrader, 417 milliseconds for MetaTrader to cTrader, and 702 milliseconds for MetaTrader to MetaTrader — the middle two from the same source fill in the same repeater. These are one-off observations, not a benchmark and not a commitment. Read them as “a fraction of a second”; the real number depends on the two brokers involved, the instrument and the state of the market at that moment.
Demo accounts only, in more than one place
The restriction is not a setting in the interface. It is enforced independently at each layer, so no single failure opens it.
- At connect. On MetaTrader the connect step reads the account type from the broker and refuses one identified as live, recording the account as Error with that reason. A live login can never become a demo login, so that account is permanently barred from reconnecting.
- In the background. A periodic check re-reads the account type and tears down any account that reached an active state and turns out to be live.
- In the engine. It attaches to an account only when the account is confirmed demo. An unverified account is treated as not-demo and left alone until the check resolves it — no connection means no fills are seen and nothing can be copied.
- On cTrader, in the wire itself. The engine connects only to the demo endpoint, and the platform keeps its demo and live environments fully separate, so a live account is unreachable rather than merely refused. The engine additionally asks the platform whether the account is demo, and refuses unless it says so.
- In the database. A constraint forbids a live account from ever being recorded as connected. No code path can write that combination, and removing the rule would take a reviewed database migration rather than a setting change.
What leaves your broker account
The engine reads your fills, your open positions, your balance and equity, and the contract details of the instruments in use. It writes market orders to open a copy, and closes of positions it opened itself. It does not move money and it does not read anything else.
What Trepeat stores for the connection itself — and what it deliberately does not store — is set out in Security. What it records about each copy is on Trades and positions.
When the engine is not running
Outages are rare and the process is restarted automatically, but the honest answer to what happens meanwhile is: copying stops.
- Nothing is copied, and nothing is copied later. A source fill that happens while the engine is down is not seen, and copying does not go back and fill it in when the engine returns. It resumes from live activity only.
- Your repeaters are untouched. A Running repeater stays Running with its settings intact; on start the engine reloads them and reconnects the accounts they need.
- Flatten does not work. Flatten is an instruction the engine carries out, so with no engine there is nothing to carry it out. The attempt gives up within seconds and says plainly that nothing was closed, rather than reporting a close it did not make. Close the position at your broker instead.
- A missed close leaves the copy open. If a source position closed while the close was not seen, the follower copy is still open. Trepeat raises an error alert telling you to close it yourself, and does not close it afterwards — by then the price has moved on, so a late close would be a trade you did not ask for.
- Live figures stop moving. Prices and floating profit are pushed to the app by the engine, so they stop updating. Trades and balances already recorded are still there.
- A known outage is announced. When Trepeat is aware of one, a notice appears as a banner across the app until it is resolved.