Image by Pankaj Patel

Bonkey core V0.1

Bonkey core V0.1

25th February 2021, by Bonkey Donkey

PDF version: [english      ] [chinese     ]

OVERVIEW

The advent of deFi projects such as stable currency pegging (USDT, DAI), decentralized lending (Compound, AAVE), and decentralized exchange (Uniswap, Sushiswap) broadly advanced the Ethereum smart contract ecosystem. However, users of smart contracts nowadays can only play with these deFi tools and conduct the real activities off-chain, which will result in multiple problems:

1) Disconnection from the real-world activity: The off-chain activity and the on-chain deFi are decoupled, and there is no way to ensure trust between them; For example, if a company failed to use a token to pay salary, workers still need to seek to the centralized authority for protection.

2) Lack of fundamental support: deFi investors can only swap tokens on-chain, and there is no way for value investors to track and analyze the projects, which makes the swapping activities more like a speculative gambling game instead of a serious investment. Those people will quickly create a Ponzi game bubble and hurt the market in the long term. 

3) Depreciation risk: Once an investor invests one coin in exchange for another coin if the project is not going well, the coin in the investor's hand might have the risk of depreciation, not to say the scammer project has the incentive to depreciate their tokens to gain instant profit.

4) Centralized control: Although any tokens can be listed in the Uniswap exchange, the showcase of the token in the dropdown list is solely under the control of list creators, and people usually not have the willingness to do their research search for a specific token, and buy whatever they see in the list.

Therefore, we proposed Bonkey (bit monkey) to help bridge the real-word working and investing activities by deploying a single, smart contract. Thus people can collaborate under the protection of the smart contract.  We compare our contract more closely with a kickstart place for tokens with limited liquidity, it’s not a competitor with Uniswap, but more like a complimentary service to provide more information to the uniswap ecosystem.

PROTOCOL DESIGN

INITIALIZATION

Specifically, we have grouped our users into three categories: Entrepreneurs, Investors, and Contributors. All of these three roles could be stakeholders. A project manager starts up a project J, with the source token C0and target token C1, and the price of the Pwhich means how much C0 can a single C1can exchange. The project manager will also set a poll ratio R, if the sum of stakeholders voting power supports a proposal or a payment is more than R, then the  proposal / payment will be successful. Entrepreneurs will also specify a commission rate of F; we will explain the meaning of Fin the payment section. A project deadline Ewould be specified, which is a block number to indicate when all the deposit of the project should be liquidated, no matter the project is done or not. A summary of the initial parameters is as table 1 shows.

table1_edited.jpg

DEPOSIT

Once one Entrepreneurs created the project, a smart contract will be deployed to the ethereum mainnet chain. From the time when the contract is deployed, anyone with a valid account and some amount of source or target token can make a deposit into the project. If the account make a deposit on C0, the account is regarded as an entrepreneur, if the account make a deposit on C1The account is considered as an investor, an account can deposit on both tokens, we can call them stakeholders as a whole.  Although in the formal mathematical definition, there no strict definition about Entrepreneurs, Investors, and Contributors, we can say that Entrepreneurs are more skewed towards depositing in C0, and investors are more intended to deposit in C1Because of the difference of the requirements, contributors are more intended to make their efforts to finish their project in exchange for these two tokens.

Suppose there are N accounts made the deposit, the ith account Hi deposit di0amount of C0 and di1amount of C1 into the contract, then the voting power Vi of Hi would be as the following equations shows. Nevertheless, if  stakeholders deposit tokens that have more than R of voting power, the voting can not proceed because it will result in monopoly and inequality. The deposit can be made or withdrawn continuously even if the project is ongoing; there is no deposit/withdrawal deadline as long as the deposit is made before E. And the voting power is calculated based on the block snapshot of the voting event. However, there are limitations for withdraws, in the later section, we will mention about proposal, every proposal will lock some funds L0or  L1 for the future payment request, and the withdraw amount should satisfy the condition wi0+L0<j=0Ndj0 and wi1+L1<j=0Ndj1 so that fund would not be over-withdrawn.

Vi = di0+Pdi1j=0Ndj0+Pj=0Ndj1

table2_edited.jpg

PROPOSAL

The project is structured as multiple proposals, and anyone can make the proposal; for example, suppose an entrepreneur wants to create a website, he/she might divide the project into three proposals: front-end, back-end and operation. The kth proposal will cost a share Sk1 of C1 and Sk0 of C0where as Sk0=Sk1*P. Note that a proposal or a payment is evaluated by the amount of C1tokens, because Entrepreneurs / contributors would usually be interested in C1which has a better liquidity at the very beginning of the project. Once the proposal is made, the stakeholders will vote to pass or reject the proposal, of which the rule has already been defined in the previous sections. Once the proposal has been approved, there will be Si1 amount of C1 and Si0 amount of C0the token will be locked for future payment. 


It's the proposal creator’s responsibility to specify a block time for the approval deadline Tipropfor proposal, after which the proposal will be automatically approved or rejected if the approval /reject ratios are more than 50%, and if none of the ratio surpasses this number, the proposal will be automatically rejected.  This ratio is hardcoded into the protocol and can be changed in the future. In addition there will be a deadline Tipayfor the proposal finalization, after this time, if no payment decision has been made, if the approval rate is more than 50%, tokens will be paid to the contributor automatically, or else tokens will be unlocked and returned to the deposit pool. 

table3_edited.jpg

PAYMENT

Once a proposal has been approved, contributors will be working on the fulfillment of the proposal, when a contributor is confident to say the proposal is finished, the contributor will submit a payment request, the approval of payment request would follow the same rule as the approval of proposals. If a payment request is approved, the distribution of the fund will be as the following formula shows:


Payi0=(1-F)Sk0di1j=0Ndj1
Payi1=FSk1di0j=0Ndj0


And the contributor’s payment would be as the following formula shows:


Paycontrib0=FSk0
Paycontrib1=(1-F)Sk1

table4_edited.jpg

YIELD FARMING / BONUS

Since deposit in the pool is easy to withdraw, there should be some incentive to keep investors in the pool, when project creator create the project, the creator can specify an interest rate I for C1, the reason why C0is not specified is that usually C1has more liquidity than C0, the interest is the payment for the sacrifice of liquidity. For each block a Idi1of  C0 will be awarded to Hi, Hi can choose to compound the investment or withdraw the interest they earned.

table5_edited.jpg

BONKEY(BNKY) TOKEN AND NFT

Bonkey token is a BEP20 token that has an initial offering of 100,000,000 total supply, and this supply is capped. The token economy is as following rules:

 

  • (In) The initial token release is 100,000,000 BNY and it's capped at this number;

  • (Out) There will be an airdrop to release 1% of token to the public, meanwhile, we will create a swap pair in a DEX. 30% of tokens will be released in DEX in 6 phases.

  • (Out) When investors choose to invest in Bonkey or any other projects in the platform, they will receive interest when they lock their funds in the project. Meanwhile, from anytime, they will be able to withdraw their investments.

  • (Out) Investors invest their tokens to swap for BNKY and the chance to vote for the direction of the project, 30% of the BNKY will be released in this way.

  • (Out) 30% of tokens will be reserved for the team.

  • (Out) 9% of tokens will be reserved for the treasury.

  • (In) There is a switch in the smart contract, in the future, the platform will charge 0.2% of fees when a proposal is withdrawn.


The use of BNKY token will be mainly for two purposes:

 

  • Governance, the token can be used to vote for the development of the Bonkey platform.

  • BNKY can be used to purchase NFTs published by Bonkey organization