Place a trade.
Everyone copies it in 42 ms.
The diagram below is the actual data path. No EA on your VPS. No middleman broker. No browser polling. Your master MT5 fills a trade, we persist it across three nodes, and every follower's broker receives the matching order — all before your screen has finished rendering.
You trade as normal in MT5. Manual fills, EA-driven fills, mobile fills — all captured.
No bridge installation, no DLL, no VPS reboots. We connect via the broker’s native protocol using credentials or an investor key.
The fill enters our NATS JetStream with R=3 durability. Three regions agree before we touch a follower.
If a region falls over mid-fill, the surviving quorum keeps copying. We never lose a trade between “received” and “attempted”.
Python risk service computes follower-specific lot size: fixed, balance-scaled, equity-scaled, or risk%.
Per-follower drawdown caps, symbol whitelists, slippage budgets, and kill switches evaluated in under 4ms.
Orders sent to every active follower simultaneously. Median end-to-end: 42ms. p99: 78ms.
Independent retries per follower. One slow broker can’t hold up the others. Slippage outside tolerance? Reject and report.
Every fill timestamped to the microsecond, signed, and queryable for the audit window of your plan.
Export to CSV, stream to your S3, query the API. Free tier keeps 7 days, paid plans 90d–∞.
Built for the way
professionals actually trade.
Risk that thinks per follower
Each follower carries its own risk profile: lot multiplier, balance-scale, equity-scale, or fixed-risk percentage. Set a max drawdown and the engine pauses copying before the account goes red. Symbol whitelists let one follower trade only majors while another mirrors the entire master tape. Slippage budgets reject fills that exceed your price tolerance per symbol, per follower.
follower.ftmo#92011:mode: balance_scalereference_balance: 200_000max_drawdown_pct: 4.0symbols: { whitelist: ["EURUSD","XAUUSD","GBPJPY"] }slippage_budget_pips:EURUSD: 0.8XAUUSD: 4.0kill_switch_ms: 120
Active-active in LDN & NYC
Both regions run the full copy stack — engine, risk service, Postgres replica, Redis. NATS JetStream with R=3 keeps trade state consistent across LDN, NYC, and a witness node in LDN. If LDN goes dark, NYC keeps copying with sub-100ms additional latency for European master accounts. Routing is automatic; you never failover yourself.
route: LDN → NYCp50_latency: 42msp99_latency: 78msquorum: [london, new-york, witness]failover_test: 38s rto, 0 trades lostnext_regions: [singapore (Q3), tokyo (Q4)]
Receipts you can actually audit
Every fill carries a microsecond timestamp, the master order ID, the follower order ID, the risk decision trace, and a signed hash. Stream the audit log to your S3 in real time, query it via API, or download it as CSV. Auditors and prop-firm compliance teams ask for this kind of thing — we give it to you by default.
GET /v1/fills?since=2026-05-14T00:00Z{"fill_id": "f_01HXYZ4Q...","master": "ic#20194822", "follower": "ftmo#92011","symbol": "EURUSD", "side": "BUY", "vol": 0.50,"t_master_ms": 1715698928412.041,"t_filled_ms": 1715698928450.118,"latency_ms": 38.077, "slippage_pips": 0.2,"risk_trace": "balance_scale@200k → 0.50","sig": "ed25519:bf3..."}
Works with the brokers
you already use.
See it run
on your account.
Free tier is plenty. Connect a master, invite a follower, watch the histogram move.