Inspiration
ICOs sometimes play a questioned role in crypto economic, for whitepapers are not easy to understand by ordinary investors, both technically and economically, and once done, technically there is no restraint for the already profited team. As a result of some bad examples, both investors and honest teams were harmed.
Bancor protocol is an asynchronous price discovery mechanism, also offers a good practice for creating tokens based on one or more connector token(s), the later provides reserved value for the new tokens, and for a given connector weight, the curve of a created token’s price could be predictable and transparent to end users.
Our idea is that the ICO should be a procedure, which takes a period of time, and Bancor’s connector weight factor could be involved in all along the procedure of initialization of the new token, and other factors should also be considered, such as the necessary project funding, the interaction between the developing team and investors, the adjustment of TF function/parameters(by governance voting of investors, for example) during ICO procedure according to the progress of development. The TF settled, the potential profit of the team would be visible to investors. We are aiming to construct a bridge of trust.
What it does
We add a TF(aka Team Funding) factor to the original formula of bancor. TF should be a function defined by the team, may take parameters like funding time, token issued/destroyed, connector token paid/returned etc.
This TF factor is added on behalf of the continuity of the team’s funding, for their reasonable need or profit without avarice. It will be designed by the team out of its own consideration, and once the extended contract is deployed, it could stimulate and demonstrate the predicting curves of both buying and selling, give investors a clear idea how much contribution they will make to the project and how much they could profit from an early involvement, help to make decisions.
How we built it
The math work
We add a TF(aka Team Funding) factor to the original formula of bancor. TF should be a function defined by the team, may take parameters like funding time, the tokens issued/destroyed, connector token paid/returned etc.
This TF factor is added on behalf of the continuity of the team’s funding, for their reasonable need or profit without avarice. It will be designed by the team out of its own consideration, and once the extended contract is deployed, it could stimulate and demonstrate the predicting curves of both buying and selling, give investors a clear idea how much contribution they will make to the project and how much they could profit from an early involvement, help to make decisions.
On buying, the formula will look like:

On selling, the formula remains the same as original:

In-between buying and then selling the same number of smart tokens on the same total supply, the team funding collects:
team funding increasement = connector tokens paid(buying) - connector tokens paid out(selling)
Working based on bancor protocol
We extended some of bancor's code for recalculation and implements getTF() function in solidity with varies CWs and getTFs
Testing and proving
We deployed the contract on Ropsten and send test buying/selling txs, collected and displayed data, utilizing web3js, influxdb and Grafana.
We tested 2 simple modules:
TF is a constant

TF is a percentage of connector tokens paid

Check out the result at Our grafana page.
The results produced on testnet is coherent with our simulator.
AnyToken, AnyInvest
We use KyberNetwork to accept Any ERC20 token Kyber supports. Users can invest AnyToken to the project, and also they can withdraw AnyToken Kyber supports, thanks to the warm help from Kyber!
Challenges I ran into
Doing the math, doing the right math in the code, and produce data in good precision. We also spend a lot time to integrate our code in Kyber testnet
Accomplishments that I'm proud of
We are quite happy with the result we get
What I learned
Encountered all different thoughts on tokens trading.
What's next for pico
We’d like to continue this work to make it really practical by adjusting and more testing, and introduce more interesting and useful features such as governance of investors' voting.
Log in or sign up for Devpost to join the conversation.