A DeFi savings game which rewards regular saving
GoodGhosting was born out of ETH London, and part of the fabulous Gitcoin KERNEL program. We started with a vision to build an application that would make saving sexy, using the magic of DeFi and gamification. We are pleased to say this vision is now quickly becoming reality! The gameplay of GoodGhosting is super simple. A player joins a saving pool. By making regular payments (e.g. weekly or monthly), a player stays in the game, while his assets earn interest. At the end of the game, the earned interest is split amongst all winning players. If a player misses a payment, he looses, but still gets his principle back. In depth: 1) You choose how long and how much you would like to save, and are matched with other players with similar goals. Multiple players are added to the same savings pool, which runs for a fixed timeframe. 2) You make regular payments in either DAI or USDC (or other assets) during a fixed duration. The funds get added to the savings pool, 3) You watch intrest accrue in the savings pool 4) At the end of the game, the players that met all of their regular payments win. 5) Everyone will get their principal amount back. However, only the regular savers, aka ‘the winners’, will get a slice of the interest generated — gaining them higher interest than if they saved solo 🔥 Why GoodGhosting? If you are wondering about the name, it’s GoodGhosting because the more users ghost (i.e. drop out of the game 👻), the better the returns for the winners. Ghosting others (i.e. miss a payment) means you lose the right to earn interest on your principal. Hence, players who do not ghost, get other users' interest and earn a higher APY. We aim to provide a more accessible route to DeFi, but still with meaningful returns, that help users build better financial habits. In the future, we aim to make the dApp very easy to use (e.g. via a fiat on-ramp), so you can even play it with your non-crypto friends and family. User funds are deposited into Aave (and in the future also to other platforms like Yearn.Finance) to generate attractive interest rates. An avantage of pooling funds of multiple users, is that we can save on gas costs.
How it's made
We use: - The Graph for querying real-time and past game data - Remix / Truffle for contract deployment - Tenderly for debugging - Aave aTokens to generate interest within the saving pools - A savings pool smart contract (GoodGhosting.sol) that receives user deposits, and calculates how much each player is owed - 3Box for player profiles (linking picture and name to an Ethereum address) Before the ETHOnline hackathon, we were already close to deploying a non-gas-optimized version of the game on the Kovan testnet. Yet, we were still lacking some key smart contract bits and a UI. Our short-term goals were: - to make and polish the frontend - to have a version running on Kovan for internal testing, preferrably with reduced gas costs - to (re)deploy our subgraph for use with the new UI - build an (optional) email notification system We are glad to say we completed most of these goals. The smart contract prototype was completed, and deployed to Kovan. We then further optimzied the smart contracts and user interface.The user interface uses our subgraph (https://thegraph.com/explorer/subgraph/good-ghosting/goodghostingsept?selected=logs) to query game data. This way our smart contracts could be simplified, resulting in gas savings. We also build a rudimentary email service, so users are reminded to make their regular deposits and stay in the game. We will continue working to have a gas-optimized version running on Kovan (i.e. full testnet launch), which can be user-tested and thereafter ported to Ethereum mainnet or a compatible Layer 2 solution (i.e. mainnet launch).