Best way to create smart wallets?

Hi Everyone,

I want to implement a smart wallet architecture and have an approach in mind but want suggestions regarding the best approach
My idea is to have a factory kinda contract like uniswap has to create multiple wallet contract each for a new user and that wallet contract has a fallback delegate to call contract through the fallback is this the right approach or any other better methods to do this?
Also inside my smart wallet wanna support meta transactions as well
Any suggestions helpful

1 Like

Hi @viraj124,

You could have a look at what some of the existing projects in the space are doing and consider how you would differentiate:


Gas costs are likely to be one of the biggest issues here.

I suggest looking at UniLogin shut down post.


I assume using minimal proxies created with CREATE2 could be the way forward.

You should be able to calculate the wallet address ahead of time so you could delay contract creation until there were funds in the wallet to pay for it. Also minimal proxies are relatively lower cost to deploy.


As for meta transactions, you could look at GSNv2, for details see: https://opengsn.org/

Thanks a lot :slight_smile:

1 Like

though @abcoathupI have not seen minimal proxies use create2 only seen create being used is there any example of something you know of ?

1 Like

Hi @viraj124,

Have a look at the following topic for an example: How to compute the CREATE2 address for a minimal proxy?