> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crossmint.com/llms.txt
> Use this file to discover all available pages before exploring further.

# CrossmintChain

> Flutter Enum

**Enum**

Supported Crossmint blockchain chains.

```dart theme={null}
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

```dart theme={null}
const CrossmintChain(this.apiValue, this.family, {this.isTestnet = false})
```

## Properties

### apiValue

```dart theme={null}
final String apiValue
```

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

### family

```dart theme={null}
final CrossmintChainFamily family
```

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

### isTestnet

```dart theme={null}
final bool isTestnet
```

Whether this chain targets a test network.

### isEvm

```dart theme={null}
bool get isEvm
```

`true` when this chain is an EVM network.

### isSolana

```dart theme={null}
bool get isSolana
```

`true` when this chain is a Solana network.

### isStellar

```dart theme={null}
bool get isStellar
```

`true` when this chain is a Stellar network.

## Static Methods

### fromApiValue

```dart theme={null}
static CrossmintChain fromApiValue(String value)
```

Reverse-lookup from an API string (e.g. `'polygon-amoy'`).

### tryFromApiValue

```dart theme={null}
static CrossmintChain? tryFromApiValue(String value)
```

Tries to parse an API string, returning `null` on failure.

## Functions

### ethereum

```dart theme={null}
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

```dart theme={null}
CrossmintChain validateForEnvironment({required bool isProduction})
```

Returns the chain adjusted for the given environment.

### toString

```dart theme={null}
String toString()
```
