Contract
Staking is a mechanic which allows user to deposit one kind of token and gain an interest over time in some other token. This could be compared with a bank deposit.
On early stages of the project, when ERC20 token is just emitted it could be used to retain liquidity of this coin. On middle and late stages it could be used for passive income
Use case examples
-
The project could configure Staking contract to accept ERC20 and give unique token in the box as an interest.
-
Imagine user got 10 Heroes, but he can use only 5 in his squad. What can he do with the rest? Of course, he can sell redundant NFTs, but he also can make them work in a mine to gain passive income. Let's say project has configured mine to accept Hero and give metal ore as an interest. 5 metal ore per day per character, maximum 5 character per mine. This will make user to want to have 10 Heroes instead of 5.
-
Staking can also be used to offer users off-chain benefits in addition to on-chain rewards. For example, a user could deposit game tokens into a Staking contract and receive a bonus off-chain, such as a higher drop of in-game resources. The Staking contract would only modify on-chain data to record the deposit and emit an event, while the off-chain benefits would be handled by the game server. This allows for more flexible rewards and a better user experience.