Panda Wallet

Panda Wallet

Where Web3 meets the Lazy!

The problem Panda Wallet solves

The biggest issue with web3 that we noticed is the need for people to be technically savvy. This appeals to nerds like us but doesn't really make sense when we're looking for mass adoption(heck sometimes we tend to get lost in all the jargon and multiple steps).Amongst these issues the most significant one is that of creating account wallets. This is why we decided to make Panda, a cute wallet meant for everyone!
There is also the issue of forgetting your private keys or even worse getting them leaked, which leads to loss of funds. Abstracting away private keys in the form of smart contract wallets (EIP 4337).

As for the issue of forgetting your private keys we have implemented away for users. to mention guardian wallets at the time of wallet creation. This is so that the guardians can approve wallet recovery as and when the user needs it. We have also made the process of reaching the guardian a lot easier by offering push notifications via Push Protocol.

Challenges we ran into

Over the course of building this project we ran into several issues, some technical and others related to planning. We had decided to build a wallet that leverages account abstraction to ease the onboarding of users. So naturally we did not want to adopt the regular chrome extension pop up method. Instead we went with injecting content scripts. Which are essentially layover on top of given websites.

Issue 1:

While building out the extension the stack we chose was vite.js since it made dev exp a lot better due to hmr. But this also came at the cost of us needing to add in polyfills for some of the libraries due to the absence of webpack which we are familiar with.

Issue 2:

Initially the plan was to create an EOA using social login provided by Biconomy, this didn't pan out since the signer that their social login returned didn't help with signing messages or transactions. Due to this we got to deploying wallets on our own at the time of onboarding.

Issue3:

We ran into a lot of problems while getting the bundler up. The biggest one was that whenever we tried passing a transaction via the bundler it kept complaining of low user funds, turns out this was because Thanks to our mentor Garvit Khatri (for the AA track). We were able to set up the bundlers and were able to smoothly pass user operations onto the entry point.

Discussion