This project provides a way for users within the crypto industry to pay for items with DAI and receive 7% cashback without using any type of card. It can work with any wallet even if it is a mobile, web, or a hardware wallet. Merchants who want to attract crypto customers to their business can stake DAI rather than giving a discount on their goods and services. By staking DAI, when a customer pays to make a purchase, 7% of the customer's paying price would be locked up as collateral from the amount of DAI the merchant stake. The customer will then receive mDAI that is minted in a 1:1 ratio with the amount of DAI locked up as collateral from the merchant. Customers then have the ability to spend the mDAI at other stores that produce fruit tokens. When the mDAI are spend back at any store, they are burnt and the DAI is released back to that person running the store. These stores can be a hotdog stand, major retail store, or even a platform selling NFTs. Anybody can deploy a store and use it to sell what ever they like. If a merchant is having bad business and needs the collateral locked up, they have the ability the trade the collateral on the open market with other stores at a lost. Each person that deploys a store can use ENS names to name their stores and use subdomains for other locations.

Malus showcase

How it's made

Full disclaimer, I had already started researching and working on this project since July 2020. It is built using solidity for the smart contract language, and it was deployed on the ropsten for testing. It mainly consist of three different smart contracts which still needs to be audited. The backend i had started to work on back in September of 2020 was scratched after learning about thegraph protocal. I created a new subgraph from scratch along reengineering the ENS subgraph to better query ENS names with different stores. My frontend was also written from scratch using React as my web frame work with HTML and CSS. The most channeling part was learning about graphql to be able to use thegraph protocol. I use thegraph protocol for my websocket connect to get live ether prices from the uniswap subgraph and to let users know when some the store has changes on the frontend.

Technologies used

EthereumSolidityThe Graph