Decentralized Remittance

By opting in for a delay in your DAI transaction, use defi to pay for your gas.

Description

This project aims to solve the problem of high fee and delay in remittance. Using this project (codename: DREMIT), users can send DAI in a day, and pay exactly 0 fees in transaction, not even gas. This is enabled by leveraging meta-transactions and DeFi. DREMIT uses Infura ITX and Compound protocol to earn interest for a day to use it for gas.

Decentralized Remittance showcase

How it's made

DREMIT uses Infura ITX to initiate transaction so that user doesn't need to hold ETH in their wallet. For immediate transactions, the smart contract will take a fee from the DAI, the user is sending. For zero-cost transactions, the smart contract will first transfer the DAI from user's wallet to its own balance. Then, it will lend it to Compound. After a day (for the demo purpose, it is set to 3 minutes), anyone can initiate a call to contract to redeem the exact amount of DAI user sent, from Compound. This will then be sent to the receiver. Meanwhile, the cDAI held by the contract has increased due to interest and the contract keeps on holding them until the contract owner swaps it for ETH via Uniswap. The contract is live on kovan. A localhost react app interacts with the contract. The app provides a user interface and a separate admin interface for owner only actions. Semantic UI is used to improve the UI. I used https://github.com/paulrberg/create-eth-app to initialize the code repo.

Technologies used

CompoundConsensysCTokensHardhatInfuraMetaMaskSolidityUniswap