Algodex Whitepaper v1
Version 1.0 - January 28, 2022 Authors: Armaan Mamdani & Alexander Trefonas
Algodex is a peer-to-peer marketplace that allows users to trade user-made tokens on the Algorand blockchain called Algorand Standard Assets (ASA). Algorand Standard Assets are created by users and companies alike to serve purposes such as software utility, asset representation, rewards tokens, and more. All ASAs exist on the Algorand blockchain and are priced in Algorand's cryptocurrency, ALGO. Algodex allows users to interact with the Algorand blockchain to facilitate the transfer of ASAs.
Using the powerful Algorand blockchain and its smart contract capabilities, Algodex provides a unique order book model and interface that gives users the ability to trade Algorand Standard Assets at prices they choose.
Algorand is a fully decentralized blockchain protocol that aims to allow for efficient, transparent, and secure value exchange. The cryptocurrency that natively trades on the Algorand blockchain is called ALGO. Through proof of stake and consensus algorithms, the blockchain is able to compute transactions reliably and efficiently.
The Algorand blockchain is so efficient that it can process 1,000 transactions per second (TPS), with future upgrades planned to bring it to 46,000 TPS. The final settlement time per transaction is roughly four seconds each, at a cost of only 0.001 ALGOs. Each transaction is immensely faster and more affordable using Algorand compared to other alternatives such as Ethereum.
As of January 28, 2022, Algorand has 21.25 million created wallets and a fully diluted market capitalization of USD$9.61 billion.
One of the most innovative functions of the Algorand blockchain is the ability for anyone to create a token called an Algorand Standard Asset (ASA). Any item, tangible or intangible, can be represented by an ASA. All ASAs are hosted and transacted on the Algorand blockchain and are price in ALGOs, Algorand's cryptocurrency.
As of now, Algorand Standard Assets have been used to create video game rewards, financial utilities, air pollution monitoring, representations of other assets, digital art NFTs, and speculative investments. The use cases for ASAs have many unexplored potentials.
Algorand Smart Contracts are logic statements that exist on the Algorand blockchain. These logic statements can be applied to create ASA or ALGO transactions that execute under certain conditions. Some applications of smart contracts are for the use of escrows and atomic transactions. Escrows allow for money to be held on the blockchain with withdrawal rules encoded, such that they programmatically allow withdrawals directly on the blockchain. Escrow withdrawals can only be performed when the release conditions of the smart contract are met. Atomic transactions are logic statements that mandate the execution of a set of smart contracts at the same time. If one or more of the smart contracts in the set are unable to execute, all contracts in the set remain unexecuted. This can be implemented to prevent counter-party risk in peer to peer transactions.
Smart contracts exist and are executed entirely on the Algorand blockchain. For users to create smart contracts, they must be written and submitted in the Transaction Execution Approval Language, or TEAL.
With several thousand Algorand Standard Assets in existence, there is a significant lack of places where ASAs can be traded. On the trading platforms that are currently available, users are unable to place trades at set prices using limit orders, and the liquidity details are more opaque.
Algodex solves this issue by creating an interface where users can transact ASAs directly with other users on the Algorand blockchain. Algodex utilizes Algorand Smart Contracts to allow users to create limit orders, giving the creator the ability to set the price they wish to sell their ASAs at.
Algodex has the ability to receive information from the Algorand blockchain, compile user orders for the orderbook, and write smart contracts to the Algorand blockchain. The Algodex platform provides a user-friendly interface that also shows price charts, orders, trade history, and other asset information.
Algodex utilizes Algorand Smart Contracts and their escrow function to create a buy or sell order for ASAs on behalf of the user. When creating a limit buy or sell order, the user selects what ASA, how much ASA, and the price in ALGOs at which they want to transact. All user limit orders are compiled into a ledger called an order book. The order book is accessible on Algodex and is filtered by price; many orders at the same price will be summed into one for display purposes. However, each order remains within its own escrow contract.
When a limit order to sell an ASA for ALGOs is submitted by a user, an Algorand Smart Contract is created by Algodex. The user's funds are transferred into the smart contract which holds it in escrow on the Algorand blockchain. No party, including Algodex, has access to this on-chain escrow except for the user, who can cancel their order at any time before completion. A certain price must be met on Algodex before the smart contract exercises. The sell order contracts contain an inequality to accept any price above the price limit.
Buy orders have a similar mechanism. An Algorand Smart Contract is created when a user wants to buy an ASA for ALGOs. The smart contract then debits the correct amount of ALGOs from the user's wallet and holds it in escrow. The buy order contracts contain an inequality to accept any price below the price limit.
Once a limit order is submitted to Algodex, if it satisfies any existing order in the order book in terms of price, the smart contract logic will exercise and the transaction completes. This process is called 'taking,' as new orders are satisfied by taking existing orders from the order book. If there are not enough existing orders to fully satisfy the new order at the set price, the existing orders will be executed and the remaining amount of the new order will create an open limit order at the set price on the order book.
If a new order submitted by a user does not satisfy any existing orders in the order book, it will be added to the book. This process is called 'making.' The order will not be satisfied until it is taken from the order book by a newer order. Until the order is satisfied, it can be cancelled by the user, and ASA or ALGOs are returned to the user's wallet.
The order book mechanism for limit orders is as follows in Diagram 1:
When an order is satisfied, the price that it was transacted at becomes the 'last price.' The last price is considered the market value of the ASA. This also introduces the sell order closest to the last price called the 'ask price' and the buy order closest to the last price called the 'bid price.' As new orders are always being placed and exercised, the last price, ask price, and bid price are always changing.
Users can also enter market orders instead of limit orders. While limit orders are capable of both making and taking orders from the order book, and a fixed transaction price is set by the user, a market order will only take orders from the book at the closest bid or ask price depending on if you are selling or buying. If the difference between the last price and the bid or ask price is too large, the user can adjust what percentage difference they are willing to allow their market order to deviate from the last price, or slippage tolerance.
Refer to the Appendix for further technical diagrams on transaction operation and execution.
ASA liquidity is necessary for users to buy and sell ASAs easily. The liquidity is based on the depth of the order book and amount of funds in each order. Users placing orders and keeping them open builds liquidity on the platform. Incentives for doing so include airdrops and the future rewards system.
The data displayed to the user on Algodex includes the order book of open orders, the last price, the bid price, the ask price, ASA trade history, user open orders, user order history, and user assets. All this data is collected by Algodex's backend from the Algorand blockchain, which is cached onto servers and databases and then delivered to the user interface.
Algodex supports listing every asset on the Algorand chain. Asset creators can list their assets by creating sell and buy orders. Furthermore, the default sorting of assets is based on the liquidity and presence of both buy and sell orders in the order book. More popular assets are automatically more visisble as a result.
The Algodex marketplace platofmr is web based and can be accessed at www.algodex.com. The web platform is accessible via a wide range of desktop and mobile browsers, but Google Chrome is recommended for the best experience. The launch of the platform as a downloadable application is intended in the future.
Algodex also allows users to try out Algodex in Testnet mode. While Mainnet mode will be active by default and trades in real ALGOs, Testnet mode uses Testnet ALGOs that have no value. This allows users to try out Algodex without the commitment of transacting real value.
At launch, internet connections to Algodex from the United States and Canada will be denied access. Algodex intends to launch in both the United States and Canada in the future after legal compliance requirements are resolved.
Algodex currently supports 24 different languages to accommodate our global user base.
Algodex, as well as all Algorand Decentralized Applications, have Algorand network fees of 0.001 ALGOs per transaction. The second Mainnet launch of Algodex will introduce trading fees and a newly integrated user rewards system.
When trading fees are implemented, they are expected to be 0.20% of each trade paid in ALGOs.
The usage of trading fees collected is as follows in Diagram 2:
6.2 - Donations:
Users, such as asset creators, may also donate assets into the Liquidity Rewards pools. This will incentivize people to provide more liquidity via open orders, as they will pay out a larger rewards rate if the pool contains more assets. Furthermore, assets that have larger rewards pools will be ranked higher in the search and default asset sorting.
The Algodex Token, symbol ALGX, will launch as an ASA shortly after the Mainnet release of Algodex.
The Algodex Token will function as a form of governance for all token holders. Voting rights on future Algodex policies will be given through the use of a decentralized autonomous organizations, or DAO. Votes per token holder will be proportional to the amount of ALGX they hold.
The distribution of ALGX is as follows in Diagram 3 and Diagram 4:
The Algodex Token will be backed by the Algodex platform via a profit pool. Once fees are implemented, 17% of all fees collected from Algodex via all trading pairs will be held in the ALGX Liquidity Rewards pool. One exception is ALGX, where 100% of trading fees collected from ALGX trading will be held in the ALGX Liquidity Rewards pool. The ALGX Liquidity Rewards pool otherwise follows the same mechanism of the other rewards pools.
Algodex's process when a buyer places a limit order is as follows in Diagram 5:
Algodex's process when a buyer's limit order fully executes is as follows in Diagram 6:
Algodex's process when a buyer's limit order partially executes is as follows in Diagram 7:
Algodex's process when a buyer cancels a limit order is as follows in Diagram 8:
Algodex's process when a seller places a limit order is as follows in Diagram 9:
Algodex's process when a seller's limit order fully executes is as follows in Diagram 10:
Algodex's process when a seller's limit order partially executes is as follows in Diagram 11:
Algodex's process when a seller cancels a limit order as follows in Diagram 12: