Stakepool makes it possible to earn greater baking rewards with your tez stash.

Status: Currently live on Edo2 Testnet & Mainnet

Contract address: https://edo2net.tzkt.io/KT1DDnjzQhA25Vjm3AwqVWGFskzoW3QARKsE/operations/ https://tzkt.io/KT1Bm199TejasANYQQCAKQoXH8NppPn9jR3x/operations/

Github: Smart Contracts & CRON: https://github.com/Tezsure/Stakepool-Contracts Front-end: https://github.com/Tezsure/Stakepool

How does it work?

With Stakepool you can earn bonus staking rewards by predicting the future tez price range in USD value. You win if you correctly predict the tez price range at the completion of the 2 cycles that come after the cycle in which you placed your bet. All baking rewards accrued in the smart contract are distributed among the winners as weighted averages of the total staked amount. If your prediction is wrong, your staked tez is returned but you miss out on your staking rewards for the respective cycles. A fee of 2% for use of the platform is charged on the prize pool and therefore only paid by the winners.

Cool, but how is the return of investment calculated?

All staked Tez is locked in a smart contract for 2 cycles. The total balance of the contract is then delegated to a reliable baker. We calculate the rewards as per the annual return of investment (ROI) of the baker. Assume that the annual ROI of the baker is 5.05%, then the ROI of 2 cycles would be around 0.06% (on mainnet where cycle time is around 2 days, 20 hours approximately) of the total pool as per mainnet based constants.

Do I get a fixed higher return in case my prediction range is right?

No, your return is calculated based on the total amount of Tez staked to the Stakepool and the percentage of stakes that predicted the correct Tez price range. Therefore, the ROI fluctuates until the particular cycle in which you initiated the bet has been concluded. At the completion of the cycle in which you placed your bet, the total amount of Tez will be locked until the 2 subsequent cycles are completed.

How the contract works on a higher level behind the scenes?

As a user, there are two main entry points to interact with the smart contract. The first being the ‘placeBet’ entry point where the user sends his stake -which should be more than 1 tez- and subsequently sets the predicted price range for his bet. The smart contract only accepts params in strike percentage, which is the percentage of change calculated from the price of XTZ/USD at the beginning of the cycle. The second entry is called ‘withdrawAmount()’ and interacts with your address. This ‘withdrawAmount()’ can be called anytime after the end of the staking period by the user to withdraw his/her stake or stake + rewards depending on whether the prediction is right or wrong.

The exact formula to calculate the winning rewards are:

$$ Platform Usage Fees=2\% \ of\ total\ rewards $$

$$ Total Winning Rewards_R= 98\% \ of\ total\ rewards\ $$

                                                                           Or

$$ Total Winning Rewards_R= total\ rewards\ - \ \ Platform Usage Fees \
$$

$$ winning rewards for user A=Total winning rewards_R*Investment_A /Investment_R $$

Where Total Winning Rewards_R denotes the winnings to be distributed to the winning price range, $Investment_A$ denotes the initial investment of user A and $Investment_R$ denotes the total amount of investment in a particular price range.