What is important to know about an online exchanger
The process of creation of the online exchager should be considered from both user's and owner's points of view.
For users, first of all, an opportunity to have all the necessary data in their personal account should be provided.
For the owner, a safe, trouble-free exchange functionality is needed, with 24h support.
The user wants a reliable platform so therefore a multi-level protection of his data is required. In this way, phone number SMS-authorization is becoming a common practice, and additional security tools such as OAuth2 temporary token technology nust be used for the API.
Further, when purchases/sales became fully automatized and can be carried out online without delay, the question about the variability of the service should be raised.
For example, you will not be able to retain your customers by offering purchases/sales in hryvnias only, for example. So you need to maximize the choice of currencies. It also makes sense to set its own commissions for each currency pair.
Now, when users can have balances in each currency, it is necessary to provide users with the opportunity to replenish them and withdraw funds from them. Here the question about the number of connected payment systems is raised, and it seems that they do not have the maximum number. You should analyze the audience of the exchanger and choose the most suitable payment systems.
Since the exchange can be made between any two users of the exchanger and very often, it would be convenient for users to receive real-time notifications about completed transactions.
Given all the above, it is necessary to put forward very high requirements for the code. Everyone wants the code to be written well and understandable to every programmer connecting to the project, and at the same time, the code should be well extensible, so that at least every new payment system can be connected easily and safely. Therefore, such a project must be given into the hands of experienced qualified programmers.
As well, for the convenience of users, a history of transactions between users, deposits, and withdrawals can be provided.