Introducing a New Token Economy Model: Decentralized Microstaking

The goal of increasing the utility of a token is a never-ending quest when developing an Ethereum DApp. Even when you have a modern functional distributed application with a strong use case in the decentralized world like ETHLend, having a healthy token with a high intrinsic value is not easy to achieve. The reason for this is probably rooted in the infrastructure of the token built on the Ethereum blockchain as an accessory to the main currency. The fact that the token can’t be used to pay the platform fees already reduces its intrinsic value dramatically.

Another side of the matter involves the legal aspect of handling the economy of a token. For example, let’s look at the token burning method, which is one of the most popular approaches used to introduce scarcity and reduce total supply. It works well on average, but might introduce some weird anomalies in extreme cases and may increase the risk of having tokens classified as securities. This is because artificially reducing the total supply may not pass the Howey test.

So the question remains: how do we increase the utility of a token and avoid it being classified as a security, while creating more value? To answer this question, we need to explore what it means to create utility for a token and how this might affect its value.

How utility influences value: an introduction to token velocity

One of the most common ways to increase the utility of a token is to introduce a new functionality that requires a certain amount of the tokens to be used. A few examples of this include the “feature a loan” functionality on ETHLend’s platform and the tipping functionality found on Reddit. The goal of introducing these types of functionalities is to increase the usage of the token. Theoretically, as the usage increases, so does the volume. As more and more people interact with the DApp, the intrinsic value of the token should increase as well. However, this solution does not always work in practice because it fails to take into consideration the problem of velocity.

Without going into too much detail regarding the definition of token velocity (awesome reads here and here) we can describe it as the tendency to sell a particular digital asset. Here is an example: Suppose that we are using an utility token to purchase cinema tickets. There is no incentive to hold the token, as the main utility of the token is to actually purchase the tickets. In this case, this token has a very high velocity. Let’s imagine instead, a particular DApp that would reward token holders who participate in part of the decision making process. In this case, the main utility of the token would be improving decision making by holding the token, resulting in a decrease in the token velocity.

There are also other considerations that should be taken into account when designing a token economy:

  • All users on the platform must interact with the token in some way. This is tricky with ERC-20 tokens because, as mentioned before, the platform fees are paid in ETH so generally there is no real need for the user to buy the token or interact with it.
  • The interaction with the token must be seamless. Again, a tricky one. For example, if you need tokens for “feature a loan” on ETHLend, your best bet is to go to an exchange, buy the needed amount, transfer it to your wallet, then finally buy the featured token.
  • There needs to be some rewards for active users on the application. We are currently doing this by airdropping LEND to our most active lenders and borrowers. But is there an incentive for the users to hold the airdropped tokens? In some cases yes, if the user is pledging LEND as collateral for loans. In others, is not motivated enough to hold them causing the velocity of the token to increase.

Currently, the only low velocity utility for LEND tokens is to use it as collateral. However, even though it’s a great use case, it does not cover all the potential users of the application. For example, what if a user does not hold LEND but OmiseGO?

In the end, we wanted to develop a new economy model for LEND that will:

  • Allow all users, not only LEND holders, to interact with the LEND token.
  • Have a completely seamless interaction that doesn’t require the user to buy LEND on an exchange.
  • Promote use of the application and reward the most active users while at the same time incentivizing users to hold.
  • Increase intrinsic value of the token as use of the platform increases by introducing scarcity.

After a lot of brainstorming and trial and error, we found a great solution that we want introduce to you all in the next couple of months. We will be calling this brand new economy model Microstaking.

Microstaking: how it works

The idea behind microstaking is that everyone using the platform, whether they are applying for a loan, funding a loan request or creating a loan offer, must purchase a “ticket” to obtain the rights to use the application, and that ticket must be paid in LEND. The ticket would be a small amount pegged to USD so that the total number of LEND needed to purchase the ticket would vary based on the token’s value.

In the past with the high fees needed to deploy smart contracts, this idea was hard to implement, but by dramatically decreasing the fees and restructuring the smart contracts architecture in the next release (up to 10x compared to the current Kogia version), we will finally be able to implement microstaking while saving great costs for the end users. By applying microstaking, we will achieve the first important goal:

Have all the users interact with LEND, even those who are not actually holding or using it in the application.

As previously stated, we wanted the interaction to be completely seamless, since forcing users to buy LEND to access the application would have become a huge usability barrier. The easiest way to buy LEND in a transparent fashion is to use the Kyber Network. Every user will pay a small USD pegged fee in ETH that will automatically and seamlessly be sent to a Staking smart contract. The smart contract will then convert all the received ETH in LEND using Kyber and store the converted LEND tokens into a Global Staking Deposit. With this the second milestone of our token economy model will be reached:

Make interaction with LEND tokens seamless for users.

The final step is token distribution into the Global Staking Deposit in a way that incentivizes holding, promotes the use of the application and rewards the users. The idea is simple: the smart contract will periodically release a percentage of tokens to users, but not directly into their wallet. Instead, there will be a microstake deposit created for every user in the Staking smart contract that will hold the reward. Each user will receive a part of the released tokens in proportion to the amount of ETH they sent to the staking smart contract. This means that the more the application is used by a particular user, the bigger his periodic reward will be.

So here we have it: The reward will be held in a deposit for the user in a decentralized manner, and the deposit will grow periodically as use on the platform increases. The deposit will continue to receive rewards as long as the owner of the deposit is using the application. This also has a welcomed side effect; the more the application is used, the more tokens will be locked in the smart contract.

Our ultimate goal of linking the use of the application to the intrinsic value of the token by introducing scarcity has been reached.

So when will users be able to withdraw their stakes? They will basically be able to reclaim their stake at any time while active. If they claim their stake while still active on the application, a portion of their stake will be sent back to the Global Staking Deposit as a penalty. On the other hand, if the user completes all his activities on the platform he will be inactive and will be within the Withdrawal Timeframe.

During this timeframe his stake will become unlocked and the user will be able to reclaim the entire amount. If the user does not withdraw within the Withdrawal Time Frame, the stake becomes inactive. Inactive stakes will no longer be able to receive rewardsand the funds will be kept locked. The only way for the user to withdraw will be to reactivate the stake by starting to use the application again. Of course when a user withdraws, he will cease to get rewards and all his historical data (the total amount of ETH sent to the smart contract) will be reset.

The actual amount of ETH needed to contribute to the staking is set by the application. This allows great flexibility in terms of integration since the amount can be modulated depending on different factors (use cases on the platform, gas costs/congestion on the network, etc). It will also make it easy to integrate the solution with different platforms on the same ecosystem. We are still in the process of defining the specific parameters of the protocol and aim to release the first implementation of the microstaking model with the new release of the ETHLend DApp.

Microstaking for everyone

As you already know, we love decentralization, fairness and transparency. As a contribution to everyone in the cryptocurrency space and in particular, the Ethereum community, we decided to open-source the solution to allow other projects to use it. The code is available here:

https://github.com/ETHLend/Microstaking

The core of the solution is the StakinContract.sol smart contract, which implements the following methods:

  • receive() : Is the method called every time a user sends an ETH amount to the staking contract to be converted in LEND
  • convert() : Will be called to convert the ETH balance in the staking smart contract to LEND using Kyber
  • generateReward() : Is the function that generates the periodic reward that will be distributed to the users of the platform
  • claimReward() : Will be called by the users to claim their rewards after the generateReward() method has been called
  • withdrawStake() : Will be called by users when they decide to withdraw their stake.

For a more detailed description of the functionalities of the solution please refer to the repo readme.md file. Keep in mind the the solution is still under heavy development and testing, therefore all the content will likely evolve substantially in the next weeks.

Conclusions

We believe that in the long term having a strong token economy will be one of the key factors that will determine the success of any crypto related project. By implementing a protocol that increases the interaction of the users with the token, with the introduction of a reward system while boosting the intrinsic value of the token itself. We move towards our goal of creating a leading ecosystem of solutions in the blockchain world, with the LEND token at his core.