Part of today’s various DeFi platforms appeal is their users’ expectations. They revolve not only around their main functionalities, but also around the expected additional benefits such as rewards in various forms. The purpose of the rewards is, on one hand, to attract potential new users to the platform by introducing them to its main functionalities, and on the other hand to retain them after they have had the occasion to observe the overall benefits in using the platform. The rewards distribution should be made with transparency and fairness according to predefined plans, while taking in account criteria such as ongoing conditions changes, that can include the number of users and the size of the platform usage. In addition, there is a need to safeguard against potential attempts to manipulate the system in order to circumvent the original design and gain larger amounts out of the finite reward pools. Rounding all of the above, it is important to not only try and construct everything right, but also to execute it in an efficient design in order to avoid incurring steap gas prices from on-chain operations.
If we focus, for example, on one facet of rewards, the allocation of $GOVI as a reward to traders who have opened a position -
Expectations for the calculations can be summarized as follows:
- The larger the new opened position, the larger the allocated reward that the trader gets will be.
- The system is configured with a daily maximum reward amount that can be claimed.
- Any single given position’s size for which claim has not been claimed and or closed, can not exceed a predefined configurable value.
- Rewards are allocated in a fair way.
- Encouraging traders to keep on using the platform and its full range of options instead of just opening a position, claiming the reward, closing the position and repeating this action to receive more rewards. To that end:
- A limited time before a position is allowed to be closed has been introduced.
- There is a future option to set the maximum amount of rewards available for claiming to be reduced for the first few days.
After various simulations including all the above-mentioned options, it has been decided to use a hybrid calculation of two adjustable functions. The first is a linear one with a configurable slope and the second is an asymptotic curve. The idea is to ensure fairness in relation to the (size) growth by applying the first function up to a certain point, after which the second function will take over to ensure an upper limit while keeping on increasing based on (size) growth. The trick is to ensure that the two functions depend on our adjustments of the linear method’s range and slope, and that the transition from the linear function to the curved one is smooth and free from any distortions (exact calculations can be seen below). There are various additional secondary mechanisms which include an initial time lock as well as a maximal time limit to claim promised rewards in order to avoid losing any.
Below you can see the reward mechanism calculation: