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

# Configuring New Chains in the Hyperlane Explorer

Hyperlane can be deployed to any chain by anyone, this open access is called Permissionless Interoperability (PI). However the messages on PI chains cannot be identified by the default Hyperlane Agents. To view details about messages from PI chains, first configure the explorer with metadata about that chain.

## Adding Chain Metadata to Hyperlane Explorer

1. On the Explorer’s homepage, click either the Origin or Destination button to open the chain selection. This will open the chain selection modal. From there, click the plus icon in the top-right.

<img src="https://mintcdn.com/hyperlane/HBAL3yXYYCHzpGeJ/images/docs/guides/explorer/explorer-add-metadata.png?fit=max&auto=format&n=HBAL3yXYYCHzpGeJ&q=85&s=122a2cfa9e12dfd4517a58da9611479e" alt="" width="2246" height="1602" data-path="images/docs/guides/explorer/explorer-add-metadata.png" />

2. On the form that appears, enter the chain’s metadata using JSON or YAML conforming to the [ChainMetadata schema](https://github.com/hyperlane-xyz/hyperlane-monorepo/blob/main/typescript/sdk/src/metadata/chainMetadataTypes.ts).

3. If a valid Etherscan-based block explorer config is provided, the Hyperlane Explorer will utilize it to find the desired messages. If not, it will use the RPC URL. Note, Explorers with API keys (even just free-tier keys), perform faster and more reliably.

### Chain Metadata Examples

**A minimal example in JSON:**

```json theme={null}
{
  "chainId": 11155111,
  "name": "sepolia",
  "protocol": "ethereum",
  "rpcUrls": [{ "http": "https://foobar.com" }]
}
```

**A more detailed example in YAML:**

```yaml theme={null}
# Yaml metadata example
blockExplorers:
  - apiUrl: https://api-sepolia.etherscan.io/api
    family: etherscan
    name: Etherscan
    url: https://sepolia.etherscan.io
blocks:
  confirmations: 1
  estimateBlockTime: 13
  reorgPeriod: 2
chainId: 11155111
deployer:
  name: Abacus Works
  url: https://www.hyperlane.xyz
displayName: Sepolia
domainId: 11155111
isTestnet: true
name: sepolia
nativeToken:
  decimals: 18
  name: Ether
  symbol: ETH
protocol: ethereum
rpcUrls:
  - http: https://ethereum-sepolia.publicnode.com
  - http: https://ethereum-sepolia.blockpi.network/v1/rpc/public
```

<Note>
  If the origin or destination `domainId` of chains in your messages doesn't
  match their `chainId` then you must include the `domainId` field in your chain
  config.
</Note>
