This page has been updated for Wallets SDK V1. If you are using the previous version,
see the previous version of this page or the V1 migration guide.
Latest Node.js SDK version - 
Typescript SDK (@crossmint/wallets-sdk) for creating and managing Crossmint Wallets on EVM, Solana, and Stellar chains.
Prerequisites
Get a Crossmint API key from the developer console. Ensure your key has the Wallet API scopes enabled.- Client-side (browser): Use a client API key
- Server-side (Node.js): Use a server API key
Installation
Quick Start
Server-side (Node.js)
Client-side (Headless)
For client-side usage without React, you can use the SDK directly with JWT authentication:For React apps, use@crossmint/client-sdk-react-uiwhich providesCrossmintWalletProvider, hooks, and built-in UI for OTP and passkey flows.
Creating a Wallet
Server signer
Create a wallet with a server key as the recovery signer:External wallet signer
Bring your own key (MetaMask, KMS, etc.):Device signer (browser / React Native)
Device signers use hardware-backed P256 keys for frictionless client-side signing. They must be created on the client and can be passed to the server at wallet creation time:Device signers are browser and React Native only — not available in Node.js. See the Server-Side Wallet with Device Signer guide for the full pattern.
Retrieving an existing wallet
Core Concepts
Signers
Wallets SDK uses a two-tier signer model:- Recovery signer — High-security, used for wallet recovery and adding new signers. Supports email OTP, phone OTP, external wallet, or server key.
- Operational signer — Low-friction, used for day-to-day signing. Supports server key, external wallet, passkey, and device (browser/mobile only). For server-side (Node.js) usage, use a server or external-wallet signer.
Usage
Balances
Send Tokens
Transfers
NFTs
Chain-Specific Transactions
Signer Management
Transaction Approval (Prepare-Only Mode)
For flows that require multi-step approval:Signer Types
| Type | Use Case | Platforms |
|---|---|---|
device | Hardware-backed, no OTP. Browser and React Native only — not available in Node.js. | Browser, React Native |
server | Server-side automated operations (AI agents, backends). | Node.js |
email | OTP-based recovery signer. | All |
phone | OTP-based recovery signer. | All |
passkey | WebAuthn/FIDO2 biometric signer. | Browser (EVM only) |
external-wallet | Bring-your-own key (MetaMask, KMS, etc). | All |
React / React Native
For React applications, use@crossmint/client-sdk-react-ui which provides wallet providers, hooks (useWallet, useWalletOtpSigner), and built-in UI for OTP and passkey flows.
For React Native, see @crossmint/client-sdk-react-native-ui.

