Skip to main content
Avail supports multiple network configurations for different use cases. Choose the network that best fits your needs: production Mainnet, testing on Turing, or local development.

Available Networks

Mainnet

Production network for live operations

Turing Testnet

Public testnet for testing and experimentation

Development

Local single-node chain for development

DevNet0

Development network for testing

Mainnet

The Avail Mainnet is the production blockchain network.

Connection

cargo run --locked --release -- --chain mainnet -d ./output
Or with binary:
./avail-node --chain mainnet -d ./output

Network Details

ParameterValue
Chain Specmainnet
Chain IDavail_mainnet
Protocol IDAvail
Token SymbolAVAIL
Token Decimals18
SS58 Format42

Chain Specification

The Mainnet chain specification is embedded in the binary at:
misc/genesis/mainnet.chain.spec.raw.json

Use Cases

  • Production Applications: Deploy live dApps and services
  • Validators: Run validator nodes for network security
  • Data Availability: Store and retrieve production data
  • Token Operations: Real AVAIL token transactions
Mainnet operations use real tokens with real value. Ensure proper security measures and test on Turing first.

Turing Testnet

The Turing testnet is a public test network that mirrors Mainnet functionality.

Connection

cargo run --locked --release -- --chain turing -d ./output
Or with binary:
./avail-node --chain turing -d ./output

Network Details

ParameterValue
Chain Specturing
Chain IDavail_turing_testnet
Protocol IDAvail
Token SymbolAVAIL
Token Decimals18
SS58 Format42

Chain Specification

The Turing chain specification is embedded in the binary at:
misc/genesis/testnet.turing.chain.spec.raw.json

Use Cases

  • Testing: Test applications before Mainnet deployment
  • Development: Develop and debug integrations
  • Validation Testing: Test validator setups
  • Educational: Learn blockchain operations risk-free

Getting Testnet Tokens

Testnet tokens have no real value. Request test AVAIL from the faucet or community channels.

Development Chain

A local single-node blockchain for development and testing.

Connection

cargo run --locked --release -- --dev
Or with binary:
./avail-node --dev

Development Features

Instant Finality

Single authority produces and finalizes blocks immediately

Kate RPC Enabled

--dev automatically enables --enable-kate-rpc

Temporary Storage

Uses --tmp unless you specify -d directory

Pre-funded Accounts

Alice, Bob, Charlie, etc. have initial balances

Network Details

ParameterValue
Chain Specdev
Chain NameAvail Development Network
Chain IDavail_development_network
Chain TypeDevelopment
AuthorityAlice (single validator)

Custom Development Chain Name

Customize the development chain name and ID:
./avail-node --dev --network-name "My Custom Dev Chain"
This creates a chain with ID: my_custom_dev_chain

Development with RPC Access

Enable external RPC access for development:
./avail-node --dev \
  --rpc-methods=unsafe \
  --unsafe-rpc-external \
  --rpc-cors=all
Never use --unsafe-rpc-external or --rpc-methods=unsafe on public networks or production nodes. These flags expose dangerous RPC methods.

Pre-funded Development Accounts

The development chain includes these pre-funded accounts:
  • Alice
  • Bob
  • Charlie
  • Dave
  • Eve
  • Ferdie
  • Alice//stash
  • Bob//stash
  • Charlie//stash
  • Dave//stash
  • Eve//stash
  • Ferdie//stash
Each account starts with 100 × MIN_VALIDATOR_BOND tokens.

Multi-Node Development

Three-Node Development Chain

Run a development chain with three validators:
./avail-node --chain dev.tri
This launches a development network with:
  • Alice (validator)
  • Bob (validator)
  • Charlie (validator)

Custom Network Name

./avail-node --chain dev.tri --network-name "My Tri Network"

DevNet0

A pre-configured development network.

Connection

./avail-node --chain devnet0 -d ./output

Chain Specification

Loads from embedded specification:
misc/genesis/devnet.chain.raw.json

Custom Chain Specifications

Load a custom chain specification file:
./avail-node --chain /path/to/custom-spec.json -d ./output

Export Chain Specification

Export the chain specification for any network:
# Export in JSON format
./avail-node build-spec --chain mainnet > mainnet-spec.json

# Export in raw format
./avail-node build-spec --chain mainnet --raw > mainnet-spec-raw.json

Create Custom Specification

1

Start with Base Spec

./avail-node build-spec --chain dev > custom-spec.json
2

Edit Specification

Modify custom-spec.json to customize:
  • Network name and ID
  • Genesis state
  • Initial balances
  • Validator set
  • Runtime parameters
3

Generate Raw Spec

./avail-node build-spec --chain custom-spec.json --raw > custom-raw.json
4

Launch Custom Network

./avail-node --chain custom-raw.json -d ./output

Network Comparison

FeatureMainnetTuringDevelopment
PurposeProductionTestingLocal Development
Token ValueRealTest OnlyNo Value
Block Time~6 seconds~6 seconds~6 seconds
ValidatorsMultipleMultipleSingle (Alice)
PersistencePermanentPermanentTemporary*
Kate RPCOptionalOptionalAuto-enabled
RPC MethodsSafeSafeUnsafe Available
Public AccessYesYesLocal Only
*Unless specified with -d flag

Telemetry

All networks support telemetry reporting:

Default Telemetry

Testnet telemetry endpoint:
ws://telemetry.avail.tools:8001/submit

Enable Telemetry

./avail-node --chain mainnet \
  --telemetry-url 'ws://telemetry.avail.tools:8001/submit 0'

Disable Telemetry

./avail-node --chain mainnet --no-telemetry

Switching Networks

Different networks use different databases. When switching networks, use separate data directories or purge the existing chain.

Separate Data Directories

# Mainnet
./avail-node --chain mainnet -d ./data/mainnet

# Turing
./avail-node --chain turing -d ./data/turing

# Development
./avail-node --dev -d ./data/dev

Purge Chain Data

# Purge specific chain
./avail-node purge-chain --chain mainnet -d ./output

# Purge with confirmation
./avail-node purge-chain --chain turing -d ./output -y

Node Roles per Network

Full Node (Archive)

./avail-node --chain mainnet --pruning archive -d ./output

Validator Node

./avail-node --chain mainnet --validator -d ./output
Validator nodes require proper key management and staking. See the validator documentation for setup details.

Light Client Mode

./avail-node --chain mainnet --light -d ./output

Next Steps

Build docs developers (and LLMs) love