Conceptual calculation
- The HWM prevents the same profit from being charged twice.
- When no profit exists above the HWM, the fee is zero.
- The effective rate is stored per Investor. The Master’s
default_perf_feeis used when initializing that setting at assignment, not as a live override of all Investors. - Amounts executed in MT5 follow the environment’s monetary precision.
Collection triggers
Configure one Investor
Master default versus Investor rate
- Send
default_perf_feewhen registering or creating the Master, for example"0.30". - At assignment, a positive
perf_fee.rateoverrides that default;perf_fee.enabledthen defaults totrue. - Omitting
perf_fee, sending null, or submitting a zero assignment rate inheritsdefault_perf_fee. A positive inherited rate enables collection unlessenabled=falsewas explicitly submitted. A zero inherited rate leaves collection disabled. - Read the persisted Investor setting after assignment. Changing the Master later does not change that setting.
GET /api/v1/investor/{investor_login}/performance-fee to read the current rate and POST /api/v1/investor/perf-fee/update to change future configuration.
effective_since is omitted, the current implementation writes the current operational time even for an existing configuration. To preserve the prior date, read it and send it explicitly. See all update fields and defaults.
Reconcile both views
- Use
/api/v1/perf-fee/transactionsfor credits observed in the Master’s payment account. - Use
/api/v1/perf-fee/master/{master_login}/investor-paymentsfor the Investor-level breakdown. - Deduplicate by stable identifiers such as
id,run_id,investor_mt5_login, andmt5_op_id. - Use the Investor-level detail—not only an aggregate payment credit—when allocating commissions across sponsors or IBs.
Previous: Subscriptions
Return to assignment and controlled exit.
Next: Asynchronous operations
Handle delayed Master balance effects safely.

