May 20, 2019
The Shardus project has an ERC20 token on the Ethereum network which we give to developers, advisers, promoter, bounty hunters and others who contribute to the project. We did not have an ICO or sell the token to investors. Our token is currently traded on Uniswap. It used to be traded on Bancor. This article explains why we chose Uniswap over Bancor.
In August 2018, as part of rebranding the project name from Unblocked Ledger to Shardus, we needed to deploy a new ERC-20 contract and move our tokens over to it, just so the name and symbol on the contract can be changed. Since transaction fees on the Ethereum network were becoming very sporadic we also wanted to move off the Ethereum network. We evaluated other platforms such as EOS, Waves, Stellar and Tron. Although we liked Waves quite a bit, we felt that it was not quite ready at the time. Also there was no service on Waves similar to Bancor where we could list the token. We decided to stay on Ethereum mainly for the Bancor service. But in the evaluation processes we also stumbled upon Uniswap which was just getting started and offering a service similar to Bancor.
What we found most interesting about Uniswap was the simple equation it used to do the conversion. TOK_new * ETH_new = TOK_old * ETH_old. Compare this to the complex formula used by Bancor given in this paper. The simple formula used by Uniswap translates into much lower fees to do a swap on Uniswap compared to Bancor. The Uniswap transaction fees for a swap are about 5x less than Bancor.
Our token was listed on Bancor for several months before we switched to Uniswap. The process for listing a token on Bancor required us to contact the Bancor team and work with them to transfer ETH and equivalent amount of our token to addresses provided by the Bancor team. The Bancor team also required us transfer no less then $60,000 USD of ETH during the setup to be used to provide liquidity. The process took a day or two of going back and forth with the Bancor team from the time we decided to list to the time to our token appeared on the Bancor site. In contrast the process for creating a Uniswap contract was as simple as filling out a short form and clicking a button. The process for add liquidity to the contract was just as easy. The process took a minute or two and we did not need to contact the Uniswap team. Nor was there any requirements for how much liquidity to add to the contract.
If the process for getting listed on Bancor was a bit difficult the process for removing liquidity and getting delisted was even more difficult. The process required going backing and forth with the Bancor team for a few days to execute the steps and make sure we did it right. Also it was a good thing that the liquidity was provided by a group of people who knew each other, because the full amount stored in the Bancor contract was returned on just one address. We had to then distribute it ourselves based on who added how much liquidity. This would never be possible if many people who did not know each other had added liquidity. With the Uniswap contract the process of removing liquidity was again as simple as filling out a form and clicking a button.
One nice feature of Bancor that we missed is having real-time price and volume information along with charts which made Bancor feel like an exchange. The Uniswap interface is quite basic and does not provide such features.
The one thing that we did not like about Uniswap was the decision by the team to display only the tokens they added to a curated list. To use any other token with their interface requires entering the token contract address. Many projects have been asking for a change to this policy, but the Uniswap team insists it’s for the safety of the users and suggests to fork the project and provide your own curated list.
The Shardus team has gone ahead and created a new interface to the Uniswap contracts and made it available at UniswapDEX.com. Our interface lists every token which has a Uniswap contract with at least 1 ETH of liquidity and provides an option to include even the tokens with very low or zero liquidity. In addition our interface collects real-time data from the Ethereum network and displays the current price, volume, change and liquidity for each token as well as a price and volume graph. This gives our interface the same exchange like features provided by Bancor.