Search

Search for projects by name

Stargate v2 (LayerZero v2) logoStargate v2 (LayerZero v2)

L2BEAT Bridges is a work in progress. You might find incomplete research or inconsistent naming. Join our Discord to suggest improvements!

About

Stargate v2 is a Hybrid Bridge (mainly Liquidity Network) built on top of the LayerZero messaging protocol.


  • Total Value Secured
  • Destination
  • Validated by
    Third Party
  • Type
    Hybrid

  • About

    Stargate v2 is a Hybrid Bridge (mainly Liquidity Network) built on top of the LayerZero messaging protocol.

    2024 Sep 12 — 2025 Sep 11

    Stargate v2 is a Hybrid Bridge (mainly Liquidity Network) built on top of the LayerZero messaging protocol.

    It uses liquidity pools on all supported chains, supports optional batching and a Token Bridge mode called Hydra that can mint tokens at the destination.

    This project includes unverified contracts.
    (CRITICAL)

    Principle of operation

    On chains where assets are available through other bridges, Stargate acts as a Liquidity Bridge. This requires Stargate liquidity pools for assets at the sources and destinations since no assets can be burned or minted. While liquidity providers need to keep all pools buffered with assets, users can deposit into a pool on their chosen source chain and quickly receive the equivalent asset at the destination through an Executor. Users can choose between an economical batched bridge mode (‘bus’) or an individual fast ‘taxi’ mode that delivers the bridging message as soon as the user deposits.

    While Stargate operates the local token pools on each supported chain, they are all connected through the LayerZero messaging protocol, which is responsible for verifying and delivering the crosschain messages. Verification is done by Stargate-selected permissioned verifiers (called DVNs in LayerZero terminology), currently configured as a 2/2 of Stargate and Nethermind custom Multisigs. Crosschain message passing is done by professional relayers and executors but could technically be done by anyone (even the user themselves if they have access to the bridge message signed by the two verifiers e.g. in case they have committed the verification onchain).

    Just like the assets themselves, so-called credits (also OFTs) are bridged among the supported pools in the Stargate v2 system. Credits can be seen as claims on assets, so a liquidity pool needs credits for a remote pool to be able to bridge there. These credits can be moved and rebalanced (but not minted) by a permissioned role called Planner.

    1. Stargate Docs: Modes of transport
    2. Stargate Docs: Credit allocation system

    LayerZero messaging

    The LayerZero message protocol is used: For validation of messages from Stargate over LayerZero, two DVNs are currently configured: Nethermind and Stargate. If both DVNs agree on a message, it is verified and can be executed by an Executor at the destination. This configuration can be changed at any time by the StargateMultisig.

    • Users can be censored if any of the two whitelisted DVNs fail to approve the transaction.

    • Funds can be stolen if both whitelisted DVNs collude to submit a fraudulent message.

    1. LayerZero Docs: Security Stack

    Destination Tokens

    Since Stargate is mainly a Liquidity Network, its liquidity pools at the destination are filled with tokens from canonical or other bridges than Stargate. As no new tokens are minted, the users do not inherit the risk of the Stargate bridge as soon as the bridging is complete. For chains where a destination asset is not available, Stargate v2 offers a Token Bridge mode called Hydra that locks the asset at the source and mints a Stargate OFT at the destination.

    1. Stargate Docs: Token Bridge mode (Hydra)
    A dashboard to explore contracts and permissions
    Go to Disco
    Disco UI Banner

    Ethereum

    Actors:

    LayerZero Executor 0x1732…3059

    Is tasked to execute verified messages at the destination for a fee paid at the origin. Jobs are assigned to this contract by the LayerZero Endpoint.

    • Can interact with SendUln302
      • execute Stargate messages sent via LayerZero at the destination
    Used in:
    Stargate Verifier 0x8Faf…0d18

    One of the registered DVNs for the OApp acts through this smart contract. They are allowed to verify LayerZero messages for the Stargate bridge and enable their execution at the destination.

    • Can interact with ReceiveUln302
      • verify Stargate messages sent via LayerZero
    ProxyAdmin 0xa367…5Ee3
    • Can upgrade with no delay
      • LayerZero Executor
    Nethermind Verifier 0xa59B…0BA5

    One of the registered DVNs for the OApp acts through this smart contract. They are allowed to verify LayerZero messages for the Stargate bridge and enable their execution at the destination.

    • Can interact with ReceiveUln302
      • verify Stargate messages sent via LayerZero
    Used in:
    LayerZero Multisig 0xBe01…2478

    A Multisig with 3/5 threshold. Custom multisignature contract allowing offchain signing and execution on multiple target chains.

    • Can interact with EndpointV2
      • configure the default send/receive libraries used for verification, affecting all OApps that have not set up a custom security config
    • Can interact with ReadLib1002
      • configure the settings of this library, affecting all OApps that have not set up a custom security config
    • Can interact with SendUln302
      • configure the settings of this library, affecting all OApps that have not set up a custom security config
    • Can interact with ReceiveUln302
      • configure the settings of this library, affecting all OApps that have not set up a custom security config
    Used in:
    Stargate Multisig 2 0xBE63…5413

    A Multisig with 3/6 threshold. Custom multisignature contract allowing offchain signing and execution on multiple target chains.

    • Can interact with Treasurer
      • set the admin address and withdraw treasury fees from the contract
    • Can interact with StargatePool
      • set critical configurations of the pool, potentially stealing funds
      • withdraw fees and tokens that are not the pool token (sent by mistake)
    • Can interact with CreditMessaging
      • set OApp delegate, planner and critical configurations
    • Can interact with TokenMessagingEthereum
      • set OApp delegate and crosschain peers, manage assets and other critical configurations
    • Can interact with StargatePoolNative
      • set critical configurations of the pool, potentially stealing funds
      • withdraw fees and tokens that are not the pool token (sent by mistake)
    • Can interact with StargatePoolEURC
      • withdraw fees and tokens that are not the pool token (sent by mistake)
    • Can interact with StargatePoolMigratable
      • set critical configurations of the pool, potentially stealing funds
      • withdraw fees and tokens that are not the pool token (sent by mistake)
    • Can interact with StargatePoolUSDC
      • set critical configurations of the pool, potentially stealing funds
      • withdraw fees and tokens that are not the pool token (sent by mistake)
    • Can interact with StargatePool
      • set critical configurations of the pool, potentially stealing funds
      • withdraw fees and tokens that are not the pool token (sent by mistake)
    • Can interact with StargatePool
      • pause the pool and set deficit offsets (affects crosschain liquidity and fees)
    • Can interact with CreditMessaging
      • send credits (asset claims) from pools on this chain to other pools
    • Can interact with StargatePoolNative
      • pause the pool and set deficit offsets (affects crosschain liquidity and fees)
    • Can interact with StargatePoolEURC
      • pause the pool and set deficit offsets (affects crosschain liquidity and fees)
    • Can interact with StargatePoolMigratable
      • pause the pool and set deficit offsets (affects crosschain liquidity and fees)
    • Can interact with StargatePoolUSDC
      • pause the pool and set deficit offsets (affects crosschain liquidity and fees)
    • Can interact with StargatePool
      • pause the pool and set deficit offsets (affects crosschain liquidity and fees)

    Arbitrum One

    Actors:

    • Can interact with StargatePoolNative
      • pause the pool and set deficit offsets (affects crosschain liquidity and fees)
    • Can interact with StargatePoolMigratable
      • pause the pool and set deficit offsets (affects crosschain liquidity and fees)
    • Can interact with StargatePoolUSDC
      • pause the pool and set deficit offsets (affects crosschain liquidity and fees)

    Base Chain

    Actors:

    • Can interact with StargatePoolUSDC
      • pause the pool and set deficit offsets (affects crosschain liquidity and fees)
    • Can interact with StargatePoolEURC
      • pause the pool and set deficit offsets (affects crosschain liquidity and fees)
    • Can interact with StargatePoolNative
      • pause the pool and set deficit offsets (affects crosschain liquidity and fees)

    Linea

    Actors:

    • Can interact with StargatePoolNative
      • pause the pool and set deficit offsets (affects crosschain liquidity and fees)

    OP Mainnet

    Actors:

    • Can interact with StargatePoolMigratable
      • pause the pool and set deficit offsets (affects crosschain liquidity and fees)
    • Can interact with StargatePoolUSDC
      • pause the pool and set deficit offsets (affects crosschain liquidity and fees)
    • Can interact with StargatePoolNative
      • pause the pool and set deficit offsets (affects crosschain liquidity and fees)

    Scroll

    Actors:

    • Can interact with StargatePoolUSDC
      • pause the pool and set deficit offsets (affects crosschain liquidity and fees)
    • Can interact with StargatePoolNative
      • pause the pool and set deficit offsets (affects crosschain liquidity and fees)
    A dashboard to explore contracts and permissions
    Go to Disco
    Disco UI Banner
    A diagram of the smart contract architecture
    A diagram of the smart contract architecture

    Arbitrum One

    TokenMessagingArbitrum 0x19cF…07dD

    A LayerZero OApp owned by Stargate that manages bridging messages from all pools on Ethereum. It can batch messages with a ‘bus’ mode or dispatch them immediately (taxi) for higher fees.

    • This contract stores the following tokens: USDT.
    StargatePoolNative 0xA45B…5f7F
    • Roles:
      • planner: EOA 1
    • This contract stores the following tokens: ETH.
    StargatePoolMigratable 0xcE8C…B7D0
    • Roles:
      • planner: EOA 1
    • This contract stores the following tokens: USDT.
    StargatePoolUSDC 0xe8CD…d0d3
    • Roles:
      • planner: EOA 1
    • This contract stores the following tokens: USDC.

    Base Chain

    StargatePoolUSDC 0x27a1…5d26
    • Roles:
      • planner: EOA 2
    • This contract stores the following tokens: USDC.
    TokenMessagingBase 0x5634…6e47

    A LayerZero OApp owned by Stargate that manages bridging messages from all pools on Ethereum. It can batch messages with a ‘bus’ mode or dispatch them immediately (taxi) for higher fees.

    StargatePoolEURC 0x87Dd…72f2
    • Roles:
      • planner: EOA 2
    • This contract stores the following tokens: EURC.
    StargatePoolNative 0xdc18…F7C7
    • Roles:
      • planner: EOA 2
    • This contract stores the following tokens: ETH.

    Ethereum

    Treasurer 0x1041…6918

    Permissions proxy allowing addresses to act through it.

    • Roles:
      • admin: Stargate Multisig 2
      • owner: Stargate Multisig 2
    EndpointV2 0x1a44…728c

    A contract that is part of the LayerZero messaging protocol. The Stargate OApp owner can configure verification (MessageLib) and execution settings here.

    • Roles:
      • owner: LayerZero Multisig
    Implementation used in:
    BlockedMessageLib 0x1ccB…D862

    Simple LayerZero library that blocks all messages if configured.

    StargatePool 0x268C…931D
    • Roles:
      • owner: Stargate Multisig 2
      • planner: EOA 3
      • treasurer: Treasurer; ultimately Stargate Multisig 2
    • This contract stores the following tokens: mETH.
    Treasury 0x5ebB…3056
    Implementation used in:
    CreditMessaging 0x6b8a…bb9d

    A LayerZero OApp owned by Stargate that is used for the virtual crosschain accounting of available tokens to the local pools. A local pool thus has a record of how many tokens are available when bridging to another remote pool. The permissioned Planner role can move these credits.

    • Roles:
      • owner: Stargate Multisig 2
      • planner: EOA 3
    TokenMessagingEthereum 0x6d66…A980

    A LayerZero OApp owned by Stargate that manages bridging messages from all pools on Ethereum. It can batch messages with a ‘bus’ mode or dispatch them immediately (taxi) for higher fees.

    • Roles:
      • owner: Stargate Multisig 2
    ReadLib1002 0x74F5…DB9D

    LayerZero library used to read state from remote blockchains.

    • Roles:
      • owner: LayerZero Multisig
    StargatePoolNative 0x77b2…7931
    • Roles:
      • owner: Stargate Multisig 2
      • planner: EOA 3
      • treasurer: Treasurer; ultimately Stargate Multisig 2
    • This contract stores the following tokens: ETH.
    StargatePoolEURC 0x7831…AE8c
    • Roles:
      • planner: EOA 3
      • treasurer: Treasurer; ultimately Stargate Multisig 2
    • This contract stores the following tokens: EURC.
    StargatePoolMigratable 0x9335…3973
    • Roles:
      • owner: Stargate Multisig 2
      • planner: EOA 3
      • treasurer: Treasurer; ultimately Stargate Multisig 2
    • This contract stores the following tokens: USDT.
    SendUln302 0xbB2E…dCe1

    Send Library used by LayerZero, defining the protocol/execution of sent messages.

    • Roles:
      • getExecutorConfig: LayerZero Executor
      • owner: LayerZero Multisig
    Implementation used in:
    StargatePoolUSDC 0xc026…89C7
    • Roles:
      • owner: Stargate Multisig 2
      • planner: EOA 3
      • treasurer: Treasurer; ultimately Stargate Multisig 2
    • This contract stores the following tokens: USDC.
    ReceiveUln302 0xc02A…24C2

    Receive Library used by LayerZero, defining the validation of received messages.

    • Roles:
      • getUlnConfig: Nethermind Verifier, Stargate Verifier
      • owner: LayerZero Multisig
    Implementation used in:
    StargatePool 0xcDaf…EcD3
    • Roles:
      • owner: Stargate Multisig 2
      • planner: EOA 3
      • treasurer: Treasurer; ultimately Stargate Multisig 2
    • This contract stores the following tokens: Metis.

    Linea

    TokenMessagingLinea 0x5f68…2feD

    A LayerZero OApp owned by Stargate that manages bridging messages from all pools on Ethereum. It can batch messages with a ‘bus’ mode or dispatch them immediately (taxi) for higher fees.

    StargatePoolNative 0x81F6…B075
    • Roles:
      • planner: EOA 4
    • This contract stores the following tokens: ETH.

    OP Mainnet

    StargatePoolMigratable 0x19cF…07dD
    • Roles:
      • planner: EOA 5
    • This contract stores the following tokens: USDT.
    StargatePoolUSDC 0xcE8C…B7D0
    • Roles:
      • planner: EOA 5
    • This contract stores the following tokens: USDT.
    StargatePoolNative 0xe8CD…d0d3
    • Roles:
      • planner: EOA 5
    • This contract stores the following tokens: USDC.
    TokenMessagingOptimism 0xF1fC…27E6

    A LayerZero OApp owned by Stargate that manages bridging messages from all pools on Ethereum. It can batch messages with a ‘bus’ mode or dispatch them immediately (taxi) for higher fees.

    Scroll

    StargatePoolUSDC 0x3Fc6…14E4
    • Roles:
      • planner: EOA 6
    • This contract stores the following tokens: USDC.
    TokenMessagingScroll 0x4e42…4038

    A LayerZero OApp owned by Stargate that manages bridging messages from all pools on Ethereum. It can batch messages with a ‘bus’ mode or dispatch them immediately (taxi) for higher fees.

    StargatePoolNative 0xC2b6…0583
    • Roles:
      • planner: EOA 6
    • This contract stores the following tokens: ETH.

    Value Secured is calculated based on these smart contracts and tokens:

    Escrow for EURC 0x7831…AE8c

    Stargate liquidity pool for EURC on Ethereum.

    Escrow for USDC 0xc026…89C7

    Stargate liquidity pool for USDC on Ethereum.

    Escrow for ETH 0x77b2…7931

    Stargate liquidity pool for ETH on Ethereum.

    Escrow for USDT 0x9335…3973

    Stargate liquidity pool for USDT on Ethereum.

    Escrow for Metis 0xcDaf…EcD3

    Stargate liquidity pool for METIS on Ethereum.

    Escrow for mETH 0x268C…931D

    Stargate liquidity pool for mETH on Ethereum.

    Escrow for USDC 0xe8CD…d0d3

    Stargate liquidity pool for USDC on Arbitrum.

    Escrow for USDT 0xcE8C…B7D0

    Stargate liquidity pool for USDT on Arbitrum.

    Escrow for ETH 0xA45B…5f7F

    Stargate liquidity pool for ETH on Arbitrum.

    Escrow for USDC 0xcE8C…B7D0

    Stargate liquidity pool for USDC on Optimism.

    Escrow for ETH 0xe8CD…d0d3

    Stargate liquidity pool for ETH on Optimism.

    Escrow for USDT 0x19cF…07dD

    Stargate liquidity pool for USDT on Optimism.

    Escrow for EURC 0x87Dd…72f2

    Stargate liquidity pool for EURC on Base.

    Escrow for USDC 0x27a1…5d26

    Stargate liquidity pool for USDC on Base.

    Escrow for ETH 0xdc18…F7C7

    Stargate liquidity pool for ETH on Base.

    Escrow for USDC 0x3Fc6…14E4

    Stargate liquidity pool for USDC on Scroll.

    Escrow for ETH 0xC2b6…0583

    Stargate liquidity pool for ETH on Scroll.

    Escrow for ETH 0x81F6…B075

    Stargate liquidity pool for ETH on Linea.

    The current deployment carries some associated risks:

    • Funds can be stolen if the OApp owner changes the configuration of the OApp to a malicious DVN.

    • Funds can be frozen if the permissioned Planner moves all credits away from the users' chain, preventing them from bridging.

    • Funds can be stolen if the source code of unverified contracts contains malicious code (CRITICAL).