Overview
The Hyperlane CLI is the official command-line tool for deploying Hyperlane contracts to new chains. It also includes utilities for interacting with deployed contracts and registries. The published version is available on NPM. The source is available on GitHub in the monorepo.Setup
Node 18 or newer is required
npm install -g command. This will the hyperlane command available anywhere in your terminal.
npx or dlx:
Usage
To view a list of the available commands and their arguments, runhyperlane --help.
A few common command options include:
--version: Display your current installed version of the CLI--registry: Set the registry URI to use for chain metadata and contract addresses--overrides: Set an additional path for overrides to the canonical registry datalog: Set the log format for the CLI (defaults to pretty)verbosity: Set the log level for the CLI (defaults to info)key: Set the key to use for signing transactions (defaults to the HYP_KEY env var)
Registries
By default, the CLI will pull chain metadata and contract addresses from the canonical Hyperlane Registry but will write new configs and deployments to your local filesystem. For more information see the Registries page.Warp Send
hyperlane warp send supports transfers between any combination of supported VMs:
| Protocol | Examples |
|---|---|
| Ethereum (EVM) | Ethereum, Arbitrum, Base, Optimism |
| Tron | Tron mainnet |
| Sealevel (SVM) | Solana, Eclipse |
| Cosmos / CosmosNative | Neutron, Injective, Stride |
| Starknet | Starknet mainnet |
| Radix | Radix mainnet |
Basic usage
Non-EVM destination requirements
When the destination chain is non-EVM, the following rules apply:--recipientis required — there is no signer-based fallback for non-EVM destinations. Omitting it will error before any transaction is sent.--relayis skipped — self-relay only works when both origin and destination are EVM. For non-EVM destinations, run an external relayer or wait for the Hyperlane relayer network to deliver.--round-triprequires all-EVM chains — since non-EVM chains cannot be intermediate hop origins, round-trip mode is restricted to EVM-only routes.- Delivery confirmation — for non-EVM destinations, the CLI polls the Hyperlane Explorer for delivery status instead of checking on-chain. The CLI prints the message ID after a successful send — track delivery at
https://explorer.hyperlane.xyz/message/<messageId>.
Non-EVM origin requirements
When sending from a non-EVM origin chain, set the protocol-specific private key:Multi-hop transfers
In multi-hop transfers, non-EVM chains can only appear as the final destination, not as intermediate hops. When no--origin/--destination is specified, the CLI automatically orders EVM chains first so non-EVM chains become the final destination.
Warp Route ID
Many CLI commands accept a--warp-route-id flag to specify which warp route to use.
Aliases: -w, --id
Accepts:
SYMBOL/id- full route ID, whereidis the route’s unique identifier (e.g.,ETH/ethereum-arbitrum,ETH/viction)SYMBOL- auto-resolves if unique, prompts if multiple (errors in CI)
- If input contains
/→ exact match - If SYMBOL only → find all routes with that symbol
- Single match → use it
- Multiple matches + interactive → prompt selection
- Multiple matches + CI → error with list of options
- Commands with
--origin/--destination(e.g.,warp send) use those to filter route resolution (matching routes that contain both chains) and control transfer direction