Changelog
Introduction

Sections

Theme switcher

Retrieving Trading Account Financial Data


This section describes all available API methods that external CRM providers (including PROP firms) can use to retrieve and monitor the status of trading accounts.

Real-time balance and equity stream

CRM providers operating in the Forex space typically poll accounts in bulk to get up-to-date status information such as profit, loss, and account balance. These systems often use both single-account and group-based data fetching methods.

This process is especially critical for PROP trading CRM providers, which continuously monitor a large number of trading accounts to validate challenge rules - particularly tracking balance and equity in real time.

gRPC Stream: getClientEquityStream

This stream allows real-time monitoring of equity and balance values for selected trading accounts or entire account groups.

Authorization: Bearer {{APIKey}}

Bash
{ "systemUuid": "system_uuid", "logins": ["login1", "login2"], "groups": ["group_name"] }
  • logins: array of specific trading account numbers to monitor.
  • groups: array of group names - recommended: only one group per connection.

💡 Best Practice: Listen to one group per stream connection. This prevents future performance degradation, as a single group can contain up to 10,000 trading accounts.

The systemUuid is a unique and immutable identifier for each server. It can be retrieved via the following endpoint:

Bash
curl --location '{{baseURL}}/v1/offers' \ --header 'Content-Type: application/json' \ --header 'Authorization: {{APIkey}}'

Stream Response Example:

Bash
{ "equity": { "login": "413586", "equity": "5560.95", "balance": "5560.95", "credit": "0.00" } }

Periodic Account Status Fetching via REST API

If real-time streaming is not required, and it's sufficient to check account status periodically (e.g., every few minutes), the following REST API endpoint can be used to retrieve current trading account information, including balance and equity.

Endpoint:

Bash
curl --location --globoff '{{baseURL}}/v1/trading-account?systemUuid={{systemUuid}}&login={{login}}' \ --header 'Content-Type: application/json' \ --header 'Authorization: {{APIKey}}'

Query Parameters:

  • systemUuid – unique identifier of the trading server (retrievable via /v1/offers)
  • login – trading account number to be fetched

Response example:

Bash
{ "uuid": "3f168829-80a5-48ce-aa11-41cad249dcee", "login": "7198", "created": "2024-05-24T10:42:08.412Z", "accountInfo": { "uuid": "aafff59c-ad8d-41c6-b577-b22d1359f475", "email": "test@match-trade.com" }, "offerUuid": "f6cbaca3-cc96-4275-a784-12659032b544", "systemUuid": "8e9ed851-1e5e-479b-aa19-bade6a67d1d5", "commissionUuid": null, "group": "testUSD", "leverage": 100, "access": "FULL", "accountType": "REAL", "financeInfo": { "balance": 618509.43, "equity": 618720.93, "profit": 0, "netProfit": 0, "margin": 0.00, "freeMargin": 618720.93, "marginLevel": 0, "credit": 211.50, "currency": "USD", "currencyPrecision": 2 } }

This method is suitable for integrations where polling is acceptable and instant reaction to changes is not critical. It allows external systems to fetch the full financial snapshot of an individual trading account in a lightweight and reliable way.

Was this section helpful?

What made this section unhelpful for you?

On this page
  • Retrieving Trading Account Financial Data