We're starting a new open network based on the Ethereum protocol. The question is how to allocate a network id for the new network. In Ethereum we have main net, four test networks, classic with test network etc.

Is there a list of network ids? If not, let's create one.


May be there is a list of network ids? If not, let's create one.

Good idea.

  • 0: Olympic, Ethereum public pre-release PoW testnet
  • 1: Frontier, Homestead, Metropolis, the Ethereum public PoW main network
  • 1: Classic, the (un)forked public Ethereum Classic PoW main network, chain ID 61
  • 1: Expanse, an alternative Ethereum implementation, chain ID 2
  • 2: Morden Classic, the public Ethereum Classic PoW testnet, now retired
  • 3: Ropsten, the public proof-of-work Ethereum testnet
  • 4: Rinkeby, the public Geth-only PoA testnet
  • 5: Goerli, the public cross-client PoA testnet
  • 6: Kotti Classic, the public cross-client PoA testnet for Classic
  • 7: Mordor Classic, the public cross-client PoW testnet for Classic
  • 8: Ubiq, the public Gubiq main network with flux difficulty chain ID 8
  • 10: Quorum, the JP Morgan network
  • 42: Kovan, the public Parity-only PoA testnet
  • 56: Binance, the public Binance mainnet
  • 60: GoChain, the GoChain networks mainnet
  • 77: Sokol, the public POA Network testnet
  • 97: Binance, the public Binance testnet
  • 99: Core, the public POA Network main network
  • 100: xDai, the public MakerDAO/POA Network main network
  • 128: HECO, Huobi ECO Chain main network
  • 256: HECO, Huobi ECO Chain test network
  • 31337: GoChain testnet, the GoChain networks public testnet
  • 401697: Tobalaba, the public Energy Web Foundation testnet
  • 7762959: Musicoin, the music blockchain
  • 61717561: Aquachain, ASIC resistant chain
  • [Other]: Could indicate that your connected to a local development test network.

For any geth node to join a network there are 2 requirement one is to have the same genesis block and other is to have the same networkid. Once these requirements are satisfied, to join a network you have to know the enodeid of the nodes you want to connect to.

In case of open Ethereum networks like mainnet or testnet, you have a set of bootnodes hardcoded into your geth client where you can connect and discover other peers in the network. These bootnodes actually have a list of nodes that are connected to it in the last 24 hrs and they give out that list to you and then you can connect to those nodes. This is how you connect to other nodes in a Ethereum public network.

So if you want to create a new open network then create a genesis file, select some networkid, start some bootnodes and share these details about genesis file, networkid and list of bootnodes with the participants of network and then they will be able to join your network.

I don't think there is any constraint over which networkid to choose if we have done all the above steps correctly.


There is a website dedicated to tracking all EVM chains and their corresponding ids:


This is thanks to the Ethereum Lists initiative started by Ligi. Now the site is maintained by Yearn.Finance.

Chainlist.Org Screenshot

  • nice nice. would be nice to have it possibly sorted by chain id tho May 25 '20 at 13:13
  • Just opened an issue for this. May 25 '20 at 14:26
ARBITRUM (mainnet) 42161 https://arb1.arbitrum.io/rpc https://arbiscan.io/|
ARBITRUM (testnet) 421611 https://rinkeby.arbitrum.io/rpc https://rinkeby-explorer.arbitrum.io/#/|
  • Hopefully others will build and update this answer. Would be too much to have new answers for each one :)
    – eth
    Oct 1 '21 at 5:27
  • As it’s currently written, your answer is unclear. Please edit to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers in the help center.
    – Community Bot
    Oct 1 '21 at 13:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.