Skip to main content
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 - npm

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-ui which provides CrossmintWalletProvider, 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.
When no operational signer is available, the recovery signer automatically serves as a fallback for signing.

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

TypeUse CasePlatforms
deviceHardware-backed, no OTP. Browser and React Native only — not available in Node.js.Browser, React Native
serverServer-side automated operations (AI agents, backends).Node.js
emailOTP-based recovery signer.All
phoneOTP-based recovery signer.All
passkeyWebAuthn/FIDO2 biometric signer.Browser (EVM only)
external-walletBring-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.

Documentation

License

Apache-2.0