AAVE Shortcuts
Leverage Account Abstraction to invest & borrow GHO with credit card payment only.
Screenshots




Problem Statement
The goal of this dApp is to improve UX of AAVE for non-crypto users (users without crypto wallet like MetaMask).First, users login using their email. Based on the email the app will generate a new Smart Contract Account (SCA) address for them.Users are asked to deposit a crypto asset (LINK, ETH,...) to this fresh SCA address using a fiat-onramp service.Once the SCA address is funded, the bytecode of SCA account itself can be deployed. The asset that was deposited is used as a collateral to borrow GHO.All this can be done with a very simple UX. Account Abstraction supports. transaction batching, thus all of the following can be done in a single click:Approve that AAVE can spend user's LINK.Deposit LINK to AAVEBorrow GHO on AAVEAlso the user doesn't need MetaMask or any ETH. He can sign transactions using his Email-generated account and the (e.g. first) transaction can be sponsored by a Paymaster.
Solution
Email login/wallet - Magic Account Abstraction SDK - Alchemy Paymaster - Alchemy Smart contract interaction - Viem, Wagmi, Alchemy Frontend/Bakcend - React, Tailwind CSS, Next.js Fiat onramp service - this is just a mock of Ramp. I can't use any "real" fiat onramp in a testnet environment.All the tech was quite nicely fitting together because Alchemy is using Viem in the background. However, I was struggling to execute some of the transactions/userOperations. There seems to be an issue with the gas estimation process by Alchemy's bundler (e.g. batch operations, DEX swap) thus I had to limit the scope of the project. (I wanted to perform further operation with the borrowed GHO. e.g. leverage the collateral).
Hackathon
LFGHO
2024