Enso exchange


We were commissioned to create a marketplace for online cryptocurrency exchange. The process of creation of such platform is highly complex: any mistake can easily cause huge losses of resources that are stored in a project’s depository.
Therefore, it is extremely important to have a professional team that has experience not only in cryptocurrency technologies but also in digital security.
Our main tasks:
To develop the project with a high level of complexity and customization
To implement a functional and user-friendly interface
To provide customers with up-to-date information in real time
To design a scalable and high loads resistant system
To execute the integration with the most popular cryptocurrency
To create a system that is resistant to willful attacks


Client Side


  • Registration/authorization, verification of an e-mail
  • Profile, password change
  • Authentication

          KYC — a verification of the identity by applying the documents. KYC enhances access rights. For instance, it is impossible to make a withdrawal of funds without KYC

              Google Authenticator (Two-Factor Authentication) — includes the use of a mobile application and provides additional work security

                SMS TFA (SMS Two-Factor Authentication) — verification of phone number with OTP

        • User notifications through different channels such as SMS and email. Listing of user’s cash activities. Statistics of users registration, exchange trading, and currency operations
        • Application form for entering fiat currency into the system and outputting it from the system to personal accounts — interface that makes users able to leave requests for deposit of funds or withdrawal of funds; confirmation of the execution of these requests on the administrator's side, followed by manual processing
        • Entering various cryptocurrencies into the system (deposit); withdrawal of the cryptocurrencies from the system to personal wallets. (The management of the replenishment and withdrawal of BTC funds occurs through the BitGo service, which is a cloud-based wallet. In essence, it is an online-client of the BTC wallet)
        • Available wallets:

                  BTC wallet

                    USD wallet

                      KZT wallet

              • Available exchanges:

                        BTC / USD

                          BTC / KZT

                  • History of deposits, orders, transactions, and withdrawals of funds
                  • Trade interface: a choice of markets, tickets, market chart, active orders, list of operations, user orders, and form for creating of orders
                  • The order matching system (the system that compares a pair of counter orders [buying-selling] at the requested prices.) This system can partially close orders and also collect several counter orders for one large order, so it is not just 1: 1. The selection is carried out according to the generally accepted rules of trading

                  Administration System


                  • A dashboard that allows users to view an exchange summaries

                            Summary table of currencies traded on the exchange

                              Table of the statuses of working daemons

                                Table with general statistics

                        • Users management
                        • Management of administrators and rights management
                        • Deposit management
                        • Withdrawal from deposits management
                        • Users verification

                        Project support


                        • Administrator documentation
                        • User documentation
                        • Technical documentation: installation, deployment  configuration, and project architecture documentation
                        • Set of automated tests:

                                  Partial coverage by automated tests

                                    Implementation of additional security measures against the vulnerabilities found in SQL and Ruby-on-Rails

                                      Implementation of automated acceptance-tests for the main exchange functions

                                        Benchmarking — checking the matching mechanism speed and determining the trading speed indicators

                              Technology stack used within the development


                                • Nginx
                                • Unicorn
                                • Rails Application


                                • RabbitMQ
                                • Eye
                                • BitGod (RPC)

                              Data Storage

                                • MySQL
                                • Redis

                              WebSocket Server

                                • Slanger


                                • Integration with BitGo (Hot wallet)  for management of inputting and withdrawal of BTC funds

                              Communication Server

                                • MandrillApp (email notification)
                                • Plivo (SMS-notification)
                                • MailChimp (email marketing)

                              Mixpanel (Web Analytics)