How Exchange Profit Is Calculated — Where Profit Comes From and How to Compute It Precisely
A currency exchange's profit comes from spread, fees and revaluation. How to separate and correctly calculate these three so you know how much you really made, not an end-of-month guess.
Many exchanges look at one number at month end: how much did the till grow? That number is not "profit"; it is the tangled result of dozens of events, some of which were not profit at all. To know how much profit you really made — and more importantly, where the profit came from — you must break profit into its component parts and calculate each part separately. An exchange's profit effectively comes from three independent sources: spread, service fees, and revaluation gain/loss. This article is about the method of calculation; if you are after the shape of the output and the final report, read profit and loss report separately.
This piece is part of the complete guide to currency exchange accounting and operations.
Why "the change in balance" is not profit
Suppose this morning your till held 100 million tomans and by night it became 105 million. This 5 million could be a mix of: the real profit of a trade, a fee you took, the rise in the rate of a currency you hold in store (which you have not yet sold), or even money a customer prepaid for tomorrow's obligation that is not yours at all. Blindly adding these up misleads you. The solution is to separate by source.
Component one: spread profit
The spread is the gap between your buy and sell rates, but spread profit must not be confused with "the board sell rate minus the board buy rate." The real profit of each sale equals:
Spread profit = (sell rate to the customer − cost basis of that same currency) × amount
The vital point is that same "cost basis." You have bought the currency at different rates; so the cost basis is not today's board rate, but the weighted average of prior purchases. If you bought 1000 dollars at 58,000 and another 1000 dollars at 59,400, the cost basis of each dollar is 58,700, not the instantaneous market rate. Calculating this basis correctly is the whole story; we have explained it in detail in weighted average currency cost. The basic concept of the buy/sell rate is also covered in buy/sell rate and spread.
Component two: service fees
The spread is the profit of the currency trade itself; but part of an exchange's income is for a service, not currency: remittance, international transfer, issuance, FX cheque collection and the like. This fee is inherently separate from the spread and must be recorded separately too. If you fold the fee into the rate (for example, set the sell rate a little higher so the fee is included in it), you no longer know how much the margin on the currency trade is and how much the margin on services is. Separating these two is the foundation of profitability analysis. Pricing details are in service fee pricing.
Nexto's operational point is here: when recording each trade, the spread and fee are separated automatically and sit in two distinct rows; so without extra manual work you know from which source every riyal of profit came.
Component three: revaluation gain and loss
Suppose today's trade is done, but you still hold 5000 dollars in store (an open position). If the reference rate rises overnight, the rial value of those same dollars increases without your having made any trade. This change in value is revaluation profit — and if the rate falls, revaluation loss. This component has a fundamental difference from the previous two: spread and fees are realized, meaning money has actually moved; but revaluation profit is unrealized until you close the position and can reverse tomorrow.
The correct calculation of position and how to lock the rate is in currency position and revaluation. In Nexto this is done every night automatically (overnight revaluation) on all open positions, so that each currency's revaluation gain/loss is seen separately from operating profit.
A complete numeric example
Let us fully calculate a hypothetical working day (the numbers are purely illustrative). Assumptions:
- Cost basis of each dollar per the weighted average: 58,700 tomans
- Sale of 2,000 dollars to a customer at a rate of 60,200 tomans
- Fee on one FX remittance: 450,000 tomans
- Open position at end of day: 5,000 dollars; the overnight reference rate went from 58,700 to 59,000
| Profit component | Formula | Amount (tomans) | Nature |
|---|---|---|---|
| Spread profit | (60,200 − 58,700) × 2,000 | 3,000,000 | Realized |
| Service fee | Fixed remittance fee | 450,000 | Realized |
| Revaluation profit | (59,000 − 58,700) × 5,000 | 1,500,000 | Unrealized |
| Total profit for the day | 4,950,000 |
We added the three numbers and reached 4,950,000 tomans; but the numeric sum is only half the benefit. The main benefit is that you now know that of this amount, 3,450,000 tomans was realized operating profit (spread + fee) and 1,500,000 tomans was paper revaluation profit that is not yet realized and depends on rate movement. If the rate turns tomorrow, this 1,500,000 may go up in smoke; but that 3,450,000 is in your pocket.
Why this separation matters
When you break profit into three layers, your decisions become more precise:
- You see the real margin. If the spread is negligible but the fees are heavy, your business model stands on services, not on the currency trade.
- You keep revaluation risk separate from operating profit and do not get fooled by paper profit. A "high-profit" month whose profit is mostly unrealized revaluation is a high-risk month.
- You know the source of profit. If you do not know whether the profit came from spread or fees or rate movement, every decision about pricing and position is a guess.
In Nexto this very separation is the basis of reporting: profit and loss is calculated and presented broken down by currency, branch and service type, so you know which currency, which branch and which service is really profitable for you. See the shape and structure of this output in profit and loss report.
Conclusion
An exchange's profit is not one number, it is three: spread, which comes from the gap between the sell rate and the weighted average cost basis; the fee, which is for a service and must stay separate; and revaluation gain/loss, which is unrealized and tied to rate movement. Until you separate these three, "profit" is nothing but an end-of-month guess. With correct separation — which Nexto does automatically — you know not only how much profit you made, but why.
See all of this inside Nexto
A complete, private instance with sample data — no install, no credit card.