What do I need to take into account at the beginning?
1. First, you need to decide the operational scope of your exchange, whether you want to operate globally or confine yourself to a specific region or country. You will be required to get necessary licensing and approvals for you company to open a bitcoin exchange according to your operational scope. Laws vary from place to place, hence, consult with a legal expert regarding the licensing and compliance with local laws and regulations.
3. You will need to partner with a bank or payment provider to process payments via fiat currency. Choosing a trustworthy bank with a host of online facilities is a good choice. This is more relevant in developing and under-developed economies where most banks do not have a facility to initiate an instant bank transaction online. Transactions may take up to two days for settlement. Partnering with a bank which has fast clearance and settlements of funds will provide convenience to your customer. Adding and withdrawing of fiat funds can be automated via payment gateway or even can be done by manual remittance.
The Architecture Of A Bitcoin Exchange Software
Any exchange software should have these 4 different components working together:
1. The first component is the trade engine. The trade engine should be the core of any exchange. It accesses the order book, matches buy/sell orders, executes transactions and calculates balances. Without a trade engine, your exchange cannot function. So make sure you have a working trade engine before setting up anything else, or otherwise you will merely have an empty shell.
2. The second component is the user interface (UI) or front end of the exchange website. The user interface is how your traders see your exchange (e.g. trading platform and the design of your website). Any user interface must be user friendly and intuitive. This may sound cheesy, but make it your goal to offer your customers a wonderful trading experience (Tipp: less is more). The UI needs to be mobile friendly too, as the use of smartphones is constantly increasing. A dedicated app for mobile devices would make the exchange more easily accessible which in turn may enhance trading engagements. Ideally, the UI should enable the user to
- Register and access an account
- Deposit, maintain and withdraw Crypto and Fiat currencies
- View current order book, past transactions, balances, statistics etc.
- View charts
- Place buy and sell orders
- Access the support mechanism
3. The third component is the wallet. The wallet is the bitcoin daemon running on the exchange server. This is where the bitcoins (of the exchange operator and his traders) are stored, hence it needs maximum security. Any exchange should implement a so-called hot/cold wallet system to diversify risk.
The hot wallet is the bitcoin gateway of the exchange and allows the customer to instantly withdraw bitcoins to their external wallet without the need of approval from an exchange operator. A hot wallet need to have a positive balance for instant withdrawals which can be set according to the turnover of the exchange.
A cold storage wallet is where rest of your bitcoins are stored. This wallet is completely offline which guarantees that nobody can access your leftover bitcoin even if your hot wallet is hacked (Therefore, it is advisable to always put aside a certain amount of bitcoins and leave them in your cold storage wallet.). A simple cold storage wallet could be a piece of paper or an USB stick where your private keys are located.
Splitting the bitcoins into hot/cold wallet system provides a perfect balance between security and convenience for instant withdrawals.
4. The fourth component any exchange should possess, is an admin panel. The admin panel of an exchange is the equivalent of business intelligence and management software. It helps the exchange operator control and manage his exchange. Functions should include:
- Altering liquidity
- Editing the spread and trading fees
- Approving user accounts for trading, after verifying KYC or other compliance requirements.
- Managing currencies like BTC, USD, ETH, etc. and markets like USD/BTC, BTC/ETH, etc.
- Crediting fiat deposits, or debiting fiat withdrawals requested by users.
- Addressing the support requests raised by users.
In summary, these four components, the trade engine, the user interface, the wallet and admin panel should form the basis of any exchange software (Software engineers call this architecture of splitting your software micro-services).
Available Options: Where Do I Get My Exchange Software?
There are three options when it comes to acquiring (and maintaining)
Bitcoin Exchange Software:
Building the exchange software in-house: Gather a dedicated team of developers (friends, freelancers) to build (and maintain) your exchange software. Make sure that they understand how an exchange operates in general, how cryptocurrency and blockchain technology works, and that they implement the above-mentioned components.
From a programming language point of view, the choice of the proper language might also vary depending on which cryptocurrency you want to implement for your exchange (check out this post). Furthermore, make sure that your software is compatible with various payment processing platforms or banks to safeguard payment transactions within your exchange.
Most importantly (this is a no-brainer, but some people seem to have unrealistic expectations), you need to estimate the costs and time associated with developing, maintaining, and constantly upgrading the software in-house. Due to its inherent complex nature, developing an exchange software from scratch will be quite costly and might take up 1-2 years (depending on your developers’ experiences) until it works properly. Contingent upon the salary of your developers, their experience, and what functionalities you want to incorporate into your exchange (multiples languages, currencies, mobile application, etc.), development costs range between 300.000 – 400.000 Euros. Bear in mind though, that these numbers are just a rough estimation based on our experience since so many different factors need to be considered.
Using free/open source scripts: If you check out GitHub or other forums, you will discover quite a few open-source bitcoin exchange scripts. The big benefit obviously is that the source code is free. Nevertheless, there are also a few risks that must be considered:
- You still need someone with technical knowledge to understand and implement the lines of code within the open-source script. Becoming acquainted with how the script works, will take time and modifications to enable customization, will also require additional time and money.
- There is no guarantee that the script is secure and reliable. It might be buggy, susceptible to hack attempts or in the worst case, includes malicious lines of code, which slowly but unnoticeably extract your funds or bitcoins. (Does the Darknet ring a bell?).
- The amount of development support on an open source system is rather sparse. Most of the time, your team of developers will be left on their own to figure out how to fix bugs or improve performance. Worst case, if the project is abandoned, you will be left with absolutely no support or whatsoever.
White label exchange software: White label exchange software is software that has already been thoroughly tested and proven to work (particularly the trade engine!), while at the same time allowing you to customize and alter the software to match your individual requirements (e.g. design, brand placement, languages, currencies, charting etc.).
A big advantage of using white label software is that you save yourself the hassle of dealing with technical requirements, implementation and ongoing maintenance. Since the core components (trade engine, wallet, UI and admin panel) have already been developed and tested, the “only” thing left is to customize the software to your liking. You save yourself time because the customization time is much shorter (usually a few months) and you save yourself a lot of money because you pay significantly less for a white label software license compared to developing it on your own (for the ones who insist on a number: the basic license fee for our draglet white label exchange software starts at 4.250 Euro).
Back To You
That’s it. This is our beginners guide on “how to start your own bitcoin exchange”.
We hope that this article has clarified some misconceptions and will help you better understand the framework behind a bitcoin exchange.
Either way, if you have any questions, an opinion, or even counterintuitive truths to share, write a comment below or shoot us an email!