• This guide is for EVM-compatible chains only.
  • It will walk you through deploying Hyperlane to your new chain as quickly as possible for testing, not production. This includes the core Mailbox and ISM contracts as well as Hyperlane Warp Route contracts for asset bridging.
  • To see which chains are already supported, visit the Registry.
  • If you need any help, reach out on #developers on Discord or get in touch.

Prerequisites

Anyone can begin this quickstart guide once they have the following artifacts & assets available:
  • A new, custom, or pre-existing network of your choice, including the following metadata:
    • A chain name, e.g. ethereum
    • A chain ID, e.g. 1
    • A RPC URL, e.g. https://eth.llamarpc.com
  • A deployer wallet/EOA private key or seed phrase
    • This EOA should be funded on your custom chain and any chain you will be passing messages to & from
  • Hyperlane CLI

1. Registry

Let’s create a custom chain config, run:
hyperlane registry init
Follow the prompts to set up your chain metadata. Setting up block or gas properties is optional. Now, under $HOME/.hyperlane/chains you will find a new folder named with your custom chain’s name, and a file named metadata.yaml within that folder.

2. Core

Next, let’s configure, deploy and test your custom chain’s core contracts.

Initialize configuration

  1. From your local environment, set the private key or seed phrase of your funded deployer address to HYP_KEY. For example: export HYP_KEY='<YOUR_PRIVATE_KEY>'
  2. From the same terminal instance, run:
hyperlane core init

Deploy contracts

To deploy contracts, run:
hyperlane core deploy
Use the arrows and enter to select your custom chain from the bottom of the mainnet list. It will take a few minutes for all contracts to deploy.

Send test message

To send a test message, run:
hyperlane send message --relay
The --relay flag is optional and will deliver the message to the destination chain. You can also run a relayer in the background with
hyperlane relayer --chains yourchain,sepolia
🎉 Congrats! You have successfully sent a message to your custom chain

3. Hyperlane Warp Route

Now that you have a Hyperlane Mailbox and core contracts on your chain, it’s time to set up token bridging between your chain and any other Hyperlane chain. Continue on to the Deploy a Hyperlane Warp Route docs for more details.

4. Submit to Registry

If you want other chains to connect with you as well as to take this to production, make a registry PR.

Ensure complete info

Make sure your metadata is complete:
  • add a logo.svg file inside the folder
  • include Deployer information identifying the team deploying
  • indicate isTestnet true if the chain is testnet
  • add the api url gnosisSafeTransactionServiceUrl if you have a gnosis safe service
  • lint the yaml files and order alphabetically

Commit to GitHub

First, navigate to your local instance of the registry and commit changes
cd ~/.hyperlane && git init && git add . && git commit
Then, sync local registry with canonical registry
git remote add canonical git@github.com:hyperlane-xyz/hyperlane-registry.git
git pull canonical main --rebase
Finally, push local registry to github fork and submit a PR. Please include a changeset in your PR.
Congrats! You have successfully deployed Hyperlane to your chain and added your work to the Hyperlane registryThank you for contributing to the future of permissionless interop 🫡