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

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
    $915.43 M12.90%
  • Destination
    Axie Infinity Chain
  • Validated by
    Third Party
  • Type
    Token Bridge
  • ...

    Tokens

    Choose token

    Bridged Tokens (Top 15)

    Axie Infinity Shard (AXS)
    Ether (ETH)
    USD Coin (USDC)
    Tether USD (USDT)
    Wrapped Ether (WETH)
    Matic Token (MATIC)
    Smooth Love Potion (SLP)
    ChainLink Token (LINK)
    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:

    Ronin Bridge AdminMultiSig 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.

    Ronin Bridge AdminMultiSig participants (3) 0xE5EB…8b300x6bfC…a9d00xaD99…6192

    Those are the participants of the AdminMultisig.

    MainchainGatewayV3 Sentry Account 0xe514…bcd4

    An address that can pause the bridge in case of emergency.

    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.

    Can be upgraded by: MainchainBridgeManager Governors

    Upgrade delay: No delay

    MainchainBridgeManager 0xa714…fab0

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

    PauseEnforcer 0xe514…bcd4

    Contract allowing PAUSER to pause the bridge.

    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).