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
  • 60: GoChain, the GoChain networks mainnet
  • 77: Sokol, the public POA Network testnet
  • 99: Core, the public POA Network main network
  • 100: xDai, the public MakerDAO/POA Network main 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.

| improve this answer | |

There is now a website dedicated to tracking all EVM Networks and their corresponding chain and network ids:


This is thanks to the Ethereum Lists initiative started by Ligi.

ChainID Network screenshot

| improve this answer | |
  • nice nice. would be nice to have it possibly sorted by chain id tho – Igor Barinov May 25 at 13:13
  • Just opened an issue for this. – Paul Razvan Berg May 25 at 14:26

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.