Deploy Yield Routes
The goal of this guide is to illustrate how you can use Hyperlane warp routes to create yield-generating bridges, ensuring idle bridged assets are productive by compounding yield over time. Depending on the variant (more details below), yields are distributed to the yield route owner or users.
Pre-Requisites
To complete the following walkthrough, you should have the following available:
- An origin and destination network of choice, between which you’d like to deploy the yield route.
- The address of an ERC-4626 vault on the origin network from which you want yield to be generated. This vault’s underlying asset will be set as the collateral for the warp route (e.g. if vault is USDC funded, the warp route will also support USDC transfer).
- An installed instance of the Hyperlane CLI and a wallet private key set as the
HYP_KEY
env var funded on your origin and destination networks.
Walkthrough
Concepts
- ERC-4626 Vault: The Ethereum standard for tokenized yield-bearing vaults. Upon deposit, share tokens are minted representing ownership of the underlying asset.
- Yield Route (EvmHypOwnerCollateral & EvmHypSynthetic): The Hyperlane representation of a yield-bearing EVM collateral token. Note that the yield route’s vault’s deposited asset address is used as the warp routes collateral token.
- This specific yield route variant distributes vault yields to the owner. There is an alternative setup where yields are distributed to the users (EvmHypCollateral & EvmHypSyntheticRebase). For most of this guide, we will refer to the former variants. The concepts remain the same.
For the sake of this walkthrough, the “origin” network will refer to the network on which the yield is generated (e.g. ethereum has a USDC lending vault that has claimable yield. A synthetic USDC is minted on the destination chain called yourchain).
Below is the bridging flow between ethereum and yourchain
Bridge USDC: ethereum → yourchain
In this example, Alice wants to bridge USDC between ethereum and yourchain. The yield route will transfer her USDC to a yield-bearing ERC-4626 vault, and then mint her synthetic USDC on yourchain. Notice that the yield route owner can claim yields generated from that vault.
Bridge USDC: yourchain → ethereum
When Alice wants to bridge back to ethereum, the reverse happens. The yield route will burn her synthetic USDC, withdraw the USDC from the vault on ethereum, and return her USDC.
Yield Route Deployment Steps
Using the Hyperlane CLI, deploy a USDC EvmHypOwnerCollateral and EvmHypSynthetic tokens on ethereum and yourchain, respectively:
- Run
hyperlane warp init
to generate a warp route config:- Select
yourchain
andethereum
using space, and hit enter. - For ethereum, select
collateralVault
, accept the mailbox, and enter the USDC vault address on yourchain.- Alternatively, you can select
collateralVaultRebase
which is a yield route variant that distribute yields to users by increasing their holding amount.
- Alternatively, you can select
- For yourchain, select
synthetic
and accept the mailbox.- If you selected
collateralVaultRebase
, you must pair it with asyntheticRebase
- If you selected
- Select
- Run
hyperlane warp deploy
to deploy the warp route.
For more in-depth details on these steps, follow the Bridge a Token guide.
Claiming Yield
Depending on the yield route variant, yield can be claimed by either calling HypERC4626OwnerCollateral.sweep()
or HypERC4626Collateral.rebase()
on their respective contracts.
🎉 Congrats! You have now created a new yield route with your vault. Bridged user assets can now earn passive yield while present in the origin warp route.
Please note that this collateralization strategy takes on certain ISM trust assumptions, and there is inherent risk that the underlying ERC-4626 vault becomes under-collateralized.
Check out some additional information, published by the Hyperlane supporting team, Cheese Chain, and the Ethereum Foundation: