https://github.com/AdamCox9/nickelbotThe goal of this venture is to build a trading platform that provides a consistent interface across all digital currency exchanges. Currently there are almost 25 or more different exchanges doing the same thing. According to Coinmarketcap.com, the current market cap for cryptocurrencies is over $8 Billion and the 24hour trade volume for March 21 is $92 Million. This platform will make it easier for a developer to write a bot once and use it on any exchange. This will also allow for existing bots to be ported to work across all of the exchanges. It will not be hard to port an existing bot designed for a specific exchange to this platform and have it work across all the exchanges. The platform will have all functionality available from any API. Developers will easily be able to choose which of the exchanges they would like their bot to be executed on by editing their configuration file accordingly.
An example bot would be a piece of software that trades automatically. A bot would execute on a web server and communicate with an exchange over the web to initiate buy or sell orders based on certain conditions. For example, a bot would continuously poll an exchange for the price of, say, Bitcoin. As Bitcoin is just one of the many cryptocurrencies on the market today. For example, if the volume increases by 1% and the price increases by 1% in an hour, then the bot would initiate a buy order on the hopes that the price will continue to surge. The bot can send commands to an exchange in real-time without a person making any actions. There are many data mining and artificial intelligence techniques that could be incorporated into these bots - basically, they need to maximize profits from buying an asset low and selling high. Sometimes Bitcoin price fluctuates from $350 to $375 and back in one day, if a bot performs well enough based on the programmer’s techniques, it would be able to buy at $350, sell at $375 and then buy back at $350 thus increasing the wealth of the bot's owner.
Bots are currently very common in the world of cryptocurrency trading for the exchanges. The venture would be a platform or library of code that would provide a standard set of function calls that would work across all of the exchanges. There are many other bots that interact with most of the popular exchanges, but nothing that works across multiple exchanges. Currently it looks like most bots interact directly with each exchange's application program interface (API) natively, which adds a lot of extra work for the developers. This platform would be similar to how jQuery provides a standard interface for all of the web browsers so that developers do not have to write custom JavaScript code for each browser natively.
Creating bots on this platform will be beneficial to traders because they will be able to create a large number of custom orders across all of the exchanges very easily. The platform will provide many utility functions for calculating attributes such as highs, lows, volumes, exponential moving average (ema), etc... for any specified period of time. The platform will also make it easier for developers to build reports of their trading activity. This platform allows a developer to easily get statistics and summaries from each exchange in the same format. This allows the developer to perform detailed analysis. It will be an agenda to keep the platform scalable to allow for adding more functionality and to allow multiple developers to contribute while not breaking existing bots. The consistent interface and unit tests will help ensure integrity in the platform.
The source of this platform will be free and open-source in order to gain rapid popularity. Making the source open will allow other developers to help build this platform as they will be rewarded for their contributions because of the nature of GitHub. GitHub is where people build software. More than 12 million people use GitHub to discover, fork, and contribute to over 31 million projects. Many clients check a developer’s GitHub profile before hiring them. So, developers that contribute here will have a provable background in developing trading bots for virtual currencies. If this platform ever becomes popular there will be a lot of opportunity for growth. Making the platform free will allow many people to access the platform and will encourage use and growth of the platform. It will be essential to get other developers to contribute to the platform as well as build and publish their own bots. Developers will be able to build bots to be used on this platform and sell them for profits. Since it will be such a large amount of work to maintain this large platform, it will be necessary for developers to participate in the maintenance and development of this project.
The detailed theory behind this platform starts by exposing all of the functionality from each of the crypto trading exchanges with a consistent interface. This allows for developers to quickly write a bot that works on all of the exchanges instead of learning each separate API and writing a bot for each exchange. Each adapter will return the same output for each function, respectively, as any other adapter for the other exchanges. There will be unit tests that test each adapter and test the native API’s for each exchange so that it will be easier to debug and verify correct functionality. It will be important to maintain the full functionality offered by each exchange and make sure exchanges that don't support some functionality do so gracefully. For example, only some exchanges offer margin trading - adapters that don't support margin trading functionality shall respond with appropriate error codes/messages and the bots will handle these appropriately.
The platform will be attractive for new exchanges since they will want their API included in our platform. This may encourage exchanges to contribute to the platform by creating a library and adapter class for their exchange. Developers that have built a bot for a specific exchange that is not yet covered in the platform may contribute by integrating the API for the exchange into the platform. Developers may have a successful bot for a specific exchange that they may want to use on other exchanges or possibly sell their bot.
The primary target audience and opportunity of this application will be existing traders that have experience in software development and would be interested in PHP or existing PHP developers that are interested in trading crypto-currencies. The bot will not be exclusively targeted for these types of groups - it should have a simple graphical user interface (GUI) that will allow easy set-up and execution of pre-built bots so that anybody will have access to its’ abilities. It will also allow for the non-developer type of user be able to buy and install 3rd-party bots. This is an example of a large stream of revenue for this free and open-source platform.
There will be plenty of example bots to get the beginner started in no time. It will still be easy for a developer to build bots that have specific behavior for specific exchanges since each exchange might require different strategies. This platform will allow the developer to easily build a wide range of trading bots and have plenty of reference bots to get started from.
If someone needs to liquidate a digital asset, they will be able to find the most profitable way to do it. They can easily create a bot to sell it at an expected percentage above the current price. They can distribute the sale across all the exchanges to maximize the potential liquidity available.