Skip to main content

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

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