No matter what your end solution looks like, you will likely need to decide:
- How to authenticate users
- Whether to use an off-the-shelf Smart Account or build your own
- What SDKs you want to use to build your app
- How gas fees will be paid
- How to get data about user operations
Use the simplest viable approach for your application. In the example, authentication was done with a hard-coded private key. This authenticated an off-the-shelf Kernel account using the userop SDK. Gas fees were paid using Stackup's paymaster, and the transaction receipt was returned with the userop SDK.
We've collected our most common recommendations, but please speak with us to evaluate all of your options. Every project is different. We've also collected a list of some options for key management, smart account libraries, and SDKs.
We generally recommend creating one API key per use case. For example, if you are developing a web app that will sponsor user operations you will generally need three API keys:
- Mainnet client-side, with paymaster disabled
- Mainnet server-side, with paymaster enabled
- Testnet client and server side, with paymaster enabled
The API key used to sponsor User Operations on mainnet should be kept as a server-side secret.
We regularly help companies design new experiences using ERC-4337. Just some of the projects we've powered include:
- Visa credit cards on-chain and Visa's (paymasters)
- Introduction of smart account products at two crypto wallets with over 5m MAUs
- White-labeled infrastructure at top smart contract wallet projects
- Deployment of ERC-4337 infrastructure to an app-specific chain
- Automated high-value trading strategies executed through a custom mempool
- Privacy preserving smart accounts
- Beam wallet and Eco paymaster (link)
Have something in mind? Please chat with us!
Updated 2 months ago