Introduction
This task aims to implement Wallet Connection Services into the Optimism Fractal App. The goal is to integrate wallet connection options such as Privy, RainbowKit, and the newly released Coinbase Smart Wallet to provide users with seamless access to their accounts and enhance the functionality of the app.
Table of Contents
Overview
I’ve given a lot of thought about which wallet connection services to integrate and am not totally sure what’s best yet, but I think I came up with a decent plan while writing this. Tadas said there’s currently not a list of issues that anyone can just pick up but there will be as the project develops and we can find ways developers can help in the future.
Pricing
Regarding the pricing, I looked at the pricing for privy and thirdweb and it seems like they’re both free until we get 1,000 users, so I think we should be able to access the services without paying for a while if there’s a way to make sure that the accounts only get created for real people. I also asked ChatGPT about Alchemy’s pricing and it seems fairly similar.
Features
From my research it seems like Privy provides the most wallet connection options to login or create accounts with email addresses, passkeys, or social media accounts. As of a couple months ago Alchemy only offered accounts via passkey and stated they would add more log-in options soon. I didn’t know that Third Web offers wallet connector services, though I know that both Alchemy and Third Web offer a wide variety of other helpful development services as well (such as paymasters for gasless transactions). It would also be great to integrate something like WalletConnect or RainbowKit to make it easy for onchain builders to easily login with any wallet. For reference, this project has most of my research about Privy and other options for wallet connections.
Coinbase Smart Wallet
This week Coinbase released the Smart Wallet, which seems to be entirely free and has several unique, exciting features. For example: it can connect directly with a Coinbase account, work smoothly with Coinbase’s Paymaster API for sponsored gasless transactions, and is integrated into Onchain Kit for quick integration into front-ends. While many embedded wallets only work with one app, accounts created with this Smart Wallet can work with across many apps (and soon across many L2 networks). The creator of Base said that the Smart Wallet can be integrated into most apps within a day in this introductory video, so perhaps this could be a fitting project for your a small amount of time. You can see here for more details about the new Smart Wallet.
Funding and Promotional Opportunities
There are also funding and promotional opportunities for building with these tools, which is another differentiation factor that may be worth considering. In addition to 200 ETH in prizes during the Onchain Summer Buildathon, Base is offering 40 ETH, marketing support, free gas sponsorships, and technical guidance for builders that integrate the tools from Coinbase Developer Platform like the Smart Wallet (as you can see in this article). Privy is sponsoring a $5k bounty for builders who integrate Privy’s tools during Onchain Summer. There are also discounts and support services for Alchemy and Third Web’s suite of development tools in the Superchain Dev Console.
Plan
There’s a lot to consider here and it might eventually make sense to integrate with several wallet connection services to get the benefits of each, but I think it’s best to start with just the most helpful one or two integrations then add more as needed.
Jesse Pollak (the creator of Base) just posted a short video showing a reference implementation for Coinbase Smart Wallet that uses Rainbow Kit, which provides a sleek user interface for connecting to a wide variety of wallets or easily creating a Coinbase Smart Wallet directly with the app. I just looked into RainbowKit for the first time and it seems like a nice wallet connection solution that’s used by many leading teams and would provide a lot of helpful functionality for the Optimism Fractal app. I also reviewed the video above and it sounds like the Smart Wallet can also be added to Privy instead of RainbowKit, so it’s worth considering which option is best.
I think it would probably be best to integrate with the Coinbase Smart Wallet with Privy and/or Rainbow Kit like in the reference implementation above. This seems like it would provide us with the most needed functionality for wallet connections in the Optimism Fractal app while also helping us pursue opportunities for growth with Base. The video linked above indicated that the integrating RainbowKit or Privy makes it easier to integrate Coinbase Smart Wallet, so it seems best to start with integrating RainbowKit or Privy first then add the Smart Wallet afterwards.
I just asked ChatGPT to compare RainbowKit with Privy and it seems that they offer many overlapping features, but RainbowKit is more specialized in connecting Web3 wallets and Privy is more specialized in connecting Web2 accounts. You can see the chat about this here. It might make more sense to integrate RainbowKit now since the main target audience for Optimism Fractal right now is already onchain, but there’s also huge potential to onboard people outside of the Web3 ecosystem with Privy. I think the next step is to decide whether we’ll integrate RainbowKit, Privy, and/or a different solution.
What do you think… do you agree with this or other have ideas about what wallet connection service(s) may be best to integrate? Does it make sense to work on this now or is it best to speak with Tadas first to coordinate it better? I added most of these notes to this public task and will share with the Optimystics so they can see them as well.