Prop firms

OverviewPlatform tourThe enginePackagesProgram templates

Developers & AI

All productsMira AI Trading APIQuickstartAPI referenceAPI pricingFAQ
Apply to onboardSign in

Your challenge rules
One evaluation engine

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

  1. ReadThe account's own equity and balance, as its terminal reports them
  2. EvaluateConfigured challenge rules
    A breach takes priority
  3. RecordOne transition, written first, with the arithmetic behind it
  4. CloseOn a breach, the configured action is recorded
    Close requests and their outcomes are tracked
  5. NotifyThe trader by e-mail and Telegram, your system by webhook

Static and trailing drawdown

The floor, drawn the way your program says

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

  • Balance ("Standard"): only closed results count
    Floating losses do not fail the account
  • Equity ("Pro"): floating losses count in real time
  • Static: a fixed floor below the starting balance
  • Trailing: the floor follows the high-water mark live
  • End-of-day trailing: the floor moves only at each day's close, in the program's time zone
  • Locked: once the floor reaches the starting balance it stops rising

The rest of the rule book

What firms actually enforce, counted for you

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

Minimum hold with warnings

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

Targets and stages

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

Consistency

Hold the pass while any single day is more than your share of the stage's profit

On breach: fail and close

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

A silent terminal is a warning

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

Frozen at the start

Rules are frozen when a challenge starts
Editing a program changes only new challenges, so a running trader's goalposts never move

A person's decision, on the record

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

A TradingView alert becomes a real MT4/MT5 order, inside your ceilings

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

A trader's chartTradingView alert
sell XAUUSD
risk 1%
(no stop loss)
MirroAPIThe planner checks it before anything is sent
  • the trader's own settings
  • your firm's ceilings: lots, risk, instruments, hours
  • a stop the broker would reject
  • your rule: every new trade must have a stop loss
This alertRefused, never sent
firm_requires_stop_loss
With a stopAn order on the trader's MT4/MT5 account

Engine only

Keep your CRM and website
Use the engine from your backend

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

  • Start a challenge with one call; rules are frozen from the program onto the challenge
  • Evaluation begins with the account's first report
  • Live figures and the full record per challenge over the API
  • Deliveries are signed with X-Mirro-Signature and retried with backoff; retries reuse the event id, so de-duplicate on it
  • Your staff still get the console for the exceptions
Read the Firm API
POST/v1/firm/challenges
// 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": "…" }
HOOKevents your system can subscribe to
"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
GET/v1/firm/challenges/{challengeId}
// the live figures and the full record of one challenge
// GET /v1/firm/challenges lists every live one, most at risk first