β‘οΈRewards Distribution
Every day, a new prize pool is created. Prize pools are capitalized based on the platform activity, and topped up with community incentives. Users earn experience points (XP) when completing taks. At the end of each period (day) users are ranked based on their XP gains. The prize pool is then distributed to users according to these rules. The remainder of this page outlines the main steps involved in calculating the rewards distributed to users.
Parameters
to_distribute: The amount of money to be distributed
percent_to_win: The percentage of winning users
decay_factor: The exponential decay factor
Invariants
A task completed by a user of rank π₯ should be better rewarded than a task completed by a user of rank π₯ + 1.
Algorithm
Get the users selected to win the prize pool winners=users_numberβpercent_to_win.
For each user i, compute his exponential factor factoriβ=factor(len(winners),decay_factor,i).
For each user i, compute his score scoreiβ=factoriββnbtasksiββ.
Compute the sum of the scores sumscoreβ=Ξ£scoreiβ.
For each user i, compute his score ratio ratioiβ=scoreiβ/sumscoreβ.
For each user i, compute his rewards rewardiβ=ratioiββto_distribute.
TADA vs Gems
The distribution of TADA and Gems uses exactly the same algorithm. However, the quantity of Gems distributed and the number of winners are much higher.