AIP - 13: Deploy LayerZero bridging infrastructure

Hey everyone,

This is a proposal to officially setup the LayerZero bridge interface for agEUR between Ethereum, Polygon, Arbitrum and Optimism.


In this governance proposal, we shared what would be an ideal setup to bridge agEUR cross-chain efficiently while having a diversified exposure to bridges.

In summary, idea is to support multiple bridge solutions for agEUR, and to keep on each chain a single “canonical” standard that is used everywhere. This canonical token is the one that is also natively minted by the protocol.

How can we then reconcile different bridges? Idea to whitelist some bridge tokens in the canonical agEUR contract for these to be exchangeable 1:1 for agEUR.
Let’s say I have Anyswap-agEUR on Optimism, then I can wrap it 1:1 and get the canonical agEUR on this chain, and the other way around.

This can however make the UX quite tricky for users which would in this case need two transactions when bridging to get the correct token version (one to get the bridge token and one to get the canonical token from the bridge token).

To simplify that, we have been working with LayerZero to preserve this flow for getting the canonical token but without needing the intermediary transaction to do the wrapping.

Note that this setup allows for bridging between Ethereum and Polygon, then Polygon to Optimism and then Optimism to Ethereum.


The proposal is to deploy LayerZero OFT (omnichain fungible token) contracts on Polygon, Optimism and Arbitrum and whitelist these tokens to mint the canonical agEUR on each of these chains.

Proposal is to whitelist the OFT tokens with conservative limits and hourly limits (that is to say how many agEUR at max can be minted from the LayerZero bridge and how many agEUR can you mint per hour from this bridge). Guardian multisig on each of these chains will then have the possibility to update the parameters as volume accrues.

As a reminder these parameters are here to drastically limit the potential impact of a bridge hack.


Implementation for the OFT tokens to be deployed can be found here. The governor multisig on each of this chain will then simply have the possibility to whitelist the deploy tokens to do the wrapping.

We will also have to deploy a specific contract on Ethereum to route tokens from Ethereum. The setup is built so that there will never be more agEUR on Ethereum than what has natively been minted there.

We will then have an interface directly in the Angle App that allows to send tokens from Ethereum

As stated above, the guardian multisig on each chain will be able to change the risk parameters associated to a token.

Value to the protocol

This LayerZero setup allows to directly give power to the Angle DAO to the bridge interface: the protocol will be in control of the OFT contracts which make it super easy to adapt interfaces, include in the Angle App front and most of all to control the associated risk parameters associated with the bridge.

The global bridge setup thought, as described in this governance proposal enables a diversification of bridging interfaces while keeping a simple UX thus reducing the friction for integrating with agEUR and making it easily accessible and transferrable cross-chain.

This setup is I believe going to set a precedent among all other DeFi protocols in terms of bridging infra.


By implementing this proposal, the protocol would be exposed to the LayerZero bridge risk. if the bridge gets hacked then someone could technically mint on a chain up to the limit allowed of agEUR and get away with it.

There may be some UX “risks” in the sense that people may believe that they can bridge back to a chain (say Ethereum) when they cannot because there hasn’t been enough movement on the other side. It’s going to be important to reduce as much as possible this confusion for agEUR future users.


Really glad to see this being in motion the benefits are tremendous for agEUR & the DAO hope more collaboration can result from this with OFT being the first step in making Angle Finance omnichain :pray: