Skip to main content

Supported Chains

Crossmint SDK supports multiple blockchain networks across EVM, Solana, and Stellar ecosystems. All EVM chains use smart contract wallets (ERC-4337 account abstraction) with built-in features like gas sponsorship and social recovery.

EVM Chains

Ethereum Virtual Machine (EVM) compatible chains support smart wallet functionality.

Mainnet Chains

The following chains are available in production environments:
ChainIdentifierNetwork
AbstractabstractAbstract Mainnet
ApeChainapechainApeChain Mainnet
ArbitrumarbitrumArbitrum One
Arbitrum NovaarbitrumnovaArbitrum Nova
BasebaseBase Mainnet
BNB Smart ChainbscBNB Chain
FlowflowFlow EVM Mainnet
MantlemantleMantle Mainnet
ModemodeMode Mainnet
OptimismoptimismOptimism Mainnet
PlumeplumePlume Mainnet
PolygonpolygonPolygon PoS
ScrollscrollScroll Mainnet
Seisei-pacific-1Sei Pacific-1
ShapeshapeShape Mainnet
StorystoryStory Mainnet
World ChainworldchainWorld Chain
ZorazoraZora Mainnet
const wallet = await crossmint.wallets.get({
  chain: "base", // Use any identifier from the table
  signer: { type: "email", email: "[email protected]" }
});

Testnet Chains

The following testnets are available for development:
ChainIdentifierNetwork
Abstract Testnetabstract-testnetAbstract Testnet
Arc Testnetarc-testnetArc Testnet
Arbitrum Sepoliaarbitrum-sepoliaArbitrum Sepolia
Base Sepoliabase-sepoliaBase Sepolia
Curtis (ApeChain)curtisCurtis Testnet
Ethereum Sepoliaethereum-sepoliaSepolia
Flow Testnetflow-testnetFlow EVM Testnet
Mantle Sepoliamantle-sepoliaMantle Sepolia
Mode Sepoliamode-sepoliaMode Sepolia
Optimism Sepoliaoptimism-sepoliaOptimism Sepolia
Plume Testnetplume-testnetPlume Testnet
Polygon Amoypolygon-amoyPolygon Amoy
Scroll Sepoliascroll-sepoliaScroll Sepolia
Sei Atlantic-2sei-atlantic-2-testnetSei Atlantic-2
Story Testnetstory-testnetStory Testnet
Tempo Testnettempo-testnetTempo Testnet
World Chain Sepoliaworld-chain-sepoliaWorld Chain Sepolia
Zora Sepoliazora-sepoliaZora Sepolia
const testWallet = await crossmint.wallets.get({
  chain: "base-sepolia",
  signer: { type: "email", email: "[email protected]" }
});

Chain Type Definitions

From the source code (packages/wallets/src/chains/chains.ts:73-75):
export type EVMSmartWalletTestnet = typeof TESTNET_AA_CHAINS[number];
export type EVMSmartWalletMainnet = typeof PRODUCTION_AA_CHAINS[number];
export type EVMSmartWalletChain = EVMSmartWalletTestnet | EVMSmartWalletMainnet;

Solana

Crossmint supports the Solana blockchain with native Solana wallet functionality.
const solanaWallet = await crossmint.wallets.get({
  chain: "solana",
  signer: {
    type: "email",
    email: "[email protected]"
  }
});

import { SolanaWallet } from "@crossmint/client-sdk-wallets";
const wallet = SolanaWallet.from(solanaWallet);
Type definition (packages/wallets/src/chains/chains.ts:147):
export type SolanaChain = "solana";

Stellar

Crossmint supports the Stellar network with native Stellar wallet functionality.
const stellarWallet = await crossmint.wallets.get({
  chain: "stellar",
  signer: {
    type: "email",
    email: "[email protected]"
  }
});

import { StellarWallet } from "@crossmint/client-sdk-wallets";
const wallet = StellarWallet.from(stellarWallet);
Type definition (packages/wallets/src/chains/chains.ts:148):
export type StellarChain = "stellar";

Chain Utilities

Check Chain Type

import { isTestnetChain, isMainnetChain } from "@crossmint/client-sdk-wallets";

if (isTestnetChain("base-sepolia")) {
  console.log("This is a testnet");
}

if (isMainnetChain("base")) {
  console.log("This is mainnet");
}

Convert to Viem Chain

For EVM chains, convert to Viem chain configuration:
import { toViemChain } from "@crossmint/client-sdk-wallets";
import { createPublicClient, http } from "viem";

const viemChain = toViemChain("base");

const publicClient = createPublicClient({
  chain: viemChain,
  transport: http()
});

Map Mainnet to Testnet

import { mainnetToTestnet } from "@crossmint/client-sdk-wallets";

const testnet = mainnetToTestnet("base");
console.log(testnet); // "base-sepolia"

const testnet2 = mainnetToTestnet("polygon");
console.log(testnet2); // "polygon-amoy"
Not all mainnet chains have a corresponding testnet. The function returns undefined if no testnet mapping exists.

Multi-Chain Wallets

For EVM chains, a single wallet address works across all EVM networks. You don’t need separate wallets for each chain.
// Same address on all EVM chains
const baseWallet = await crossmint.wallets.get({
  chain: "base",
  signer: { type: "email", email: "[email protected]" }
});

const polygonWallet = await crossmint.wallets.get({
  chain: "polygon",
  signer: { type: "email", email: "[email protected]" }
});

console.log(baseWallet.address === polygonWallet.address); // true
However, Solana and Stellar use separate addresses:
const evmWallet = await crossmint.wallets.get({
  chain: "base",
  signer: { type: "email", email: "[email protected]" }
});

const solanaWallet = await crossmint.wallets.get({
  chain: "solana",
  signer: { type: "email", email: "[email protected]" }
});

console.log(evmWallet.address === solanaWallet.address); // false

Chain-Specific Features

EVM Smart Wallets

  • Account Abstraction (ERC-4337): Smart contract wallets with advanced features
  • Gas Sponsorship: Pay gas fees for your users
  • Batched Transactions: Execute multiple operations in one transaction
  • Social Recovery: Recover wallets without seed phrases
  • Delegated Signers: Multi-sig functionality

Solana Wallets

  • Native Solana Support: Full Solana transaction support
  • Versioned Transactions: Support for v0 transactions
  • Additional Signers: Add keypair signers for complex transactions

Stellar Wallets

  • Smart Contract Support: Interact with Soroban smart contracts
  • Asset Management: Native support for Stellar assets

Type Definitions

Complete chain type from source code (packages/wallets/src/chains/chains.ts:151):
export type Chain = SolanaChain | EVMChain | StellarChain;

Next Steps

Create Wallets

Learn how to create and manage wallets on supported chains

Configure Signers

Set up authentication methods for wallet access

Build docs developers (and LLMs) love