Overview
Reward Streams is a powerful and flexible implementation of the billion-dollar algorithm, a popular method for proportional reward distribution in the Ethereum developer community. This project extends the algorithm's functionality to support both staking and staking-free (based on balance changes tracking) reward distribution, multiple reward tokens, and permissionless registration of reward distribution schemes (reward streams). This makes Reward Streams a versatile tool for incentivizing token staking and holding in a variety of use cases.
Reward Streams was developed to address the limitations of the billion-dollar algorithm, and to provide a more flexible and powerful implementation. Here's what Reward Streams offers:
- A common base contract (
BaseRewardStreams
) that is reused by both staking and balance-tracking mechanisms of rewards distribution. - An easy-to-use mechanism for balance-tracking reward distribution, which requires only a subtle change to the ERC-20 token contract.
- A permissionless mechanism to create a reward stream, enabling anyone to incentivize staking/holding of any token with any reward.
- The ability for users to earn up to 5 different reward tokens simultaneously for staking/holding of a single rewarded token.
- Additive, fixed length epoch-based distribution of rewards where the reward rate may differ from epoch to epoch.
- Protection against reward tokens being lost in case nobody earns them.