HollaEx Whitepaper
Open Exchange Technology
v2.4
Abstract
With the emergence of the crypto industry, we have seen a significant growth in open financial tools and trading software allowing the creation of open online marketplaces for people to trade digital assets. Exchanges are marketplaces that help us discover prices through open supply and demand fundamentals and play an important role in fair and transparent pricing, access to markets and utilizing digital assets.
Exchanges have for a very long time been multi-billion dollar venues accessible to only a few. However, recent technological breakthroughs have made markets much more reproducible and accessible.
HollaEx is introducing an open-source exchange software suite built on a secure and battle-tested foundation that bridges the traditional financial world (TradFi), and the newer blockchain based financial world now commonly known as DeFi (Decentralized Finance). HollaEx does this through a simple interfaces and a series of open-source and customizable tools for traders and developers.
HollaEx allows asset digitization via an easy-to-use blockchain-based token asset creator which includes an inbuilt crypto wallet to store assets safely. HollaEx includes a inbuilt digital marketplace for exchanging these crypto token assets, and gives the operators that run the HollaEx software kit an automatic way to connect to a network of interconnected exchanges called the HollaEx Network. All participants within the network can trade, make markets and share crypto liquidity with each other. Operators can also onboard and manage their users through the open-source HollaEx Kit software.
In this Whitepaper we outline the history, background, and motivation behind HollaEx and its ecosystem; What we've built in detail with HollaEx and the open-source tools supporting the ecosystem and the software specification; The incentive structure and tokenomics, and how XHT tokens are distributed.
This HollaEx whitepaper ultimately shares the vision of a free and accessible marketplace system, and HollaEx plans to achieve that through the HollaEx roadmap.
Without permission, anyone may use, reproduce or distribute any material in this whitepaper for non-commercial and educational use (i.e., other than for a fee or for commercial purposes) provided that the original source and the applicable copyright notice are cited.
DISCLAIMER: This HollaEx Technical Whitepaper is for information purposes only. HollaEx does not guarantee the accuracy of or the conclusions reached in this whitepaper, and this whitepaper is provided “as is”. HollaEx does not make and expressly disclaims all representations and warranties, express, implied, statutory, or otherwise, whatsoever, including, but not limited to: (i) warranties of merchantability, fitness for a particular purpose, suitability, usage, title, or non-infringement; (ii) that the contents of this whitepaper are free from error; and (iii) that such contents will not infringe third-party rights. HollaEx and its affiliates shall have no liability for damages of any kind arising out of the use, reference to, or reliance on this whitepaper or any of the content contained herein, even if advised of the possibility of such damages. In no event will HollaEx or its affiliates be liable to any person or entity for any damages, losses, liabilities, costs, or expenses of any kind, whether direct or indirect, consequential, compensatory, incidental, actual, exemplary, punitive, or special for the use of, reference to, or reliance on this whitepaper or any of the content contained herein, including, without limitation, any loss of business, revenues, profits, data, use, goodwill or other intangible losses. The information in this document does not constitute a recommendation by any person to purchase HollaEx Tokens or any other cryptographic token or currency and HollaEx has not authorized any person to make any such recommendation. HollaEx Tokens are speculative and involve a high degree of risk and uncertainty. The sale of HollaEx Tokens is aimed solely at persons who have sufficient knowledge and understanding of blockchain and cryptographic tokens and other digital assets, smart contracts, storage mechanisms (such as digital or token wallets) blockchain-based software systems, and blockchain or distributed ledger technology, to be able to evaluate the risks and merits of purchase of HollaEx Tokens and are able to bear the risks thereof, including loss of all amounts paid and loss of HollaEx Tokens purchased. Potential purchasers must further make their own independent assessment, after making such investigations as they consider necessary, of the merits of, and their suitability for, purchasing any HollaEx Tokens and should consult their accounting, legal, and tax representatives and advisers in order to evaluate the economic, legal and tax consequences of purchasing HollaEx Tokens. Certain statements contained in this document may constitute forward-looking statements or speak to future events or plans. Such forward-looking statements or information involve known and unknown risks and uncertainties, which may cause actual events to differ materially. No reliance should be placed on any such forward-looking statements or information.
Terminology
- HollaEx Token:
In short XHT, it is the fuel for the ecosystem and is used for system governance and internal economics. It is based on DeFi (Decentralized Finance) protocols defined in Ethereum's blockchain.
- HollaEx Kit:
An open-source software suite that allows exchanges to operate their digital asset trading software.
- HollaEx Network:
Core digital asset management and asset trading using the matching engine.
- HollaEx CLI:
A command-line interface that is used as a tool to run, manage and operate HollaEx Kit.
- HollaEx Pool:
It is also known as Pot which is the main pool for HollaEx Tokens that is used for distribution. Utilities in the network such as coin activation, a portion of the collected fees as well as new distribution in the network are sent to the pool for distribution. The pool is a single XHT address that is not managed by anyone except by the DeFi protocols in the smart contract.
- HollaEx Tools:
Set of tools for developers to use and interact with the HollaEx ecosystem
- HollaEx Pro:
Used in short as HollaEx is the first exchange member in HollaEx Network as a digital asset exchange platform. HollaEx Pro itself is an exchange node.
- Stake:
It is an amount of XHT locked in the HollaEx DeFi protocol. Stakers receive incentives and rewards based on the period they lock their tokens.
- Consensus Rule:
Set of rules initially designed by HollaEx that can be changed using consensus protocol by the participants.
- Market Maker & Taker:
The maker is the trader who places an order in the orderbook and waits for his order to be filled while the taker is the trader who takes a maker's order from the orderbook. Each trade involves both a maker and a taker.
Background
First Phase: Institutionalization of Exchanges
The Italians created the basic concept of modern banking and stock markets, bringing double-entry bookkeeping into popular use. Before that exchanges were nothing more than gathering places for people to meet face-to-face to trade various goods, and it wasn't until 1409 in the city of Bruges in Belgium that the concept of exchange was formalized as an institution.
‘The Exchange Bruges’ also known as the inn 'Ter Buerse' become the first formalized exchange and because it was an inn many foreign merchants from across Europe engaged in commerce there.
The word Bruges is a reference to the square, and trading was not restricted to just within the building but more a reference to the outside square as a whole, where merchants and various brokers gathered to trade.
The word Bruges was then later corrupted into bourse, then the English popularized the word 'Royal Exchange', which in turn, simply modernized to what we know as the 'Exchange'.
This was the first phase, summarized as the institutionalization phase, where a larger and larger concentration of wealth formed. It is important to note that direct trading on these exchanges was highly restricted and that most of the public did not benefit directly from these markets. Instead, well-connected brokers with access were mostly the beneficiaries as they were the center of all the exchange’s activity. Gaining access to the exchange involved a highly selective vetting process.
As a side effect of little competition, exchanges naturally formed into monopolies with further concentrated wealth held amongst a few.
Second Phase: Dematerialization of Assets and Trade
The dematerialization phase is the phase that granted global access to the exchange largely thanks to personal computers (PCs) being able to communicate globally through the Internet.
Since the 1970s, thanks to digitization, much of the world's assets now live within computer databases. This dematerialization of assets created a large-scale shift away from paper certificates which limited the participant to physical presence, to digits on a monitor screen visible to anyone with a computer device and screen or monitor.
Some major assets that are now largely digitized are:
- Stocks
- Currency
- Real estate (REITs)
- Commodities such as gold, silver, and oil
- Bonds
Still, one stubborn issue remained, even when digitized, the ownership and transfer of assets are still largely dependent on number of middlemen. Heavy oversight and reliance on institutions and middlemen to facilitate online trades despite being 'digital' is costly and creates difficulty for global accessibility.
Although many of these assets can be turned into bearer instruments, meaning you can in some fashion claim physical ownership over the asset in the form of a paper certificate, it is costly and time-consuming, rendering it thus rare and impractical to do so.
To facilitate trade in larger, heavier, and physical assets such as gold a complex chain of reliance is also required. For example, a gold ETF allows exposure to the gold price without holding gold and large exchanges have abstracted the complexity away. That abstraction of assets does have a price, hence why there can be high costs when trading on some exchange venues. Most trading fees generated go towards a number of third parties that make the trade and settlement happen. This process can be summarized as financialization.
Mass financialization and centralized control over the main investment path have major downsides, namely inequality. Despite permitting an ever-growing amount of goods and services to be exchangeable for currency, and despite digitization, the exchange venues and governing institutions that oversee the exchange of goods have at the same time made it difficult and prohibitively expensive for regular investors to profit from the wealth generated from these traditional financial systems.
One case in point is that a majority of the populace does not in fact benefit from stock market gains, for example, the Federal Reserve PDF (web version) data shows that only ~14% of American families are directly invested in individual stocks.
In summary, the digitization of trade (phase 2), despite bringing great efficiency to trade has also inadvertently contributed to over-financialization where large institutional governing bodies that oversee the exchange have marginalized many from participating in the markets, which has further contributed to the wealth gap that is prevalent today in every country.
Third Phase: Deinstitutionalization of Exchanges
In phase three with the advent of a new asset class created from cryptocurrencies, the link between the asset and the exchange is finally broken thus ushering in the deinstitutionalization phase.
Previously, all valuable assets such as stocks and ETFs would require multiple established institutions to construct and grant 'real' ownership and transfer over the asset.
Crypto assets are entirely different, as they have a built-in bearer-like attribute.
Cryptocurrencies and other blockchain-based assets being good bearer instruments render the need for institutional verification unnecessary. Instead, the trading venues of today only require a computer, internet, and crypto exchange software to engage in global commerce.
As a result, the exchange model and its role in society have changed. Trading venues such as the NYSE and the NASDAQ which up until now, have enjoyed an almost complete monopoly on the world's most valuable assets have for the first time begun losing market share to younger trading venues such as Binance and Coinbase.
In effect, the third chapter for exchanges is in motion and can be classified as the deinstitutionalization phase.
Acceleration of the deinstitutionalization phase is occurring largely due to the increasing practice of tokenization of assets via open-source protocols such as ERC-20 and DeFi.
Crypto coins and tokens provide a gigantic gamut of financial freedom and allow mass participation on a scale never seen before. This highly scalable crypto-based financial model allows for new investment avenues into projects globally near instantly and at fractions of the cost.
This has created a paradigm shift in commerce that is evident in the new generation of young traders who now prefer dealing with platforms that offer global crypto deposits and withdrawals.
Thanks to blockchain's automatic nature and crypto’s bearers attribute it has reduced the role of institutions in global trade, and moved the world towards a more decentralized and peer-to-peer system, a throwback to how trade was done 1000s of years ago.
Motivation
We described how trade and commerce have been an important element in history and how it greatly benefits those closest to the center of trade. We have also covered the sudden change crypto assets have brought to the traditional centralized exchange model and the growing acceptance from the younger generation for easy-to-use crypto platforms over traditional venues.
This shift is creating a natural demand for reliable automated crypto-compatible trading systems and wallet infrastructure from fintech businesses and even non-financial businesses. As crypto-assets present new ways to do e-commerce, there are new opportunities for all areas of business.
We believe that now more than ever that not only businesses, but individuals alike will require an exchange system that connects to the global blockchains in order to stay competitive. This may come in the form of an embedded exchange within the business website that will provide inbuilt crypto financial systems such as crypto wallets and seamless exchange systems. These embedded crypto exchange systems will offer something national fiat currency-based systems can’t, namely a natively internet-compatible monetary system with global reach.
Thus the development of HollaEx Kit was specifically designed to help push crypto and blockchain infrastructure into the hands of those that need digital market technology most. It is our belief that there will be a growing realization that a crypto strategy (AKA, a blockchain strategy) will be needed in order to stay competitive. Similar to how social media and web pages have become an almost near necessity for commerce, so too will exchange systems.
HollaEx and the exchange network model give unbridled freedom to create global trading markets and new economic systems through asset tokenization, easy market trading pair setup, trade matchmaking, asset management, and storage solutions in a single crypto tool kit.
The motivation behind the HollaEx exchange kit is to contribute to the adoption of crypto financial systems by reducing the barriers to crypto exchange technology and distributing its benefits to where it is needed most.
HollaEx Network
HollaEx Network is a group of connected exchanges providing the infrastructure for trading digital assets globally. Exchange members run the open-source HollaEx Kit software and are considered nodes participating in the network, matching trades, and routing orders amongst each other through a shared liquidity pool. All members have access to various crypto markets and can create their own markets and add them to the network.
The network has tokenomics utilizing HollaEx Token (XHT) and its DeFi protocols utilizing the Ethereum blockchain. HollaEx Token is the essence of each HollaEx exchange node and is required as a digital fuel to access key features in the software. XHT is used for new coin and market activation, trading fees, etc, within exchanges and allows participants to access liquidity within the network.
By running HollaEx Kit's open-source software, operators can onboard their own users/traders as a gateway providing access to the world of digital assets trading.
Exchanges are primarily businesses that onboard their customers and provide their customers with crypto-related services such as wallets and crypto trading. The primary source of revenue for the exchanges is the trading fees. Exchange operators can adjust and set the trading fees for their platform and calibrate the fees to their market and business structure. For example, crypto ATM exchange systems may have a higher operational cost and thus crypto ATM businesses can increase the fee to compensate.
Each exchange operator will have access to easy-to-use customization tools and can easily localize their exchange. For teams and businesses with computer programming skills, the open-source nature of the HollaEx Kit gives the flexibility to build anything with the HollaEx crypto tool kit.
HollaEx Network relies on a Token Economy or Tokenomics system based on XHT. The tokenomics behind the network is designed to create a balanced economy and an open market for participants to seamlessly join and operate transparently.
As a frontier in open marketplace technology, HollaEx believes in supply and demand as the best economic model, and by tokenizing the HollaEx ecosystem, we are creating a market where participants can freely build, trade, and utilize the technology for different purposes beyond just a regular crypto exchange.
The HollaEx tokenomics additionally provides an equal opportunity for non-exchange operators to participate and contribute to the technology. XHT holders and stakers have certain governing rights over the system through a consensus system amongst all the other participants within the network that operates in a fully decentralized manner.
HollaEx Token is based on DeFi and utilizes established protocols and standards specified on Ethereum's blockchain. By using blockchain-based systems, an automated and autonomous environment can be created streamlining the complicated transaction processes in the ecosystem by the removal of central controls over the transaction process that are typically found in TradFi systems.
By using DeFi based protocols and standards, clear expectations are set in place due to the transparent nature of the technology used. All processes within blockchain technology can be easily analyzed and recognized by all participants and agreed upon in a programmatic and automatic way which would otherwise require paper contracts and enforcement of said contracts through litigation
HollaEx Network fully utilizes Ethereum smart contracts which guarantee certain attributes in the system. First, it defines the market cap which prevents anyone from creating more tokens as the supply of HollaEx Token is strictly limited to 200,000,000 XHT.
Exchange operation and incentive structure are done autonomously through smart contracts. Tokens can also be used for voting allowing participants to vote proportional to their involvement. Voting and governance rights thus create democratic control over the ecosystem.
Lastly, by positioning XHT as a central part of the open-source HollaEx system it fosters the development of more crypto infrastructure and tools such as crypto credit lines, dynamic liquidity pool sharing, better token creations tools, and fluid market pairing systems.
HollaEx Network uses Ethereum which fulfills the requirements based on the following considerations:
- Global support (high accessibility and global network support)
- Network stability
- Network security (hash rate and consensus process)
Each exchange node requires:
- Activation Code: Generated based on exchange membership once the exchange is created
- Key: Random key used to communicate with the network
- Secret: Random key used to communicate with the network
The activation process starts based on the exchange membership status in the network described below.
Exchange Membership
Exchange Membership defines the status of the exchange node within HollaEx Network as a network participant. Each participant can join different tiers which grant access to higher trading fee revenue and increased profit margins as well as different features available in the HollaEx Network.
Exchange membership is broken in different tiers with different fee sharing and benefits.
Exchange Fees
Network fees are set as base fees and are deducted from the users automatically when trades occur. Network fees are paid in different currencies depending on each market pair.
Exchange operators can easily set their own trading fees for maker/taker based on the range granted by their member tier.
These fees set by the exchange operator are then applied to their users/customers trading fees. The fees collected by the exchange are settled with the exchange operator periodically.
Each exchange can have its own tiers and fee structure. As exchange operators have access to fee calibration tools it gives them the flexibility required to create various business models around their crypto business platform.
Digital Assets
Participants can add existing digital assets or create new tokens & coins have have them added to the network. These digital assets are added based on their merits and require consensus amongst XHT stakers before adding to the network.
For each digital asset to be added and supported to the network, a minimum donation must be made in XHT (HollaEx token) towards the HollaEx Pool (Pot) which in turn will be redistributed to stakers within the network as mentioned in Network section of this whitepaper.
The donation amount is specified based on the Consensus Rules that are voted in by XHT stakers.
Trading Pairs
The HollaEx system has an established list of major trading pairs (markets) that are supported by the network by default. For example, BTC/USDT and ETH/USDT are well-established global markets that are free to add by any exchange operator connected to the network.
Major trading pair markets include liquidity through the interexchange HollaEx exchange network.
Similar to how single digital assets are verified and added to the network, creating and adding a new trading pair will also require consensus amongst XHT stakers and in addition, will require XHT to be contributed to the HollaEx Pool (POT) for asset activation.
Note, the amount for the XHT contribution is also part of Consensus Rules that could change. Once a coin is approved, it will be added as a new market within the HollaEx Network.
Exchange members can decide whether or not their market is public, and can be seen by other exchange operators. If the market is public it can thus be shared with others in the HollaEx network.
Staking
Staking, is the process of locking up XHT for a certain length of time to gain access to rewards and other HollaEx benefits.
XHT staking is not only for exchange operators but also for anyone interested in supporting and participating in the HollaEx ecosystem.
XHT bonus rewards are distributed proportionally to the amount of XHT staked. The longer and more staked the higher share of rewards can be earnt.
Both XHT in the HollaEx Pool (POT) and fee redistribution are given only to those who are staking XHT. Stakers of XHT are also given the right to cast votes towards the HollaEx Consensus Rule changes. HollaEx voting will also be used for guiding the direction of the network and new future HollaEx system development.
In order to start a new stake, a connection must be established with the user's own wallet. After connecting the user must input the amount they want to stake and select the length of time they want to stake. This model follows similarly to other DeFi stake models.
Unstaking
Any participant with an active XHT stake can at any time unstake.
Each active stake has a maturation duration. Once a stake is mature, users can unstake and collect their initial XHT stake amount, plus their rewards.
Leaving your stake unstaked at 100% maturity will continue earning bonus XHT at the same rate.
Once a user confirms that they want to unstake their XHT the XHT will be sent back to the original connected wallet (MetaMask, etc) address that the stake originated from.
The maturation duration is measured using the Ethereum block times.
If a user wants to unstake early, meaning before the maturation duration they can do so at any time, however, any earnings cumulated will be forfeited and a 10% slash (part of the Consensus Rules) on the principle stake amount will apply. All forfeited XHT from early unstaking are redistributed to active stakers through the pot, also known as the HollaEx Pool.
By design, XHT staking curbs short-term monetary behavior which in turn contributes to stabilizing the HollaEx network of exchanges.
The basic tokenonmics behind XHT staking is to incentive long-term XHT holders and does so by rewarding XHT generated from the HollaEx network. Stakers are also granted voting right within the HollaEx system to influence the direction of HollaEx.
Tokenomics
HollaEx Token (XHT) is a smart contract token based on Ethereum's blockchain (ERC-20) as explained in the previous chapter. These XHT tokens are used by exchange operators as a type of digital fuel to power certain exchange software functionality. A select few HollaEx white-label features will only ever be unlocked through XHT.
In this chapter, we'll explore the XHT token model and how it functions based on its use cases for all the major acting participants within the network.
Participants
HollaEx economy has 3 main actors:
- Exchange operators
- XHT holders and stakers
- Builders & developers
It is important that all participants in the system are incentivized and as such we will go through all participants and their incentive models in the system.
Exchange Operators
HollaEx economy is quite lucrative for exchange operators as HollaEx reduces both risks and the entry barrier involved in starting and running a crypto business platform.
Exchanges generate trading fees and onboard new users to the ecosystem through their business and have access to powerful crypto tools for token price discovery, distribution and various other powerful global digital commerce utilities.
Holders and stakers
Holders of XHT will indirectly be contributing to the democratization of trade and commerce by depositing and holding value within the HollaEx exchange network, which is further utilized by the exchange operators.
Stakers and holders can expect the HollaEx economy to grow as more exchange operators participate, with each new participant a natural demand for the utility token XHT will take place.
Builders & Developers
HollaEx is built in a very flexible way and supports the infrastructure for additional development tools and plugins and other tools useful for the HollaEx exchange ecosystem.
Any developer can help contribute to building a secondary business model on top of the exchange ecosystem. The HollaEx plugin marketplace is one such place where developers can build new functions for their exchange and/or crypto project.
With voting systems in place, XHT stakers can vote for new features to be built for the network, and developer bounties can be issued to incentivize crypto infrastructure building.
As the HollaEx Kit is open-source, anyone that helps develop the technology is helping the technology stay useful and up-to-date.
Distribution
The total maximum cap of the HollaEx token is 200,000,000. Tokens are distributed through HollaEx Pool, also known as the Pot. The HollaEx Pool is where XHT tokens to be distributed are stored. Anything in the pot will be distributed among the stakers based on their staking status proportionally. This mechanism is used to both redistribute tokens used in the network for activities such as coin or token activation, trading fees, etc, as well as distribute tokens that are not yet distributed to be added into the economy.
Stakers have multiple period options in which the token will be locked. These periods are set by the Consensus rules and are initially set to 45500 blocks (~1 week), 195000 blocks (~1 month), and 2372500 blocks (~1 year). The longer the lock period, the more bonus XHT rewards are allocated.
When the tokens are distributed, it will add the following multiplier to the generated rewards proportionally.
45500 blocks: 1x on generated rewards
195000 blocks: 2x on generated reward
2372500 blocks: 3x on generated reward
The longer the stake, the higher reward stakers receive proportional to the amount that gets distributed from the Pot.
Following is the distribution logic used in XHT’s smart contract:
/**
* Returns true. Distribute the pot balance among stakers.
*/
function distribute() public returns (bool) {
uint256 potBalance = token.balanceOf(pot);
require(potBalance >= 10**22, "There should be at least 10000 XHT in the pot for distribution.");
token.transferFrom(pot, address(this), potBalance);
for (uint i=0; i<addressIndices.length; i++) {
for (uint j=0; j<stakes[addressIndices[i]].length; j++) {
Stake memory s = stakes[addressIndices[i]][j];
if (s.amount > 0) {
uint256 weightedAmount = getStakeWeight(s.period).mul(s.amount);
uint256 reward = weightedAmount.mul(potBalance).div(totalStakeWeight);
stakes[addressIndices[i]][j].reward = s.reward.add(reward);
emit RewardEvent(addressIndices[i], stakes[addressIndices[i]][j].reward);
}
}
}
emit DistributeEvent(potBalance);
return true;
}
Distribution Amount
Distribution Time
Distributions can be triggered through the smart contract by anyone. Once triggered, it is applied to everybody and all stakeholders receive the distributed tokens. The individual that triggers the distribution should pay for the gas fee on the blockchain. Hence it is better to do trigger the distribution less frequently so as to pay a minimum on ETH network gas fees.
Consensus
HollaEx Network is based on consensus rules defined by HollaEx Token stakers. Certain variables used in this whitepaper are subject to the Consensus Rules and may change if the majority of stakeholders decide to change these with a majority vote.
More information on consensus and voting rules and protocols will be amended to this whitepaper in the future and will be mentioned in the future considerations section.
System Specification
The system is primarily comprised of a set of open-source tools and technologies used to allow participants to securely store and trade digital assets in real-time. It provides different means to view and utilize the system for end-user and businesses who are incentivized to participate as positive actors in the ecosystem.
Components
HollaEx system architecture consists of 3 layers:
- Network: HollaEx Network is the core matching and trading system connected to the asset custody component which is the core management and operation system for the assets. It is run and operated by the HollaEx Foundation and it is governed through a DeFi protocol that uses the HollaEx Token (XHT).
The term 'HollaEx Core' is used interchangeably with HollaEx Network.
- Node (Kit Server): The exchange node software that is run by the exchange operators manages users and their activities. Nodes are mostly independent businesses that provide secure access to the HollaEx Network. Anyone is able to run the node software and participate in the ecosystem. The level of node interaction and fees collected by the network is defined based on its membership status.
- Client: Exchange web/mobile client available through the HollaEx Kit is a way for end-users to interface and trade within the system. Additionally, HollaEx has a set of tools e.g. HollaEx Node Lib for developers to build Client facing interface applications.
HollaEx Kit & Tools
HollaEx Kit is a comprehensive suite for businesses and programmers to build their crypto exchange platform. It is supported by a set of open-source tools and practices described here to support a secure, reliable, and production-level platform.
The HollaEx Kit can be found on GitHub and already has an active community on the HollaEx forums and the Discord channel.
HollaEx Node
HollaEx Kit has an embedded exchange node server that contains three main modules: API, Stream and Plugins.
API is the main worker service in a microservice architecture that manages all the endpoints and requests to the system as a front gate. Its microservice architecture makes it a highly maintainable, testable, and scalable service. All services are loosely coupled and are independently deployable. All the communications outside the system use RESTful API endpoints and JSON objects which are managed over Transport Layer Security (TLS) channels.
API module additionally manages user accounts, and authentication schemes and serves as a primary gateway for all major APIs documented on HollaEx Kit. It relays messages for trading to the HollaEx Network to match with other node's orders. More information about that is explained in HollaEx Network.
Stream handles real-time stream and data feed and is the essential component that manages all websocket communication.
There are two main databases used primarily in HollaEx Kit:
- PostgreSQL: Persistent data such as user data.
- Redis: Cached data and the Center of Communication BUS
HollaEx Web
HollaEx Web is a ReactJS web application and works as a front-end user interface for the exchange's clients.
HollaEx Web uses ReactJS framework to view management along with Redux as a state manager of the client. All designs and UI elements are defined as SCSS files and compiled during application build and run-time. Communications with Core are done through REST API as well as websocket real-time streaming directly to the Gateway through SSL/TLS channels.
The client supports full private websocket channels which can be used for real-time, user-specific account updates such as filled orders and incoming deposits etc.
The Web contains two access control one for regular users and the other for exchange operators (administrators) who can access the Operator Control Panel (AKA, blue admin) dashboard.
The admin can set up different roles to administrate, monitor, and manage the system. The Operator Control can support different access controls and permissions for managing different user operator access levels to the system.
The HollaEx Operator Control Panel has access to various system reports and allows fine-grained reporting for overall system performance as well as information on each user that has registered on their platform. Reports such as deposits and withdrawals, user lists, logins, and sessions as well as the overall performance of the system with filtering are all available via the blue Operator Control Panel.
The admin operator can view and modify user data and can also create roles with predefined restrictions for admin panel access.
Additionally, the admin is capable of configuring the system. From strings, graphics, color themes, and trading fees to the digital assets available on their platform and their status. In addition, customizing emails and messages and means of communication with the customer can also be done via the blue admin panel.
The whole of the HollaEx Web source code is made freely available to the public via GitHub.
HollaEx CLI
CLI (Command-Line Interface) is a text-based command tool, used to build, deploy and launch the exchange software.
The CLI initializes an exchange with all settings and configurations, deployment setup using Kubernetes helm charts and Docker commands as well as the gateway NGINX configuration. The CLI contains all the tools necessary for encoding/decoding and encrypting/decrypting system secrets and configuration. A short video demo of the HollaEx CLI step-by-step process can be viewed here (~7 minutes).
HollaEx CLI is regarded as the main communication tool between the user and the core and takes care of all operations and configurations required for exchange operations.
Below you can find an example of a command for initializing HollaEx CLI:
hollaex init --name <NAME_OF_THE_EXCHANGE>
This command would initialize and create the required folders and files in your current directory including settings
, templates
, and an empty folder for user-custom plugins
.
Users can easily maintain their own exchange's information in settings
folders, such as exchange name or API endpoint URLs, able to see and modify generated templates on templates
folder, such as docker-compose.yaml
, based on their own requirements.
For custom features specific to exchanges, custom plugins can be developed by the user agnostic to any programming language of user choice, and located in plugins
folder. It would seamlessly be integrated with the existing exchange system based on traffic routing coming from the HTTP protocol to the gateway.
HollaEx CLI is built for the different operating systems and can be downloaded publicly. It can also be utilized and used as a docker image.
HollaEx Mobile
HollaEx Mobile is the mobile app client version on HollaEx web built in React Native for both Android and iOS clients. HollaEx Mobile communication is all done through a secure TLS channel with the server.
Authentication is done through tokens. These tokens are generated when the user logs in and is stored through AsyncStorage. On iOS, AsyncStorage is backed by native code that stores small values in a serialized dictionary and larger values in separate files.
On Android, AsyncStorage will use either RocksDB or SQLite based on what is available.
HollaEx Node Lib
This GitHub library provides a full abstraction of API and Stream channels for developers and the API documentation is available here.
Gateway
HollaEx Gateway is the secure entrance gate into the system. It is responsible for all the inbound and outbound traffic to the system. It protects the system against malicious activities as well as manages the security of the system.
The Gateway uses the industry-standard NGINX for handling SSL/TLS communication as well as traffic routing to different components. The Gateway is configured as part of the HollaEx CLI and can be customized by the client if required.
Plugin
HollaEx Plugins are additional sidecars used in HollaEx Kit. Plugins enable additional functionalities to the basic exchange core technology. Plugins can be added either as a binary file or a custom code.
Custom code allows the exchange operator to make and run their own custom code on top of the system. There is a marketplace for plugins where developers can create and maintain their plugins for their clients.
Some plugins can be obtained publicly for free and can be turned on to add extra features to the exchange.
Moreover, there will be a marketplace where people can develop and provide plugins seamlessly to others using HollaEx for compensation in the native XHT token.
All plugins built are designed to plug seamlessly into the exchange solutions.
Scaling
Each core worker can be replicated for horizontal scaling. More main workers result in scaling API endpoints. Additionally, more stream workers help with the real-time data support to horizontally scale the system. The engine however is not capable of horizontal scaling due to the sequential nature of trading engines. Engine worker is a process that is required for each trading pair. As a result, new trading pairs can be added without any downsides and the system only requires vertical scaling within the trading pair itself.
Communication
Communications are divided into two different types, internal and external communications. All external communications are done through HTTPS and are passed through HollaEx Gateway. Internal communications are done through HollaEx CLI commands. Inside Core with API, Stream and Engine. The communications are managed by a BUS system that is managed using Redis PUB/SUB infrastructure.
Coin & Digital Asset
Digital assets (tokens, coins, crypto, etc) custody and management are regarded as the most sensitive area in any exchange system. Due to various cyber-security flaws historically there have been billions of dollars lost in the digital assets industry.
HollaEx has been specifically designed tin such a way as to safeguard assets through a highly secure and specialized crypto custody solution.
HollaEx Core and the asset management system are built in a flexible manner so as to manage multiple coins and allow for rapid listing of any digital assets. The core is configured to support any digital asset internally as well as various blockchain-compatible assets.
The HollaEx software comes with wallet software and is designed to connect work seamlessly with HollaEx.
Using third-party crypto custody wallet software is possible through custom and independent subscription means and should be advised by the HollaEx team for compatibility and viability checks.
Marketing Trading Pairs
An unlimited number of trading pairs (markets) can be configured independently from each other. As explained in HollaEx Core, each trading pair market is run on an Engine. These engines can be vertically scaled to manage higher traffic and better throughput on the trading engine.
A regular, retail level personal computer with 8 GB memory, a minimum quad-core i5 CPU is according to the benchmark research of ~100 trade activities per second can be managed on average.
Trade activities are referred to as adding and removing orders from orderbook as well as matching orders where trade occurs.
Shared Liquidity
Exchanges can form a network in a mesh topography and communicate with each other in HollaEx liquidity pool at any time in order to share their crypto liquidity. It is optional for the exchange operators to use this feature and allow others to re-market from the exchange while the exchange is also able to take the liquidity from other participants.
Exchanges can opt-in or opt-out from the HollaEx liquidity pool at any time and by default are granted access via their main exchange key or simply not adding shared markets.
This interconnected crypto market functionality facilitates the communication between these participants and helps the growth of each exchange in the market by helping one another crypto market make.
HollaEx Token (XHT) is by default set on each exchange and the shared liquidity can be activated for those exchanges that choose to list the XHT/USDT market trading pair.
Security Design and Considerations
Security design is an important and highly sensitive area of any exchange system and is of utmost importance in financial information technology systems.
All external traffic to the system is done over TLS channels through the Gateway as a result all external communication channels are secured by TLS industry standards.
Software Integrity
Exchange software integrity refers to the exchange software doing exactly what it was intended to do and preventing any malicious modifications to the system. The Core is provided in the form of executable binary with certain considerations in place to prevent external access to the code to change the intention of the software.
Any abnormal behavior is detected by the software and results in the system self-locking which will prevent the use of the exchange.
All source code is obfuscated and significantly complex challenges are put in place to prevent malicious access to the software.
Authentication
All private requests to the system are done through token authentication. There are two authentication mechanisms used in this context:
- JSON Web Token (JWT)
- HMAC Signature
JWT is used in all private requests and validations on the system. It is attached in the header part of each request by the user sent over TLS. A request example is shown in the example below:
JWT is comprised of three sections, header, payload, and signature. User information as well as token expiry is attached to the JWT payload. An example is:
{
"sub": {
"id": 1,
"email": "[email protected]"
},
"scopes": [
"user"
],
"ip": "153.220.230.178",
"iss": "hollaex.com",
"expiry": 1552961148935,
"iat": 1552961148
}
User roles are specified within the scopes for access control. It’s important to note that once the token expires, it cannot be used anymore and a newly generated token will be required.
For businesses and developers who seek to get a permanent token, the tokens have the scope specified as “bot” with no expiry date. Those tokens are stored in the database for validation.
It is also possible to apply IP enforcement to make sure that the IP user that sends the request matches the IP that was initially used to create the token.
JWT is an efficient and fast mechanism for authentication, which improves the performance and scalability of the authentication within the system.
HMAC Signature
HMAC signature is used for secure communication between third-party services. HMAC is a specific type of message authentication code (MAC) involving a cryptographic hash function and a secret cryptographic key. It may be used to simultaneously verify both the data integrity and authentication of a message, as with any MAC. The hashing algorithm we use is SHA256.
Data validation
Open API, or Swagger, is used for managing all API requests and endpoint architecture. Open API has a full set of validations, from data type validation and required fields, which would prevent any sort of unexpected input from entering the system, such as SQL injection. As a result, we prevent all unwanted requests by filtering them through Swagger.
One-time password authenticator (OTP)
In order to prevent keylogging and weak and stolen passwords, we use a one-time password (also known as ‘2FA’) based on its Time-based implementation (TOTP). Users can easily set that up using commonly known apps such as Google Authenticator and Authy.
OTP is mandatory for all sensitive actions, such as login and fund withdrawals.
TOTP is time-based and uses an initial seed created by the server to be scanned on the client’s phone. Based on the initial seed and synced devices, the client and server generate the same 6 digits code used for authentication.
Email verification
For extra security, an addition to precaution is taken in the form of using emails. Actions that are highly sensitive such as withdrawals and/or account creation will require these extra email steps.
The Email verification process means a user can only confirm an action by approving it through an email sent to their email address. Only then can a sensitive action, such as a withdrawal, be requested by the client through the link (or unique string of text code) sent to their email.
Email verification/confirmation achieves the following:
- Ensuring that the email address is typed correctly (used for newly registered individuals)
- Ensuring the emails that are sent to this address can be read and received
- Ensuring the email address really belongs to the person trying to perform said action
- Preventing some automated bots from creating accounts
- Allowing exchange operators to contact the user about topics on security and/or important site issues and announcements.
- Preventing unwarranted withdrawals in cases where the account is left open. Should somebody access the user’s exchange account while they are still logged in, the impersonating party will not be able to withdraw funds since they do not have access to the user’s email account to confirm a requested withdrawal.
The process of requiring an email confirmation action in order to approve sensitive procedures, such as fund withdrawal, is a common best practice and when used in combination with an OTP greatly increases the security and usage of cryptocurrencies and the exchange technology.
In addition, instead of clicking a button via an email a user may require retrieving a unique code sent to their email and inputting said code at critical steps of any extra sensitive actions such as API key configurations, key removal and generation.
Insider attacks
Insider attacks make up a significant portion of cryptocurrency exchange hacks. Most attacks are exploited vulnerabilities from insiders who are ignorant or unaware of the security practices and policies in place. The system deployment and CICD through a strict policy prevent these incidences from occurring.
With the usage of HollaEx CLI, clients can easily create their own deployment pipelines and prevent internal rouge threats.
Updates and Maintenance
HollaEx Kit is under constant research and development with a thriving tech community. HollaEx along with other individuals and third parties constantly contributes to the open-source project by adding features and additional services to the project.
Participants freely benefit from all upgrades moving forward.
HollaEx Operation
Launching Exchange
Launching an exchange and connecting to the HollaEx Network is a straightforward process. Exchange operators are required to follow these simple steps:
- Create an account and exchange on HollaEx Network
- Download HollaEx Kit (cloud users can use the dashboard)
- Activating HollaEx Kit
- Setting up the exchange with HollaEx CLI
- Configuring the exchange settings.
- Launching the exchange.
Your exchange is then up and running and will be automatically connected to the HollaEx Network.
For those that don't know how to use a command-line interface (CLI), a simpler cloud solution is available from the HollaEx Dashboard. Cloud exchange users can make use of their web browser and follow the simple visual step-by-step setup process.
Activation
Activation of an exchange is a process in which the exchange operator activates the HollaEx Kit software to run and connect to other exchanges. The membership status is tiered-based and depends on tier activation to access lower network fees and other capabilities.
Launch
Once an exchange is activated, it needs to be initialized and launched. The initialization process requires configurations and certain settings for the exchange. The operator needs to complete their exchange setup and deploy and launch via the HollaEx CLI, or in the case of cloud users set up on the dashboard.
The exchange initially checks the blockchain for its status upon initialization during the launch process.
Termination
An exchange can be terminated in one of these events:
- Manual deactivation of the exchange.
- Internal malicious activity detection. This could trigger if anyone tries to break into the Core and manipulate the network environment.
Once an exchange is activated it joins HollaEx Network as a node. HollaEx exchanges create an interconnected network of exchanges checking for each other's availability and liquidity sharing.
Since the exchange is an online business and requires to be open to the internet for its clients to use, the HollaEx network uses the internet as a relay network for communication between the nodes. Each node is referred to an exchange and corresponds with other nodes through TCP/IP HTTP requests.
Exchanges ping each other to check their status regularly. This network is used to build reputation and credit scores within the system.
Conclusion
HollaEx and the network is an open exchange economy, empowering the future of open and online marketplaces.
The native token XHT, is a token used within the network and software as a type of digital fuel utility used by exchange operators to activate certain exchange HollaEx software features.
The technology is already built and is in production globally and is seeking to expand and open globally through the HollaEx Network. The network increases transparency, accessibility, and further adoption of cryptos innovations, and those aims to benefit humanity as a whole through access to vital financial services and critical saving tech found in crypto-assets.
The HollaEx network long term goal is to work towards simpler crypto liquidity and credit lines services through trusted shared network of HollaEx participants. All market participants have the opportunity to stake XHT and in turn, boost their credit worthiness within the network of exchanges using HollaEx and in return can earn XHT bonuses for their stake in the system.
Ultimately HollaEx Token is a distributed and transparent DeFi system that follows the standard market adoption curve pattern and basic supply and demand laws.
If you would like to contribute to open, free marketplaces and easy-to-use crypto creation software then look no further then the best white-label software HollaEx.
Creating opportunities via open marketplaces.