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.

Get a demo Read the docs

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

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

JavaScript

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"]}
>
);
}

view raw auth-code.js

Get started in 5 minutes Be ready to scale

Read the docs