Chain definitions for EVM networks.
Each Chain bundles the chain ID, name, default RPC URL, block explorer URL,
and native currency symbol. Pass Chain.chainId someChain wherever a
Web3.Types.ChainId is needed (e.g. Wallet.update and Wallet.switchChain).
import Web3.Chain as Chain
import Web3.Wallet as Wallet
expectedChain : Web3.Types.ChainId
expectedChain =
Chain.chainId Chain.pulsechain
-- Add a network to the wallet (EIP-3085):
addPulseChain : Web3.Wallet.WalletCmd
addPulseChain =
Wallet.addChain
{ chainId = 369
, chainName = Chain.name Chain.pulsechain
, rpcUrls = [ Chain.rpcUrl Chain.pulsechain ]
, nativeCurrency = { name = "Pulse", symbol = "PLS", decimals = 18 }
, blockExplorerUrls = [ Chain.blockExplorer Chain.pulsechain ]
}PulseChain mainnet (chain ID 369).
The block explorer URL points to scan.pulsechain.com served via Pinata's IPFS gateway. This is the proper decentralised access method — the same explorer, but fetched from IPFS rather than a centralised host.
PulseChain testnet v4 (chain ID 943).
Ethereum mainnet (chain ID 1).
Sepolia testnet (chain ID 11155111).
BNB Smart Chain mainnet (chain ID 56).
Polygon PoS mainnet (chain ID 137).
Arbitrum One (chain ID 42161).
Optimism (chain ID 10).
Base mainnet (chain ID 8453).
Avalanche C-Chain (chain ID 43114).
zkSync Era mainnet (chain ID 324).
Fantom Opera (chain ID 250).
Gnosis Chain (chain ID 100).
Linea mainnet (chain ID 59144).
Scroll mainnet (chain ID 534352).
Define a custom EVM chain.
Get the chain name.
Get the RPC URL.
Get the block explorer URL.
An EVM chain definition.