Authenticate and onboard users to your app
AUTHENTICATION
Authenticate users into your app
Authenticate users to your app with any log-in method and automatically create wallets for users who don’t have one.
Every log-in method
Allow users to sign in to your app however they like, manage sessions, and offer the best possible UX for onchain apps.
Email
Magic links, Gmail SSO
SMS
International phone numbers
Social Accounts
X, Farcaster, and more
Web3 Wallets
Any wallet across chains
.svg)
Key features
- UI customization
Style the auth flow to make it feel native to your site - Headless APIs
Build your own UI for full customization - Whitelabeling
Remove all Crossmint branding. Make it about you - Custom auth
Bring your own authentication provider - Session management
Easily manage user sessions, tokens, and timeouts - SSR compatible
Authenticate your users server-side with cookies - Wallet pre-generation
Create wallets and airdrop assets before users sign in - 10+ log-ins methods
Email, sms, socials, crypto wallets on EVM or Solana
Create wallets for users who don’t have one
Deploy new wallets automatically for users who don't have one
Hold balances
Store stablecoins, crypto, NFTs or any other digital assets
Make money move
Transfer funds instantly across the globe, or make payments
Sign transactions
Request users to sign transactions or do it from your server
Connect to other sites
Optionally allow users to connect to any website or app.
Start onboarding users in 5 minutes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
| functionAuthButton(){ | |
| const{ login, logout, jwt }=useAuth(); | |
| const{ wallet }=useWallet(); | |
| return( | |
| {/* Login/Logout Button */} | |
| {!jwt ? ( | |
| <buttononClick={login}> | |
| Connect Wallet | |
| ) : ( | |
| <buttononClick={logout}> | |
| Disconnect | |
| )} | |
| {/* Wallet Display */} | |
| {wallet&&( | |
| Connected: {wallet.address} | |
| )} | |
| ); | |
| } | |
| // Wrap your app with Crossmint providers | |
| exportdefaultfunctionApp(){ | |
| return( | |
| <CrossmintProviderapiKey={YOUR_API_KEY}> | |
| <CrossmintAuthProvider | |
| embeddedWallets={{ | |
| type: "evm-smart-wallet", | |
| defaultChain: "polygon-amoy", | |
| createOnLogin: "all-users", | |
| }} | |
| loginMethods={["google","twitter","farcaster","email"]} | |
| > | |
| ); | |
| } |