Crossmint offers custodial and non-custodial wallet solutions across multiple blockchain networks. Choose your chain and wallet type to get started.

1. EVM

Custodial Wallets

Crossmint manages private keys and transaction signing. These wallets are perfect for web2-like experiences where transaction approval, signing, and gas fee management are all handled on behalf of the user by Crossmint.

Crossmint supports two EVM custodial wallets types:

  • Smart wallets: Contract-based wallets with programmable functionality (i.e. daily spending limits, multi-signature requirements etc.). Get started here.
  • EOA wallets: Basic EVM wallets suitable for users with straightforward transaction needs. Get started here.

Non-Custodial Wallets

Users maintain complete control over their private keys and transaction signing. Perfect for traditional web3 experiences where users want direct control over their assets.

Available in two deployment models:

  • Server-side: Environment-agnostic REST API endpoints to integrate wallet functionality in any application’s backend system. Get started here.
  • Client-side: SDK to integrate wallet functionality directly in the browser, enabling seamless user interaction with dApps while maintaining self-custody of private keys. Get started here.

2. Solana

Custodial MPC Wallets

Crossmint manages private keys and automatically handles transaction signing for users.

Get started here.

3. Other Chains

Custodial MPC Wallets

Crossmint manages private keys and automatically handles transaction signing for users. Available on Aptos, Cardano, and Sui.

Get started here.

Creating a Wallet for a Recipient

To create a wallet for a recipient, you can use the linkedUser parameter in the create Wallet API.

Email

Create a wallet linked to an email address. Users can access their wallet by logging into Crossmint with this email.

linkedUser: "email:user@example.com"

Twitter

Create a wallet linked to a Twitter/X account. Users can access their wallet by authenticating with their Twitter account.

linkedUser: "twitter:@username"

Phone Number

Create a wallet linked to a phone number. Users can access their wallet through phone number verification.

linkedUser: "phoneNumber:+1234567890"

User ID

Create a wallet linked to your application’s user ID. Perfect for integrating wallet functionality directly into your application’s user system.

linkedUser: "userId:your-internal-user-id"

Enterprise feature. Contact us for access.

Wallets created with the userId option cannot be accessed by logging into Crossmint.com.