Skip to main content

Enso Staking

Staking.sol#

Enso tokens are staked in the Staking contract, which authorizes RewardDistribution to mint sEnso tokens to the staker. staking for 730 days provides 300% boost in sEnso tokens and declines linearly to a minimum of 14 days. Stake can be extended or more tokens may be added later although full boost will not apply.

RewardDistribution.sol#

The RewardDistribution contract distributes rewards to sEnso holders proportional to balance.

sEnso token integrates ERC20VotesComp allowing GovernerBravo integration. Similar to UniSwap, governance can choose to mint a cap of 2% additional supply per year. Governance can vote to increase cap of 2% on one occasion: this is a disaster recovery method.

Staking#

  • Users can stake anywhere between 14-730 days
  • Minimum stake amount is 0.000000000000017520 enso
  • Stake can be extended 14-n days (n = 730 - days elapsed)
  • Bonus = amount (stake_days / 730) 3
  • More enso tokens can be added to the stake with the boost reward relative to days remaining in current stake
  • Once a stake has expired, user must call restake() to stake again, or else unstake() to begin a 14 day timelock to withdraw enso tokens.
  • Anyone can add to another persons stake. user must send initial tx to create stake however. stakes can not be extended on behalf of someone else.

Rewards#

  • Rewards can be claimed anytime before a user calls unstake() and begins the process to withdraw his tokens
  • If they haven't unstaked, users can continue claim rewards after the stake expires.
  • Users can choose to reinvest their earning into their current stake as long as the stake time has not expired.
  • Enso token is the only reward token accepted

Open source#

Contract source code can be found in Github repository.

Contract Addresses#

ContractNetworkAddress
StakingEth Mainnet0x00