EVMSolana
Overview
Embedded Wallets provide secure, user-friendly authentication methods that eliminate the complexity of traditional crypto wallets. Users can access their wallets through familiar authentication patterns like email one-time passwords (OTP), SMS, and social logins, without ever dealing with seed phrases or browser extensions.Ready to implement authentication? Check out the Implementation Guide for step-by-step integration instructions.
Email OTP
Email OTP is the primary authentication method for Embedded Wallets, providing a secure and familiar experience for users.How email OTP works
How email OTP works
- User enters email: The user provides their email address in your application
- OTP sent: A 6-digit one-time password is sent to their email
- User verifies: The user enters the OTP in your application
- Wallet access: Upon successful verification, the wallet is created or accessed
Security features
Security features
- Time-limited codes: OTPs expire after 10 minutes for security
- Rate limiting: Protection against brute force attempts
- Secure delivery: Emails sent through Coinbase’s trusted infrastructure
- Device binding: Wallets are cryptographically bound to the user’s device
User experience benefits
User experience benefits
- No passwords to remember: Users don’t need to create or manage passwords
- Instant onboarding: New users can create a wallet in seconds
- Familiar process: Similar to authentication flows users already know
- Cross-device support: Users can access their wallet from up to 5 devices
Email Customization
By default, all emails are sent without customization. If you’d like to use a custom email template featuring your app’s name and logo, reach out to us on Discord, and we’ll get you set up within one business day.SMS OTP
SMS-based one-time passwords are available as an additional authentication method, providing users with more flexibility in how they access their wallets.How SMS OTP works
How SMS OTP works
- User enters phone number: The user provides their phone number in your application
- OTP sent: A 6-digit one-time password is sent to their phone number
- User verifies: The user enters the OTP in your application
- Wallet access: Upon successful verification, the wallet is created or accessed
Security features
Security features
- Time-limited codes: OTPs expire after 5 minutes for security
- Rate limiting: Protection against brute force attempts
- Secure delivery: Text messages sent through Coinbase’s trusted infrastructure
- Device binding: Wallets are cryptographically bound to the user’s device
User experience benefits
User experience benefits
- No passwords to remember: Users don’t need to create or manage passwords
- Instant onboarding: New users can create a wallet in seconds
- Familiar process: Similar to authentication flows users already know
- Cross-device support: Users can access their wallet from up to 5 devices
SMS security considerations:
- SMS authentication is inherently vulnerable to SIM swapping attacks, where attackers can take over a user’s phone number.
- You should weigh the convenience of logging in with SMS with the potential for a user’s wallet to be taken control of.
Social login providers
Social login through Google, Apple, and X are supported via our SDK using OAuth 2.0. We offer Coinbase-owned OAuth login, allowing users to recognize and trust Coinbase’s brand during the login process.How Social login works
How Social login works
Security features
Security features
- Time-limited codes: Social login sessions are managed using a refresh and access token model with configurable expiration
- Rate limiting: Protection against brute force attempts
- Secure delivery: Login is facilitated by Coinbase’s trusted brand.
User experience benefits
User experience benefits
- No passwords to remember: Users don’t need to create or manage passwords
- Instant onboarding: New users can create a wallet in seconds
- Familiar process: Similar to authentication flows users already know
- Cross-device support: Users can access their wallet from up to 5 devices
React Native OAuth setup:
OAuth authentication is fully supported in React Native, but requires deep link configuration to handle authentication callbacks. See our complete React Native Social Login Configuration guide for step-by-step instructions.
Note: Email and SMS authentication work out-of-the-box in React Native with no additional configuration needed.
Examples
Sign in with social providers using the OAuth flow. Note that the page from which thesignInWithOAuth call occurs will be redirected back to after the user authenticates with their provider. The user will be automatically logged-in when @coinbase/cdp-core re-initializes.
Auth method linking
Once a user is authenticated, you can enable them to link additional authentication methods to their account. This allows users to sign in using multiple methods (email, SMS, OAuth providers) while maintaining access to the same embedded wallet.Why link authentication methods?
Why link authentication methods?
- Meet 2FA requirements: Coinbase Onramp requires both email and phone verification for seamless integration
- Improve account security: Add additional authentication factors as users accumulate more funds
- Enhance account recovery: Multiple methods provide backup options if one method becomes unavailable
- Flexible access: Users can sign in with any linked method and access the same wallet
How it works
How it works
- User must be authenticated: The user signs in using any supported method
- Initiate linking: User requests to link an additional authentication method
- Verify the method: Complete verification (OTP or OAuth flow)
- Linked: The new method is now associated with the same user account and wallet
Developer-delegated authentication
This feature is in development and coming soon. This will enable applications with existing authentication systems to integrate Embedded Wallets seamlessly with their current user authentication flow.What to read next
- Implementation Guide: Step-by-step guide to implementing these authentication methods
- Auth Method Linking: Link multiple authentication methods to a single wallet
- Session Management: Understand session lifecycle and token management
- Best Practices: Security recommendations and production readiness
- Server-side validation: Validate user sessions on your backend