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

# Chain ID

# Chain ID

A chain ID is a unique identifier that represents a blockchain network. We use it to distinguish different blockchain
networks from each other and to ensure that transactions and messages are sent to the correct network. HyperPaxeer network
follows the format of `identifier_EIP155-version` format.

## Official Chain IDs

:::tip
**NOTE**: The latest Chain ID (i.e highest Version Number) is the latest version of the software and mainnet. Also note, that the following upgrades technically did not require a Chain ID change:

* `HyperPaxeer_9001-1`	-> `HyperPaxeer_9001-2`
* `hyperpax_125-3` -> `hyperpax_125-4`
  :::

### Mainnet

| Name                | Chain ID         | Identifier | EIP-155 Number | Version | Active |
| ------------------- | ---------------- | ---------- | -------------- | ------- | ------ |
| HyperPaxeer Mainnet | `hyperpax_125-1` | `hyperpax` | `125`          | `1`     | ✅      |

<Note>
  **No public testnet available.** Developers should use local development networks. See the [Single Node](../cli/single-node) guide for setting up a local development environment.
</Note>

:::tip
You can also look up the [EIP-155](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md) `Chain ID` by referring
to [chainlist.org](https://chainlist.org/).
:::

## The Chain Identifier

Every chain must have a unique identifier or `chain-id`. Tendermint requires each application to
define its own `chain-id` in the [genesis.json fields](https://docs.tendermint.com/master/spec/core/genesis.html#genesis-fields).
However, to comply with both EIP-155 and Cosmos standard for chain upgrades, HyperPaxeer-compatible chains must implement
a special structure for their chain identifiers.

## Structure

The HyperPaxeer Chain ID contains 3 main components

* **Identifier**: Unstructured string that defines the name of the application.
* **EIP-155 Number**: Immutable [EIP-155](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-155.md) `CHAIN_ID` that
  defines the replay attack protection number.
* **Version Number**: Is the version number (always positive) that the chain is currently running.
  This number **MUST** be incremented every time the chain is upgraded or forked to avoid network or consensus errors.

### Format

The format for specifying and HyperPaxeer compatible chain-id in genesis is the following:

```bash theme={null}
{identifier}_{EIP155}-{version}
```

The following table provides an example where the second row corresponds to an upgrade from the first one:

| ChainID          | Identifier  | EIP-155 Number | Version Number |
| ---------------- | ----------- | -------------- | -------------- |
| `hyperpax_125-1` | HyperPaxeer | 9000           | 1              |
| `hyperpax_125-2` | HyperPaxeer | 9000           | 2              |
| `...`            | ...         | ...            | ...            |
| `hyperpax_125-N` | HyperPaxeer | 9000           | N              |
