Proposal: Treasury refill mechanism

Hello folks,

looking at a market cap of around 5m USD for XIO and noticing the recent initiative with NFTs to refill the treasury, these things paint a clear message. In order to have Blockzero sustain its operations, a non-dilutive treasury increase needs to happen. While I hope that the NFT experiment will be successful, I also want to propose another technique that does not only provide new funding for Blockzero but also benefits investors of upcoming projects like Flash V3 etc.

Challenges

  • Blockzero treasury has left little runway
  • Minting and selling XIO creates inflation and sell pressure, hence is ineffective
  • Refilling the treasury needs to be connected to objectively successful project releases
  • Alignment of interests of involved parties

Solution
Tackling all of the mentioned challenges can be achieved by using an adjusted price control mechanism that central banks use when they soft-peg their currency or in general want to control exchange rates. I think it´s the easiest when I just guide you through an example and in the end dissect the strengths and weaknesses of this solution.

Example
Let´s assume tomorrow is the release of a new token created by Blockzero with exciting usecase. We call it TokenXYZ. As usual, XIO holders and LPs accumulated a certain amount of TokenXYZ in the Dropzero claim app. The total amount of airdropped TokenXYZ is 100m tokens. Of those 100m, 20m go to the Vortex, backing XIOs value. 80m tokens are going to be airdropped on Dropzero.

Now, an additional 40% (40m) of the “normal” total supply of TokenXYZ is minted and stored in a special contract, lets call it SalesContract. Anyone can buy TokenXYZ from the SalesContract at an ever-increasing rate against ETH. A minimum price and maximum price is hardcoded into this contract.

In this example, the SalesContract starts selling 1 TokenXYZ at a price of 0.00001 ETH (4 cents). The maximum price for TokenXYZ bought from this contract shall be 0.001 (4 USD). After every 1 TokenXYZ sold, the price increases linearly. The SalesContract contains 40m tokens, so the incremental price increase after every single TokenXYZ sold is (0.001 – 0.00001) / 40m.

For the next step, let´s say someone sells 1 ETH to the SalesContract and gets the appropriate amount of TokenXYZ. Then 30% of those proceeds (0.3 ETH) are sent to the Blockzero treasury. The other 70% stay in the contract for now.

As soon as the SalesContract has made some sales and the price of TokenXYZ increased, the contract uses the reserved 70% of proceeds as a buy back buffer for TokenXYZ at 70% of the current sales price in the contract. In other words, the contract can buy back as many TokenXYZ as it sold in the beginning, but it made a safe 30% gain on it, which went to Blockzero.

Assuming the price of TokenXYZ starts dipping at some point. It reaches the -30% drawdown mark and if prices on exchanges drop even further there is an arbitrage opportunity for people who sell to the SalesContract instead. Hence, whatever capital was accumulated before, acts now as a solid crash absorber, just like an airbag. The SalesContract can absorb as many TokenXYZ as it brought into circulation earlier while providing instant funding for development at the same time. These tokens will be sold again into rising prices.

After a while, TokenXYZ surpasses the maximum price of 0.001 ETH, hence the last token will be bought off the SalesContract. This marks the milestone where the project is officially acknowledged as being successful. Because it is a successful project, further price control and shock absorption by the SalesContract is not needed anymore. For example, if TokenXYZ reaches the price of 0.01 ETH, it´s very unlikely it ever drops back to 0.0007 ETH, which would be the 30% discounted buyback price of the last sell price. Because buybacks are not necessary anymore after the last token sold, the full amount of ETH in the contract is sent to blockzero to fund the development of exciting new projects.

Strengths

  • The SalesContract gradually sells Tokens into strong markets, causing only light selling pressure through arbitrage opportunities.
  • In falling markets, the SalesContract has the capability to absorb all previously sold tokens at a predetermined drawdown level (i.e., 30%). This can cause significant support.
  • Instant funding for BZ in amount of 30% of all sales by the contract.
  • While the additional tokens in the SalesContract are technically expanding the total supply and therefore, diluting everyone´s holdings of TokenXYZ, the buyback mechanism makes this irrelevant as long as the price is below the maximum selling price. The additionally issued Tokens will be removed from the market during selloffs by arbs.
  • Because the largest pay-out for BZ is acquired when TokenXYZ reaches at least the maximum price in the SalesContract (when the last token is sold), everyone is incentivized to work towards the success of the project.
  • There is no need for XIO dilution

Weaknesses

  • It increases the total supply of TokenXYZ
  • The buyback mechanism relies on arbitragers to effectively exert price control / support

Looking forward to feedback and ideas!

Cheers,
Chad

6 Likes

A lot of great ideas here. Bonding curves are a great way to distribute tokens. Any reason why you chose a linear price change or is that just a starting point to which curve would be the best fit?

Thanks, that´s a great question @seanbhart. In fact I didn´t really think about it at first but chose it intuitively because it´s simple and it solves the problem. Linear distribution everyone understands and it does the job. Linear distribution also means that the sell pressure by the contract is distributed equally among price levels, hence causes the least market disturbance.

Now you could argue, pushing the selling pressure more towards higher prices brings in more funds and gives the project more room to grow in the early stage.

Then I would argue, by choosing the min and max price we can set the amount of funds we want to receive anyways. Further, selling a decent amount of tokens earlier also brings funding earlier. In case the project is a failure at first, these funds can be used to improve it (like the case with flash) or to move on to something new.

Before I continue arguing with myself, what do you think is the benefit of a specific non-linear bonding curve in this context? :slight_smile:

Amazing concept! Thx for putting this together!

1 Like

Definetly worth considering, thanks for investing time in developing the idea

1 Like

Great stuff! Two questions. Would Blockzero be able to implement this mechanism easily? Would it require an unlimited max supply?

I think it should be fairly easy but I´m not sure as I have no experience with solidity. In any case it´s definitely possible so in the end it´s a matter of input versus output of resources.

No. It would increase the amount created for the community airdrop of any upcoming project by XX% which is set in advance and it will be a finite number. If the project has unlimited max supply by design (like Flash, Aqua) it will not change that of course.

1 Like

Sorry for the delay! I’m limited in the number of links I can post, so my response is here: Discord

Thanks for putting in the work on this!

Hey Sean, thanks for the detailed response. :thumbsup:

I went through the linked info, good read! In fact, my proposal is inspired by the HEGIC distribution model but it´s somewhat adjusted. While the HEGIC contract is an AMM with a one-way fee, my proposal is actually not an AMM. In the SalesContract, buying tokens mimic the dynamic of AMMs (with a fixed end price) but selling tokens back to the contract is done at one fixed price. This buyback price is more like a brick wall than an airback really, as it only can go up, trailing the highest sale price. It never goes down like in AMMs. I think it is a broken function, opposed to continuous AMM functions.

While I´m a fan of the LBP from Balancer, it serves a slightly different purpose. With a LBP, the issuing team wants to sell a fixed amount of tokens in a period of time as an initial fundraising mechanism. Technically, after the fundraiser the team can take the money and run. My proposal is more oriented towards success-based ongoing funding as the initial funding is coming from Blockzero. Tokens are only sold if prices make new all-time highs which aligns interests of developers and investors. Therefore, I don´t see a problem with frontrunning.

I´m a visual guy so I sketched some graphical representation in Paint. :joy: While being totally unprofessional, I think it conveys the idea. If you want to hop on a call these days and discuss further, just let me know. :slight_smile:

PS: The contract only sells / buys TokenXYZ, not XIO. So it cannot be used by XIO holders to dump their bags.