Skip to main content

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:

  1. A common base contract (BaseRewardStreams) that is reused by both staking and balance-tracking mechanisms of rewards distribution.
  2. An easy-to-use mechanism for balance-tracking reward distribution, which requires only a subtle change to the ERC-20 token contract.
  3. A permissionless mechanism to create a reward stream, enabling anyone to incentivize staking/holding of any token with any reward.
  4. The ability for users to earn up to 5 different reward tokens simultaneously for staking/holding of a single rewarded token.
  5. Additive, fixed length epoch-based distribution of rewards where the reward rate may differ from epoch to epoch.
  6. Protection against reward tokens being lost in case nobody earns them.