Simplify the user experience for your users while ensuring their assets are secure.
This guide is for those looking to build an application, game, or other tool that utilizes a blockchain backend while providing a seamless, Web2-like user experience. By embedding a wallet into your application, you can serve as your customers’ gateway to Web3 without compromising your brand or user experience. In this guide, you will learn about embedded wallets and key considerations for integrating them into your application.
Wallets are essential tools for securely storing digital assets, authenticating users, and authorizing transactions on the blockchain. They come in various forms, with the most commonly used being third-party browser extensions like Phantom or MetaMask. While powerful, these wallets can disrupt the user experience in decentralized applications due to pop-up approvals, inconsistent branding, and the need for users to manage separate tools/log-ins.
Since wallets are the primary interface for users to access and interact with decentralized applications (dApps), utilizing an embedded wallet can streamline the user experience. Embedded wallets are integrated directly into your application, allowing you to manage the look, feel, and experience of signing and approving transactions and reading blockchain data. This integration provides a cohesive user experience, aligning the wallet interface with your application's branding and design.
Embedding a wallet into your application can offer significant strategic and operational benefits, enhancing both user experience and business opportunities:
Streamlined user onboarding and engagement: keep your users in your app without introducing 3rd party extensions, click-throughs, sign-ups etc.
Brand Loyalty: A seamless and engaging user interface for interacting with your ecosystem can strengthen customer relationships and create a product that users love. By embedding a wallet, you maintain consistent branding and UX, which fosters trust and loyalty.
Smooth Transactions: hide the complexities of signing transactions and maintain an uninterrupted user flow, allowing continued activity while transactions are confirmed in the background.
Reduce customer risk: reduce the risk of customer-managed and lost keys
Embedding a wallet can help create a seamless gateway for your customers into the Web3 ecosystem. The biggest brands in the world, such as Starbucks, Reddit, and NBA’s Top Shot platform have seen success leveraging them. By doing so effectively, you can enhance the user experience and drive new opportunities for your business.
Understanding your user and use case is critical to setting your embedded wallet up for success. Here are some primary design considerations to keep in mind early on:
Asset Custody: Consider the level of control and responsibility your users will have over their private keys. Deciding between third-party custody, user self-custody, smart-contract governed, or an in-house managed alternative could have significant design, legal, and growth implications. Explore the table below to better understand your options:
| Asset Control | UX | Web3 Ethos |
Custodial (you control) | You (dApp owner) If your organization has the expertise to secure the private keys for your customers, this is an option worth considering. | ⭐️⭐️⭐️ Users do not need to manage secrets or private keys, allowing for more traditional web2-experiences. | ✩✩✩ Relies on a centralized party/single-point of failure for key management |
Custodial (3rd party control) | 3rd-Party A third party, such as a custody provider or exchange, manages the private keys on behalf of you and the end user | ⭐️⭐️⭐️ Users do not need to manage secrets or private keys, allowing for more traditional web2-experiences.
| ✩✩✩ Relies on a centralized party/single-point of failure for key management
|
Smart Contract | You (dApp owner) Wallets are controlled by the logic outlined in the smart contract, which could require multiple signatures, effectively increasing security by providing a level of redundancy | ⭐️⭐️✩ - Users may need a third-party wallet app - Users approve fewer actions that grant restricted, but longer-lasting access | ⭐️⭐️⭐️ Utilizes “trustless” code logic to govern rules for signing and authorizing transactions, removing reliance from centralized actors/authorities |
User Self-Custody | Users Requires users to be well educated, securing their own keys and following good security practices | ⭐️✩✩ - Users need a third-party wallet app - Users need to approve every onchain action, taking them out of your application | ⭐️⭐️⭐️ Empowers users to manage their keys and keep full custody of their assets |
End User: Know who you are building for. Design the user experience to be intuitive and accessible for your target audience.
Use Case: Define the primary use case(s) for your wallet (e.g., DeFi interactions, NFT management, game state changes, ticketing validation, etc.). What features are a must-have versus those that might be unnecessary/confusing for your application?
User Interface: Design an intuitive and user-friendly interface that enhances engagement and creates experiences that delight your users. Ensure that the embedded wallet seamlessly integrates with your application's existing UI to maintain a consistent and cohesive user experience.
On/Off Ramp: Provide seamless on-ramp (fiat-to-crypto) and off-ramp (crypto-to-fiat) solutions within your embedded wallet to facilitate user transactions. This integration ensures that users can easily convert their assets and enhances the overall usability of your application. Browse providers.
Security and user trust is paramount to embedding a wallet that users will use. Here are a few critical considerations to think about when getting started integrating a wallet:
Blockchain Compatibility: Ensure you design your offering, and launch with the relevant embedded wallet, to use the blockchain networks that best cater to your use case.
Security & Key Management: Implement robust encryption protocols for private key management. Consider implementing multi-factor authentication and regularly conduct security audits and personnel background checks to protect user assets. Use industry best practices like hierarchical deterministic wallets or passkeys for enhanced security and user-friendly key recovery options. Check out our guide on Wallet security for more details on various options and considerations for wallet custody. You should also consider integrated tools like Blowfish to protect end users from phishing and other wallet drainer attacks.
Transaction Processing: Depending on your use case, a single user wallet can sign and send thousands of transactions daily. Ensure you are following best-practices for your relevant chain(s) to optimize transaction handling to minimize delays and reduce user fees. Ensure that users have access to a clear and relevant transaction history for your use case.
Open Source Standards: Where appropriate and possible, ensure your wallet adheres to open-source standards to promote transparency and security (e.g., Wallet Standard).
MultiSig/Hardware Wallet Support: Consider whether to support multisig/MPC functionality and/or 3rd party hardware wallets (e.g. Ledger) to allow users an extra layer of security.
Beyond design and technical aspects, Compliance & Regulatory matters should be carefully reviewed for jurisdictions you plan on operating in. Implement necessary compliance measures, such as KYC protocols, and ensure user data privacy and security in accordance with regulations. Regularly review and update compliance practices to adapt to regulatory changes.
Before building your own wallet, it's essential to consider whether to build in-house or buy an off-the-shelf solution from an existing wallet service provider. There are a growing number of platforms offering Wallet as a Service (WaaS), which allow developers to integrate customizable wallet solutions into their applications without the complexities of managing security, infrastructure, and compliance. Here are some factors to consider:
Development Time and Resources: Building a wallet from scratch requires significant time, technical expertise, and resources. Partnering with a WaaS provider can expedite the development process, allowing your team to focus on core functionalities and user experience. Building your own wallet means you are responsible for ongoing maintenance, updates, and scalability as your user base grows. WaaS providers often handle these aspects, ensuring your wallet remains up-to-date with the latest features and security enhancements.
Security and Compliance: Managing security protocols and ensuring regulatory compliance are critical and resource-intensive aspects of wallet development. WaaS providers typically offer robust security measures and compliance support, reducing some of the burden on your team and outsourcing some risk.
Customization and Control: While WaaS platforms offer customizable solutions, the level of control and customization may be limited compared to building your own wallet. Assess whether the WaaS provider's features and customization options align with your specific needs and use cases.
Performance Assurance: Review vendors’ performance history and up-time guarantees included in any service-level agreements.
Cost: Compare the costs of building and maintaining an in-house wallet versus partnering with a WaaS provider. Consider both the initial investment and ongoing operational expenses. WaaS providers typically offer subscription or usage-based pricing models, which can be more cost-effective for certain projects.
By carefully weighing these factors, you can make an informed decision on whether to build your own wallet or partner with a WaaS provider, ensuring the best outcome for your project and users.
Below are some of the most popular providers in the Wallet as a Service space that can be used to get your project off the ground as quickly as possible.
Provider | Chains | SDK Languages | Services | Custody |
Coinbase | EVM Chains | - TypeScript - React | - Passkey signing - Custom UI - Onramp - Staking - MPC Security - Gas-free options | Multiple custody solutions: |
Circle | - Ethereum - Polygon - Avalanche | - REST API | - MPC Security - Gas-free options | Multiple custody solutions: |
Crossmint | - EVM Chains - Aptos - SKALE - Solana | - TypeScript | - MPC Security (Social & Passkey login & 2FA) - Wallet Connect - Kill Switch - Gas-free options | Multiple custody solutions: |
Fireblocks | 25+ EVM Chains | - Python - JavaScript | MPC Security (biometrics & 2FA) | Multiple custody solutions: |
by QuickNode
by Covalent
by Alchemy
by Infura (Consensys)
by Ankr
by Chainstack
by Tenderly
by wevm
by Richard Moore
by Chainsafe
by Ethereum Foundation
by ChainSafe
by MagicBlock
by Aptos Labs