Close [X]
01
Share some projects details...
02
Which best describes you?
03
What interoperability needs do you have?
Especially VM environment (EVM, Sealevel, CosmWasm), unique requirements, and current blockers.
04
Share some projects details...
05
What timeline do you expect to be live on mainnet?
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

How to Launch a Token Bridge with Hyperlane Warp Routes

How to Launch a Token Bridge with Hyperlane Warp Routes

Avious

Summary

The goal of this guide, paired with the video below, is to show you how to bridge an EVM token anywhere in the Hyperlane network in just…

The goal of this guide, paired with the video below, is to show you how to bridge an EVM token anywhere in the Hyperlane network in just two CLI commands.

Setup CLI

Prerequisites

You'll need Node installed first.

Install Hyperlane CLI

Install the CLI by running npm install -g @hyperlane-xyz/cli.

After the install completes, run hyperlane --version to verify it’s installed correctly.

Store Your Private Key

To deploy contracts later in this guide, you’ll need to pay for gas so ensure you wallet is funded. You can set your wallet’s private key with export HYP_KEY=yourkeyhere and then make sure to source the file to apply the changes. For additional opsec, you can store the key inside an .env file instead.

Choose Your Token & Chains

In this example we will bridge the top memecoin on Base called Brett to Zora.

You can pick a token on any EVM chain in the Hyperlane network.

The official list of Hyperlane chains can be found in the Registry; a subset of these are actively relayed, which you see on Hyperchains under Core. If you want to add a new chain, you can permissionlessly.

Native, Collateral, and Synthetic

Hyperlane’s Warp Routes provide lock and mint token bridging, with the default Warp Token standard. So we are depositing our Brett in a Warp Collateral contract on Base, and then minting a Warp Synthetic on Zora. You can actually set up synthetics on as many Hyperlane chains as you want.

If we were bridging the native gas token of these chains — ETH — we would select the Warp Native type. There are also several other types like Yield-bearing Routes, xERC20, and Bridged USDC — see the Warp Route docs for more info.

Lock the Collateral, Mint the Synthetic

Create Warp Route Config

Let’s jump in: run hyperlane warp init to create your config.

Based on the private key you’ve saved, your wallet address will be detected. Select Y

Next, select mainnet or testnet networks. In this example, we are choosing Mainnet. Hit Enter, then a list of chains will pop up.

Use your up/down arrow keys to scroll up and down the list, when you get to Base and Zora, hit the space bar for each. Then press enter once both are selected.

We’ll be choosing the warp token types for each chain based on alphabetical order. Since we said above Brett is collateral on Base, and synthetic is on Zora, select those options.

When prompted about a detected mailbox address from the registry, do select Y — this will reuse the existing mailboxes and infra for Base and Zora.

You can find the token address for Brett on Coingecko and copy the contract address 0x532f27101965dd16442e59d40670faf5ebb142e4.

After that step, your configuration should be created!

Deploy Warp Route Contracts

With your config created, fire up hyperlane warp deploy

You’ll be prompted about an API Key for verifying the contracts — this uploads to etherscan or (whomever is the Base block explorer) the source code for the contract, this is a best practice for devs but we can skip here and verify later. Hit N for both Base and Zora.

You’ll now see the Warp Route Deployment Plan, hit Y to proceed with the contract deploy 🚀

If the deploy is successful, you should see ✅ Warp contract deployments complete followed by the final warp deploy config as well as how much you paid in gas costs onchain to setup the contracts. This is typically only 5 to 25 cents!

Your token config and the addresses are stored locally in .yaml files, the folder path looks something like /Users/yourname/.hyperlane/deployments/warp_routes/BRETT

Superbridge UI

Now that your contract is deployed, you can actually use it to test out bridging, say in a demo to your team.

Go to the Hyperlane sandbox in https://hyperlane.superbridge.app/ and select the gear icon, then Customize.

Copy the warp deployment config from the CLI into the custom warp route field.

Once you click save, a persistent link is created which can be shared, for example mine is: https://hyperlane.superbridge.app/?hyperlaneWarpRoutes=91abd32b-d007-458d-8212-56f9af20c18c

Each warp config has its own link, i.e. new links are created each time and you can’t have multiple configs in one link. Be sure to bookmark and label your links if you intend to share them.

Now go ahead and use the UI to bridge your BRETT from Base to Zora! ⏩

Explorer + Add Token to Wallet

In Superbridge’s UI, if you hover over the checkmarks next to Start Bridge and Receive Brett, they will turn into diagonal arrows like below. These are links to Base & Zora’s block explorers where you can see the progress of the transaction.

You can also search for your wallet address in the Hyperlane Explorer and follow the message passing there.

You will likely need to add your Brett synthetic on Zora to your wallet, Metamask may not recognize it. When you click the Zora explorer link, you’ll see the tx details mention Brett - then click into the Brett’s token contract page and add token to metamask.

That’s it for the warp route demo! Congrats for making it this far 🚀

Going to Production

To take your warp route into production from this initial demo, you’ll need a couple more steps.

First, we deployed the warp route in a trusted way. You’ll need to change the security module (ISM) from a trusted setup to use the default ISM & relayer — you could even add additional security like your own validator set or rate limits. You also should change the contract ownership to a safe versus just one wallet.

Once you improve the security posture and have your final warp route contracts, submit them to the Registry.

Lastly, for your UI you can advance to production with Superbridge — they can create and manage a dedicated chain or asset issuer landing page like https://renzo.superbridge.app/.

They also offer Widgets to integrate into your own UI. Reach out to alex at superbridge.app to request being added.

If you want to deploy your own UI, Hyperlane has a Warp UI template that’s easy to launch and customize. It’s been used by teams like Injective, Forma, and Fusionist.

If you have any issues or feedback, feel free to chime in on Discord #developers for help. Happy building!

More about Hyperlane

Hyperlane is the open interoperability framework. It empowers developers to connect anywhere onchain and build applications that can easily and securely communicate between multiple blockchains. Importantly, Hyperlane is fully open-source and always permissionless to build with.

Website | Docs | Twitter | Discord | Careers

Further Reading
November 24, 2025

Paradex Expansion: Interchain Deposits are Live

Learn more about the launch of interchain deposits on Paradex via Hyperlane.

By
NoSleepJon
Trading
Bridging
Starknet
EVM
News
October 3, 2025

Interoperability For Stablecoins In 2025 And Beyond

Stablecoins are becoming critical global financial infrastructure. Learn about the various interoperability solutions that exist for stablecoins today.

By
Paul Timofeev
App
Stablecoins
Learn
Message Passing
September 2, 2025

What are Interchain Accounts?

Learn about Interchain Accounts and the new applications they unlock for developers.

By
Eda Akturk
Message Passing
Learn
Connect With Hyperlane

Hyperlane-as-a-Service

Get in touch to learn how we can facilitate a Hyperlane deployment specific to your needs.

Contact Us →
Using existing key at path ../environments/mainnet3/warp-routes/solanaeclipse/keys/h
yperlane_sealevel_token-eclipsemainnet.json
Program 5dyKvwJUTMvDHRAysmNYCHtAuYRXLB8tY28i1vZrBU already deployed
Warp route token already exists, skipping init
ATA payer fully funded with balance of 10000000
Attempting to deploy hyperlane_sealevel_token_native on chain: solanamainnet
App config: TokenConfig { token_type: Native, decimal_metadata: DecimalMetadata { decimal
s: 9 }, router_config: RouterConfig { connection_client: OptionalConnectionClie
ntConfig { interchain_gas_paymaster: Some(AkehHBE5JkYVppAjCQQ6WuxsVJtru
BAjU6oFDfCp6fP) } } }
Using existing key at path ../environments/mainnet3/warp-routes/solanaeclipse/keys/h
yperlane_sealevel_token-native-solanamainnet.json
Running command: "solana" "--url" "https://broken-sly-forest.solana-mainnet.quiknode.pro
/b29aac2dd1bde6125d3415ad9d35e212ebe4040f" "-k" "../.../warp-route-deployer-key.json"
"program" "deploy" "../target/deploy/hyperlane_sealevel_token_native.so" "--upgrade-auth
ority" "../.../warp-route-deployer-key.json" "--program-id" "../environments/mainnet3/
warp-routes/solanaeclipse/keys/hyperlane_sealevel_token_native-solanamainnet.json"
"--with-compute-unit-price" "50000"

Newsletter

Subscribe for monthly
updates on Hyperlane

Welcome to Expansion!
Oops! Something went wrong while submitting the form.