Launching a Pool

Guide for creators on launching a new pool

Deployment

Launching a Pool only takes a few clicks. The factory will handle all the work of deploying associated contracts to the blockchain and configuring them with your desired parameters. Afterwards, you can fund the contract with the rewards you’d like to distribute. To enforce transparency and decentralization, there is no way to adjust configurations after they are created.

You can deploy your own Pool here.

Selecting modules

During configuration, you can select from the six types of Pools: the Geyser, Fountain, Aquarium, Stream, Waterfall, or ERC721 Waterfall.

If you have interest in a separate type of module that we don’t yet support, please reach out to the team here.

Configuration

Each Pool will require you to define the a set of configuration values during creation. These control the behavior of the pool, the stake and reward assets, and the time incentives for users. Please keep in mind that these cannot be changed later.

Geysers

  • Staking token - the ERC20 staking asset

  • Reward token - the ERC20 reward asset

  • Period - the length of time to earn the maximum multiplier (set this to 0 to have no multiplier)

  • Minimum multiplier - this is the multiplier every user has applied at the moment they start staking (set this to 1 if you wish users to start with no time multiplier)

  • Maximum multiplier - this the multiplier users will receive once they’ve staked for the length of the period (set this to 1 to disable the time multiplier)

Most Geysers will use a minimum multiplier of 1x and then scale it up as time goes on depending on how long they want to incentivize users to stay, however you can specify any positive number.

Fountains

  • Staking token - the ERC20 staking asset

  • Reward token - the ERC20 reward asset

  • Period - The length of time a user must be staked to earn the entirety of their rewards (set this to 0 to have no penalty)

  • Minimum penalty - The penalty multiplier that would be applied if a user unstakes directly after staking (set this to 1 to have no penalty)

Vesting considerations: To incentivize users staying for 90 days, you might set the period to 90 days and the minimum penalty to 0.5x. This would mean that on day 1 if they unstaked, they’d only receive 50% of their rewards. If a user unstaked on day 45, they’d receive 75%. Only after 90 days would a user be entitled to unstake 100% of their earnings.

Aquarium

  • Staking token - the ERC721 staking asset

  • Reward token - the ERC20 reward asset

  • Period - the length of time a user must be staked to earn the entirety of their rewards (set this to 0 to have no penalty)

  • Minimum penalty - the penalty multiplier that would be applied if a user unstakes directly after staking (set this to 1 to have no penalty)

See the vesting considerations for the Fountain above, as the same reward mechanics apply here.

Stream

  • Reward token - the ERC20 reward asset

  • Period - the period of time that rewards are guaranteed for. When adding a user, the pool must have sufficient funding to cover the updated rate for at least this amount of time

Waterfall

  • Staking token - the ERC20 or ERC721 staking asset

  • Period - the length of time a user must be staked to earn the entirety of their rewards (set this to 0 to have no penalty)

  • Minimum penalty - the penalty multiplier that would be applied if a user unstakes directly after staking (set this to 1 to have no penalty)

See the vesting considerations for the Fountain above, as the same reward mechanics apply here.

Last updated