MT5 Manager API integration.
Every account created by hand, every balance operation typed from a payment report, every challenge moved between groups manually — that is platform administration doing work an interface can do reliably. We integrate the MT5 Manager API so onboarding, funding, challenge progression and reporting run as controlled operations.

What the MT5 Manager API is.
Plain answers, before the detail.
What is the MT5 Manager API?
The server-side administrative interface to an MT5 trading server. It lets an authorised back-office system create and configure accounts, assign groups, apply balance operations and read trading data programmatically.
Who uses it?
Brokers and prop firms — through their CRM, back office or integration layer. It is not a client-facing trading API and is never exposed to a trader's browser.
What does it replace?
Manual platform administration: account creation, group moves, balance posting and report pulls that would otherwise be performed by staff in the platform administrator.
From a CRM event to an MT5 operation.
Every automation follows the same path: a business event updates the CRM record, the integration layer queues a controlled job, the Manager API performs one operation, and the result is written back with an audit entry.
- 1EventKYC provider: verification passed
- 2CRM recordClient status → Approved; segment read
- 3Integration layerJob queued · idempotency key per client
- 4Manager APIUserAdd
- 5MT5 serverLive account created in segment group
Manual todaySupport creates each trading account after KYC approval.
API-drivenKYC provider: verification passed → UserAdd → login written to client record.
- 1EventPSP callback: transaction settled
- 2CRM recordDeposit record matched to account
- 3Integration layerIdempotency key = PSP transaction ID
- 4Manager APIDealerBalance
- 5MT5 serverBalance operation with comment reference
Manual todayFinance posts balance operations from a PSP report.
API-drivenPSP callback: transaction settled → DealerBalance → deposit marked posted · ticket stored.
- 1EventCheckout: challenge purchased
- 2CRM recordChallenge record with phase rules
- 3Integration layerProvisioning job · phase config attached
- 4Manager APIUserAdd
- 5MT5 serverEvaluation account in Phase 1 group
Manual todayAn administrator creates the challenge account and sets the group.
API-drivenCheckout: challenge purchased → UserAdd → credentials sent · phase clock started.
- 1EventRule engine: phase target met
- 2CRM recordChallenge state → Passed
- 3Integration layerState check before write
- 4Manager APIUserUpdate
- 5MT5 serverAccount moved to next-phase group
Manual todayOperations moves the trader between groups by hand.
API-drivenRule engine: phase target met → UserUpdate → phase history appended.
- 1EventTrader: payout requested
- 2CRM recordPayout record → Pending review
- 3Integration layerReads only until approved
- 4Manager APIUserGet · DealRequest
- 5MT5 serverEquity and deal history returned
Human approval before any balance write
Manual todayEquity is checked by hand before approval.
API-drivenTrader: payout requested → UserGet · DealRequest → snapshot attached to payout record.
Method names are examples of MT5 Manager API operations; the exact calls depend on the server build and integration design. All calls run server-side only.
The actual Manager API calls.
How an integration connects to MT5 and which CIMTManagerAPI methods it calls, shown in C# with the MetaQuotes .NET wrapper, followed by a masked replay of a demo session.
Connection sequence · C# (.NET wrapper)
- 01
Load the SDK and create a manager
The MetaQuotes Manager API ships as native DLLs with a .NET wrapper. The factory loads the library and checks the API version before any manager interface is created.
using MetaQuotes.MT5CommonAPI; using MetaQuotes.MT5ManagerAPI; MTRetCode res = SMTManagerAPIFactory.Initialize(sdkPath); if (res != MTRetCode.MT_RET_OK) throw new Exception($"Init: {res}"); CIMTManagerAPI manager = SMTManagerAPIFactory.CreateManager(SMTManagerAPIFactory.ManagerAPIVersion, out res); - 02
Connect with a dedicated manager login
Use a manager account created for the integration, with only the permissions it needs. Pump mode controls which data the server streams to the client.
res = manager.Connect( server, // "access.example:443" managerLogin, // dedicated integration login password, // from a secret store, never in code null, CIMTManagerAPI.EnPumpModes.PUMP_MODE_USERS | CIMTManagerAPI.EnPumpModes.PUMP_MODE_POSITIONS, 30000); // timeout, ms - 03
Run one controlled operation
Each business event maps to one API call, wrapped with an idempotency key and a return-code check. Failures are retried or escalated, never silently ignored.
if (res != MTRetCode.MT_RET_OK) logger.Error($"Connect failed: {res}"); - 04
Write back, disconnect and release
The resulting login, deal ticket or return code is written to the CRM record with an audit entry. Interfaces are released when the worker shuts down.
manager.Disconnect(); manager.Release(); SMTManagerAPIFactory.Shutdown();
Command reference · CIMTManagerAPI
UserAdd
Create a live or evaluation trading account after KYC approval or challenge purchase.
CIMTUser user = manager.UserCreate();
user.Group("real\\standard-usd");
user.Name(client.FullName);
user.Leverage(100);
res = manager.UserAdd(user, masterPass, investorPass);
ulong login = user.Login(); // write back to CRMUserRequest
Read an account's current record from the server before an update or payout review.
CIMTUser user = manager.UserCreate();
res = manager.UserRequest(login, user);
string group = user.Group();UserUpdate
Move an account between groups, e.g. evaluation phase to funded, or change leverage.
user.Group("prop\\phase-2");
res = manager.UserUpdate(user);DealerBalance
Post a deposit, withdrawal, credit or correction as a balance operation with a reference comment.
res = manager.DealerBalance(
login, 500.00,
(uint)CIMTDeal.EnDealAction.DEAL_BALANCE,
$"PSP:{pspTxnId}", // reference for reconciliation
out ulong dealTicket);UserAccountRequest
Read balance, equity and margin for risk checks or payout eligibility.
CIMTAccount acc = manager.UserCreateAccount();
res = manager.UserAccountRequest(login, acc);
double equity = acc.Equity();PositionRequest
Read open positions for one account, e.g. before closing a breached evaluation.
CIMTPositionArray positions = manager.PositionCreateArray();
res = manager.PositionRequest(login, positions);DealRequest
Read deal history for a period: statements, payout review, rule-breach checks.
CIMTDealArray deals = manager.DealCreateArray();
res = manager.DealRequest(login, fromUnix, toUnix, deals);Every call returns an MTRetCode; the integration checks it and records the result before the CRM is updated.
Session replay
Recorded in a controlled demo environment. Logins, passwords, server addresses and references are masked.
What we build against it.
Account Provisioning
Create live, demo, challenge and funded accounts programmatically with the correct group, leverage, margin mode and symbol permissions applied at creation — not corrected by an administrator afterwards.
Group & Configuration Reads
Read group definitions, symbol settings and account attributes so downstream systems make decisions against the platform's real configuration rather than a cached assumption.
Balance Operations
Deposits, withdrawals, credit, corrections and profit adjustments applied as recorded operations with a reference back to the originating CRM or payment record.
Trade, Deal & Position Reads
Open positions, closed deals and order history pulled for reporting, risk oversight, challenge rule evaluation and finance reconciliation.
State Synchronisation
Balance, equity and account-state synchronisation between the platform and the CRM, built reconciliation-first so a mismatch is surfaced rather than silently overwritten.
Reporting Extracts
Scheduled extracts for management reporting, IB commission calculation, dealing review and audit — delivered to your warehouse instead of exported by hand.
A platform API is a privileged interface.
Automation against a live trading server is only an improvement if the controls around it are stronger than the manual process it replaces.
A manager connection can move money and change account permissions. Treating it like an ordinary application credential is the most common mistake we are asked to correct.
Where a workflow needs judgement — a disputed payout, an unusual withdrawal, a suspected rule breach — the integration raises it for human approval instead of acting.
- 01Credentials held server-side only — never in a browser or mobile client
- 02Separate manager accounts per function with least-privilege rights
- 03Idempotency on every write so a retry cannot double-post a balance operation
- 04Full audit log of every operation with the originating business record
- 05Sandbox or staging environment for changes before production
- 06Rate and concurrency limits appropriate to the server
- 07Alerting on failed operations rather than silent retries
- 08Documented rollback procedure for bulk operations
What an engagement produces.
MT5 Manager API — common questions.
Discuss an Integration
Tell us which platform workflows are still manual. We will come back with an operation catalogue and an integration scope.
Explore MT5 API Research
Operator-level analysis supporting mt5 manager api.
Explore Related Solutions
The full integration surface across the stack
Client, account, IB and back-office records
Challenge, funded account and payout lifecycle
Groups, symbols, sessions and swap configuration
Plugins, middleware and bespoke components
MT4, MT5 and cTrader environments