Skip to main content
Enum Supported Crossmint blockchain chains.
enum CrossmintChain
This enum mirrors the chain identifiers used by the Crossmint API and the official TypeScript SDK. Each value carries an apiValue string sent over the wire, a family discriminator (evm / solana / stellar), and a flag indicating whether it targets a testnet. Environment-aware validation is available via CrossmintChain.validateForEnvironment.

Constructors

CrossmintChain

const CrossmintChain(this.apiValue, this.family, {this.isTestnet = false})

Properties

apiValue

final String apiValue
The string value sent to the Crossmint API (e.g. 'base-sepolia').

family

final CrossmintChainFamily family
Top-level chain family (evm, solana, stellar).

isTestnet

final bool isTestnet
Whether this chain targets a test network.

isEvm

bool get isEvm
true when this chain is an EVM network.

isSolana

bool get isSolana
true when this chain is a Solana network.

isStellar

bool get isStellar
true when this chain is a Stellar network.

Static Methods

fromApiValue

static CrossmintChain fromApiValue(String value)
Reverse-lookup from an API string (e.g. 'polygon-amoy').

tryFromApiValue

static CrossmintChain? tryFromApiValue(String value)
Tries to parse an API string, returning null on failure.

Functions

ethereum

ethereum('ethereum', CrossmintChainFamily.evm),
polygon('polygon', CrossmintChainFamily.evm),
bsc('bsc', CrossmintChainFamily.evm),
optimism('optimism', CrossmintChainFamily.evm),
arbitrum('arbitrum', CrossmintChainFamily.evm),
base('base', CrossmintChainFamily.evm),
zora('zora', CrossmintChainFamily.evm),
arbitrumNova('arbitrumnova', CrossmintChainFamily.evm),
astarZkevm('astar-zkevm', CrossmintChainFamily.evm),
chiliz('chiliz', CrossmintChainFamily.evm),
story('story', CrossmintChainFamily.evm),
mode('mode', CrossmintChainFamily.evm),
shape('shape', CrossmintChainFamily.evm),
worldchain('world-chain', CrossmintChainFamily.evm),
abstract_('abstract', CrossmintChainFamily.evm),
apechain('apechain', CrossmintChainFamily.evm),
mantle('mantle', CrossmintChainFamily.evm),
scroll('scroll', CrossmintChainFamily.evm),
seiPacific1('sei-pacific-1', CrossmintChainFamily.evm),
flow('flow', CrossmintChainFamily.evm),
plume('plume', CrossmintChainFamily.evm),
tempo('tempo', CrossmintChainFamily.evm),

// ---------------------------------------------------------------------------
// EVM — Testnet
// ---------------------------------------------------------------------------
arbitrumSepolia(
  'arbitrum-sepolia',
  CrossmintChainFamily.evm,
  isTestnet: true,
),
baseSepolia('base-sepolia', CrossmintChainFamily.evm, isTestnet: true),
bscTestnet('bsc-testnet', CrossmintChainFamily.evm, isTestnet: true),
ethereumSepolia(
  'ethereum-sepolia',
  CrossmintChainFamily.evm,
  isTestnet: true,
),
polygonAmoy('polygon-amoy', CrossmintChainFamily.evm, isTestnet: true),
optimismSepolia(
  'optimism-sepolia',
  CrossmintChainFamily.evm,
  isTestnet: true,
),
zoraSepolia('zora-sepolia', CrossmintChainFamily.evm, isTestnet: true),
hypersonicTestnet(
  'hypersonic-testnet',
  CrossmintChainFamily.evm,
  isTestnet: true,
),
storyTestnet('story-testnet', CrossmintChainFamily.evm, isTestnet: true),
modeSepolia('mode-sepolia', CrossmintChainFamily.evm, isTestnet: true),
abstractTestnet(
  'abstract-testnet',
  CrossmintChainFamily.evm,
  isTestnet: true,
),
curtis('curtis', CrossmintChainFamily.evm, isTestnet: true),
mantleSepolia('mantle-sepolia', CrossmintChainFamily.evm, isTestnet: true),
scrollSepolia('scroll-sepolia', CrossmintChainFamily.evm, isTestnet: true),
seiAtlantic2Testnet(
  'sei-atlantic-2-testnet',
  CrossmintChainFamily.evm,
  isTestnet: true,
),
worldchainSepolia(
  'world-chain-sepolia',
  CrossmintChainFamily.evm,
  isTestnet: true,
),
flowTestnet('flow-testnet', CrossmintChainFamily.evm, isTestnet: true),
plumeTestnet('plume-testnet', CrossmintChainFamily.evm, isTestnet: true),
arcTestnet('arc-testnet', CrossmintChainFamily.evm, isTestnet: true),
tempoTestnet('tempo-testnet', CrossmintChainFamily.evm, isTestnet: true),

// ---------------------------------------------------------------------------
// Solana
// ---------------------------------------------------------------------------
solana('solana', CrossmintChainFamily.solana),

// ---------------------------------------------------------------------------
// Stellar
// ---------------------------------------------------------------------------
stellar('stellar', CrossmintChainFamily.stellar)

validateForEnvironment

CrossmintChain validateForEnvironment({required bool isProduction})
Returns the chain adjusted for the given environment.

toString

String toString()