Our project was inspired by our personal research into earnings backed savings accounts and my late grandfathers (Daniel Ye's) obsession with playing the lottery. My grandfather was not rich and spent thousands on the lottery over his lifetime. Knowing the benefits that earnings backed savings accounts have on the wealth preservation of the lower to working class, the MoonSave team is passionately working towards a more sustainable financial future.

What it does

The main idea is this: Instead of throwing away money in a lottery where you'll never see it again, you deposit them into a savings account, which will payout interest in a lottery style, with a few lucky winners, but those winners win big! We also take advantage of Ethereum's high yield staking of over 4% annually, which is 100-400x better than existing options.

Users deposit funds onto our savings account. Interest accumulated from all these funds via Etheruem staking will be redistributed to all account holders in two ways.

Half of the interest will be evenly payed out, as a dividend to shareholders. The other half will be split into 4 jackpots, to be awarded to 4 lucky savers.

For every $10 worth of savings deposited, you will earn 1 ticket into the Jackpot lottery. This way encouraging you to save, while rewarding chances proportionally to the amount you save.

How we built it

The frontend was built using React and integration with the Ethereum ecosystem with useDapp. The smart contract saw over 7 iterations and separate deployments, and was built using the Brownie framework.

Challenges we ran into

We ran into very sparse documentation on the useDapp frontend with regards to calling Smart Contract functions. We had to comb over the library code and understand the internal functions ourselves to see how we could best use all the arguments and return values of useCall and useContractFunction.

Accomplishments that we're proud of

We're very proud of writing our first DApp and Solidity Smart Contract! It was a first for everyone on our team and we're very proud to have built a financial product that might help the financial practices of lower income households!

What we learned

The Smart Contract also was a brand new development experience for us, I wasn't used to not being able to deploy builds and test off of deployments, the style was much more unit/integration test based, which I now very much enjoy. It was a pleasure to write so many tests and see that the deployed TestNet contract was bug free and ran exactly as expected.

What's next for Moonsave

Our next step for Moonsave is to run our own Ethereum Staking Node so we can collect real interest for our users. We also want to display transparently the random number that was generated from ChainLink VRF so our savers can verify themselves that the lucky account winners were selected fairly.

Built With

Share this project: