Pool Replenishment and Revenue

Pool replenishment

The treasury will distribute a fraction α\alphaof the MBLK balance in the earning pool daily into pools of revenue that can be earned by players, this amount will be distributed over the course of each day. The earning pool will also receive the MBLKs that are spent in-game so its total amount will vary over time. 50% of the total supply of MBLK will be added to the earning pool initially.

The total revenue unlocked in a day will be distributed among small pools corresponding to different enemies or quests in the game that distribute blocks.

The total amount replenished ΔP\Delta P of the pool PP within a period of time Δt\Delta t (in fraction of a day) is:

ΔP=αPΔt\Large \Delta P = \alpha \cdot P \cdot \Delta t

In order to replenish empty pools in priority the amount replenished Δpi\Delta p_i of a pool ii will be:

Δpi=kieβpikijkjeβpjkjΔP\LARGE \Delta p_i = \frac{k_i e^{\frac{- \beta p_i}{k_i}}}{\sum\limits_{j} k_j e^{\frac{-\beta p_j}{k_j}}}\cdot \Delta P

Where pip_i is the is the current amount in each pool, kik_i the base amount in that pool and β>0\beta>0 a constant that controls the distribution of among pools.

The amount in a pool can grow larger than its base capacity and grows indefinitely over time if no revenue is earned from it which makes it more and more attractive to farm.

Note that while the amount replenished from an empty pool is relatively high, it will not grow out of proportion too much. Therefore one empty pool that is farmed intensely won’t have a major impact on the game economy. This is essential as it prevents balancing issues or exploits from having an impact on more than the single quest or enemy to which the pool corresponds to.


Let’s assume there are two quest reward pools with identical base size k1=k2=5000MBLKsk_1=k_2=5'000 \thinspace MBLKs and the total blocks replenished is ΔP=1000MBLKs\Delta P=1000 \thinspace MBLKs. Assuming the first pool is almost empty level p1=500p_1=500 and the other at a high level p2=10000p_2=10'000 and β=1\beta=1. The amounts replenished in each pool will be:

Δp1869MBLKΔp2131MBLK\large \Delta p_1 \approx 869 \thinspace MBLK \\ \thinspace \\ \Delta p_2 \approx 131 \thinspace MBLK

The first empty pool will recover fast while larger pools will grow slowly.

As the revenue earned from a pool is proportional to its content, the content of a pool will self-balance around its base size except if it is overly farmed or if no player is able to complete a corresponding quest.

Pool revenue

In order to reward players more for difficult quests and enemies and to incentivize players to explore the game, the reward for completing a quest or killing an enemy will be scaled proportionally to the amount in a corresponding pool. So the more often a quest is completed the less blocks it will give every time. It is also a safety mechanism to prevent bug exploit to have a significant impact on the game economy.

A single pool will be reduced each time MBLKs are taken from it. We use a linear bonding curve to compute the actual revenue from the base revenue earned in the game. For a pool ii it follows this identity:

dridxi=piki\Large \frac{dr_i}{dx_i} = \frac{p_i}{k_i}

Where rir_i is the actual revenue earned and xix_i is the base revenue claimed.dridxi\large \frac{dr_i}{dx_i} is the derivative of the actual revenue earned over the revenue claimed. Since the revenues of players are removed from the corresponding pool:

dpidxi=dridxi=piki\Large \frac{dp_i}{dx_i} = - \frac{dr_i}{dx_i} = - \frac{p_i}{k_i}

Since the amount in the pool is reduced as the gain is earned, we use a bonding curve to make sure that every revenue follows closely the above equation. For a non-infinitesimal gain Δxi\Delta x_i, we can therefore derive that the revenue Δri\Delta r_i the player would gain is:

Δri=pi(1eΔxiki)\LARGE \Delta r_i = p_i \left( 1 - e^{ - \frac{\Delta x_i}{k_i}} \right)

This last bonding curve equation ensures consistent earnings at all levels of the pool.


In a pool with base capacity of 1000 MBLKs with 500 MBLKs left, an infinitesimal revenue will be multiplied by 5001000=50%\frac{500}{1000}=50 \%. Therefore, the revenue earned by players will decrease when the pool is near empty and increase if the pool content is higher. The revenue if a player gains 100 blocks at that time would be:

500(1e1001000)47.6MBLK\large 500 \cdot \left( 1 - e^{- \frac{100}{1000}} \right) \approx 47.6 \thinspace MBLK

Which is slightly lower than 50% of the revenue because the content of the pool diminishes as the revenue is earned.

Parameters used

The main pool for revenues given in the game is at launch:

P(t=0)=1.5BMBLK\large P(t = 0) = 1.5 B \thinspace MBLK

This is equal to 50% of the 3BMBLK3B \thinspace MBLK total supply. The size of the pool will go down when blocks are earned by players in the game but it will also go up when a player spends blocks in the game as those blocks will be added back into the pool.

The size of the main pool could go over it's initial value as some the blocks earned from staking will be spent in the game.

The proportion of the main pool distributed on a daily basis is α=0.1%\alpha = 0.1 \%. Note that this proportion can be changed in function of the amount of blocks returned to the pool over time, temporary marketing events, etc. For the distribution among different pools for individual quests or enemy types we use a factor β=1\beta = 1.

Some of the parameters of the pools like their size, the distribution factor β\beta, the proportion of the main pool distributed everyday α\alpha and other parameters could be changed based on the behavior of players during the beta and after launch to have a sustainable and exciting in-game economy.

Last updated