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

Ronin V3 logoRonin V3

About

Ronin Bridge V3 is the official bridge for the Axie Infinity chain (Ronin chain). It uses external validators to confirm deposits for a typical Token Bridge swap.


  • Total value locked
  • Destination
    Axie Infinity Chain
  • Validated by
    Third Party
  • Type
    Token Bridge

  • About

    Ronin Bridge V3 is the official bridge for the Axie Infinity chain (Ronin chain). It uses external validators to confirm deposits for a typical Token Bridge swap.


    Value Locked
    Milestones & Incidents

    Whitehat hack for $12M

    2024 Aug 6th

    Ronin bridge hacked for ~$625M

    2022 Mar 23rd

    Risk summary
    Technology

    Principle of operation

    This is a typical Token Bridge that locks tokens in the escrow contracts on Ethereum and mints tokens on the Ronin network. When bridging back to Ethereum tokens are burned on Ronin and then released from the escrow on Ethereum.

    Transfers are externally verified

    Note: This section requires more research and might not present accurate information.

    A Ronin Bridge service watches for events on Ethereum and transmits those events to a contract on Ronin chain (Axie Infinity chain). Designated group of weighted validators vote on the validity of those events, and when acknowledged, a “representation token” is minted on the Ronin chain. To withdraw tokens, user needs to deposit them to a contract on the Ronin chain, which will generate an event to be picked by the validators. When validators acknowledge the event, they generate signature, which can be submitted to the Ethereum bridge contract to finalize the withdrawal. Ronin V2 introduced multi-tier withdrawal limits dependent on the overall value of the transaction and the token used. The higher value of transaction, the more validators need to vote to approve withdrawal request. There is a separate group of actors called “governors” who are able to change thresholds, add/remove validators and update contracts. Each validator has a corresponding weighted governor account. There is also a daily withdrawal limit. If it’s crossed, an address from a list of “Withdrawal unlockers” needs to participate in the transaction.

    • Users can be censored if validators decide to not approve a token mint after observing an event on Ethereum (CRITICAL).

    • Users can be censored if validators decide not to sign withdrawal requests (CRITICAL).

    • Funds can be stolen if validators allow to mint more tokens than there are locked on Ethereum thus preventing some existing holders from being able to bring their funds back to Ethereum (CRITICAL).

    • Funds can be stolen if malicious validators generate signature of a fake withdrawal request (CRITICAL).

    • Funds can be frozen if withdrawal limits are misconfigured.

    1. Token transfer flows

    Destination tokens

    Note: This section requires more research and might not present accurate information.

    Tokens transferred end up as wrapped ERC20/ERC721.

    Permissions

    The system uses the following set of permissioned addresses:

    RoninManagerMultiSig 0x2DA0…8D96

    Admin of the Ronin Bridge, can change Sentry Account and accounts able to unlock withdrawals. This is a non-standard MultiSig with 2 / 3 threshold.

    RoninManagerMultiSig participants (3) 0xE5EB…8b300x6bfC…a9d00xaD99…6192

    Those are the participants of the AdminMultisig.

    RoninAdminMultisig 0x51F6…b26e

    This is a Gnosis Safe with 3 / 5 threshold. Can upgrade the bridge and the MainchainBridgeManager instantly by being Admin of the latter. Can add and remove sentries (un-/pausers).

    Those are the participants of the RoninAdminMultisig.

    MainchainGatewayV3 Sentry Account 0xe514…bcd4

    An address that can pause the bridge in case of emergency (can be another contract).

    These accounts can pause and unpause the bridge through the PauseEnforcer.

    PauseEnforcer Admins (2) 0x2DA0…8D960x51F6…b26e

    These accounts can add and remove sentries (bridge pause-/unpausers) in the PauseEnforcer.

    MainchainGatewayV3 Withdrawal Unlockers (4) 0x58a8…06F40xE5EB…8b300x6bfC…a9d00xaD99…6192

    Addresses that can unlock withdrawals.

    Smart contracts

    The system consists of the following smart contracts on the host chain (Ethereum):

    Bridge V3 contract handling deposits and withdrawals. This contract stores the following tokens: ETH, AXS, WETH, USDC, SLP, USDT, MATIC, LINK.

    Upgrade delay: No delay

    Contract storing all operators, governors and their associated weights. It is used to manage all administrative actions of the bridge.

    PauseEnforcer 0xe514…bcd4

    Contract owning the emergencyPauser role in the MainchainGateway and managing its access control.

    The current deployment carries some associated risks:

    • Funds can be stolen if a contract receives a malicious code upgrade. There is no delay on code upgrades (CRITICAL).