Daily loss
A percentage below the day's opening equity, in your time zone
Or none, for a program with a single drawdown rule
The trader sees the limit and the day's opening figure on their own card
Connect the accounts
Set the challenge rules
MIRRO checks fresh account data every five seconds and records each decision
Keep your website and customer systems, or use our hosted trader workspace
An example challenge, sample data
Every five seconds, for every live challenge
Static and trailing drawdown
Two questions decide a drawdown rule: what is measured, and where the floor stands
Choose an answer to each per program, and see what it does to the same month of trading
The rest of the rule book
A percentage below the day's opening equity, in your time zone
Or none, for a program with a single drawdown rule
The trader sees the limit and the day's opening figure on their own card
A trade closed sooner than the minimum is a warning; the trader is told at once; one more than the allowance ends the challenge
The classic three-minute rule, counted for you, with the count on the trader's card
One to four stages, each with its own target and minimum trading days
Instant funding is one funded stage
Progression happens automatically when the required checks pass
Hold the pass while any single day is more than your share of the stage's profit
The record is written first, then closes are requested through the same execution path a trader's signal uses, and the outcome is noted
Or fail and leave positions to the desk
Or flag for a person
When an account stops reporting nothing is evaluated until it reports again
The desk sees which accounts are not reporting, and the trader is never failed on a missing number
Rules are frozen when a challenge starts
Editing a program changes only new challenges, so a running trader's goalposts never move
Pass a stage, fail, close or reinstate, with a reason the trader can read
It is written under the person's name, and the automatic evaluation continues afterwards on the same rules
Execution for your traders
Sized per account, refused before the fill when a stop would be rejected, with the reason in plain words
Firm-wide ceilings on lots, risk and instruments apply to every trader, and every refusal names your firm
sell XAUUSD risk 1% (no stop loss)
firm_requires_stop_loss
Engine only
Your system sells the challenge and knows the trader
MirroAPI takes the account, watches it live, enforces your rules, closes on breach and tells your system by webhook and API
X-Mirro-Signature and retried with backoff; retries reuse the event id, so de-duplicate on it// start a challenge for a seated trader on the firm's broker account { "userId": "…", "programId": "…", "reference": "NW-2026-0142", "platform": "mt5", "login": "5012391", "server": "Broker-Server01", "password": "…" }
"challenge.phase_passed" // a stage was passed "challenge.funded" // the trader is funded "challenge.failed" // a rule was broken, or the desk decided "challenge.warning" // a counted warning, such as a short hold
// the live figures and the full record of one challenge // GET /v1/firm/challenges lists every live one, most at risk first