The goal of this project is to build a PoolTogether pool in which the prize is the result of the yield accumulated by providing liquidity to the Aave protocol. A custom strategy will also be used to split the prize and share it with 2 winners, that will be randomly chosen. If the algorithm randomly picks the same winner twice, the second share of the prize will stay in the pool and as a consequence, the prize pool for next week will be bigger. With this strategy, it should allow people who invested less money in the protocol to have better chances of winning. Also, the creator of the pool will be able to award ERC20 and/or ERC721 tokens to a third winner as a bonus prize in order to incentive people to invest more money into the pool if the third award is a unique NFT for example. I'll build a custom frontend interface for this pool and will give the ability to people to deploy their own pool by using the pool builder built by the PoolTogether team.

How it's made

The interface has been built in React with Redux to handle the state of the app and ethers.js is used to interact with smart contracts. Smart contracts have been built in Solidity, using buidler as toolchain and deployed on Ropsten testnet network. I've used the new version of PoolTogether (version 3), in order to plug Aave as a yield source.

Technologies used