Cross-chain / Bridge·EVM · Solana · Cosmos · Multi-chain
Hyperlane
Permissionless interoperability protocol. Anyone can deploy Hyperlane to a new chain and connect to the existing 140+ chain network without governance. Warp Routes provide deployable token bridges (collateral, native, synthetic) on top of the messaging layer.
- 01permissionless cross-chain messaging
- 02deploying your own token bridge (Warp Routes)
- 03appchain / rollup interop without foundation approval
- 04Cosmos SDK <-> EVM <-> SVM messaging
- 05custom Interchain Security Module (ISM) configs
- pnpm add @hyperlane-xyz/sdk @hyperlane-xyz/registry @hyperlane-xyz/utils
- pnpm add -g @hyperlane-xyz/cli
| Variable | Scope | Description |
|---|---|---|
| HYP_KEY | Server | Deployer private key used by the Hyperlane CLI for `hyperlane deploy core` / `hyperlane warp deploy`. |
| HYPERLANE_REGISTRY_URI | Server | Optional override for the Hyperlane registry (default fetches from `github.com/hyperlane-xyz/hyperlane-registry`). |
Use the Hyperlane CLI to scaffold: `hyperlane core init` then `hyperlane core deploy` for new chains, and `hyperlane warp init` + `hyperlane warp deploy` for token bridges (pick `collateral`, `native`, or `synthetic` per chain). For app-level messaging, inherit `Mailbox` consumer pattern: read `IMailbox` from `@hyperlane-xyz/core`, dispatch via `mailbox.dispatch{value: fee}(destinationDomain, recipient, messageBody)` after quoting with `IInterchainGasPaymaster.quoteGasPayment`. Implement `handle(uint32 origin, bytes32 sender, bytes calldata body)` on the destination. For client-side flows use `@hyperlane-xyz/sdk` `MultiProvider`, `WarpCore`, and `Token` to build transfer calldata. Track delivery on `https://explorer.hyperlane.xyz`.
- ⚑Hyperlane uses 32-bit `domain` IDs that usually match EVM chain IDs but NOT always (e.g. some Cosmos chains, Solana). Always read domains from `@hyperlane-xyz/registry`, never hardcode.
- ⚑Permissionless deployments mean the security model is whatever ISM the route picks — verify the ISM config (`MultisigISM`, `AggregationISM`, `RoutingISM`) before trusting a Warp Route in production.
- ⚑Gas payments are separate from `dispatch`: forgetting `payForGas` leaves messages indefinitely undelivered. Use `mailbox.dispatch{value: ...}` overload that pays the IGP atomically.
- ⚑Warp Route token types behave differently: `synthetic` mints a new ERC20 on destination (not the canonical asset), `collateral` locks an existing asset, `native` wraps native gas. Mixing them silently breaks fungibility.
- ⚑Default relayers run by Abacus Works are best-effort on permissionless chains — for production-grade SLAs you may need to run your own validator + relayer set.
- ⚑Cosmos SDK and SVM modules are separate codebases (`hyperlane-cosmos`, `hyperlane-monorepo/solana`) with different deployment flows from EVM.