Gitcoin Grants 20!Donate here

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

Across V3 logoAcross V3

Across V3 is a cross-chain optimistic bridge that uses actors called Relayers to fulfill user transfer requests on the destination chain.
  • Total value locked
    $82.81 M5.77%
  • Destination
    Various
  • Validated by
    Optimistically
  • Type
    Liquidity Network
  • ...

    Detailed description

    Across V3 is a cross-chain optimistic bridge that uses actors called Relayers to fulfill user transfer requests on the destination chain.

    Relayers are later reimbursed by providing a proof of their action to an Optimistic Oracle on Ethereum. Relayer reimbursements over a specific block range are bundled and posted on-chain as merkle roots which uniquely identify the set of all repayments and rebalance instructions. The architecture leverages a single liquidity pool on Ethereum and separate deposit/reimburse pools on destination chains that are rebalanced using canonical bridges.

    Risk summary
    Technology

    Principle of operation

    This bridge performs cross-chain swaps by borrowing liquidity from a network of Relayers who are then reimbursed on a chain of their choosing from a common liquidity pool (which consists of user deposits and deposits of independent Liquidity Providers). Specifically, when a user deposits funds for a swap into a dedicated pool on origin chain, a Relayer first pays the user on the requested destination chain and then shows proof of that deposit to Optimistic Oracle on Ethereum to be reimbursed. Liquidity used for reimbursements is rebalanced between a main pool on Ethereum (called Hub Pool) and pools on destination chains (called Spoke Pools) via native chain bridges.

    • Funds can be frozen if owner pauses the Hub Pool contract, or changes bond, routes, or fees parameters in such a way as to make the escrow inoperable.

    • Funds can be lost if owner invokes a "haircut" functionality, dedicated for irrecoverable loss of funds on L2. Calling the haircutReserves() function, the owner can decrease the token utilizedReserves on L1, decreasing the amount of funds in the bridge expected to flow from L2 to L1.

    • Funds can be lost if third-party bridge infrastructure is compromised, such as canonical messaging services, Linea USDC bridge, and USDC Cross-Chain Transfer Protocol (CCTP) infrastructure.

    1. Across V3 Architecture

    Validation via Optimistic Oracle

    Money from the liquidity pool is used to reimburse Relayers based on a proof of deposit on a destination chain that is provided to an Optimistic Oracle on Ethereum. The proof can be disputed in a configured time period.

    • Funds can be stolen if a false claim to the Optimistic Oracle is not disputed in time.

    • Funds can be lost if a re-org occurs on destination chain after the Optimistic Oracle dispute time passes.

    1. Across V3 Optimistic Oracle documentation

    Destination tokens

    Only tokens that have been bridged using native chain bridges are supported.

    Permissions

    The system uses the following set of permissioned addresses:

    HubPool Multisig 0xB524…3715

    Can invoke admin functions of HubPool contract, and by implication of other contracts. This is a Gnosis Safe with 3 / 5 threshold.

    Those are the participants of the HubPool Multisig.

    BondToken transfer proposers 0xf7bA…997c

    Allowed to propose BondToken transfers.

    Smart contracts

    The system consists of the following smart contracts:

    Escrow contract for ERC20 tokens and administration of other contracts. There is a 1h delay before a bundle proposal is considered finalized. This contract stores the following tokens: USDC, WETH, WBTC, DAI, BAL, UMA, BOBA, USDT, ACX.

    BondToken 0xee1D…02ea

    Token (ABT) used to bond the data worker for proposing Relayer refund bundles. It also used as a required bond to dispute a bundle proposal. Currently, the bond amount is set to 0.45 ABT.

    UMAOptimisticOracle 0xeE3A…7c24

    UMA Optimistic Oracle smart contract. It registers dispute requests, status of disputes, and dispute settlement.

    GovernorV2 0x7b29…3fa8

    Owner of the Optimistic Oracle. This contract is used to execute a proposed UMA governance action that has been approved by UMA token holders.

    VotingToken 0x04Fa…F828

    Token used to vote on UMA Optimistic Oracle governance proposals.

    LpTokenFactory 0x7dB6…fD9d

    Factory to deploy new LP tokens for L1 tokens, used to represent a liquidity provider position in the HubPool.

    Provides addresses of the live contracts implementing certain interfaces, such as the whitelist interface for setting the Bond Token.

    Arbitrum_Adapter 0x2952…543F
    Base_Adapter 0x2d8B…046E
    Boba_Adapter 0x33B0…5Af3
    Ethereum_Adapter 0x527E…5084
    Linea_Adapter 0x7Ea0…8EfE
    Optimism_Adapter 0xAd1b…246F
    Polygon_Adapter 0x3E94…CE1A
    ZkSync_Adapter 0xE233…47FB

    Contract enabling depositors to transfer assets from Ethereum to L2s, and relayers to fulfill transfer from L2s to Ethereum. Deposit orders are fulfilled by off-chain relayers with the fillV3Relay() function. Relayers are later refunded with destination token out of this contract when the data worker submits a proof that the relayer correctly submitted a relay on this SpokePool. This contract stores the following tokens: USDC, WETH, WBTC, DAI, BAL, UMA, BOBA, USDT, ACX.

    PolygonTokenBridger 0x48d9…2c65

    Contract deployed on Ethereum and Polygon PoS to facilitate token transfers from Polygon to the HubPool.

    AcrossConfigStore 0x3B03…43f5

    Contract storing configurations such as token rate models and minimum transfer thresholds, meant for off-chain consumption.

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

    Escrow for USDC, WETH, WBTC, DAI, BAL, UMA, BOBA, USDT, ACX 0xc186…bEda
    Escrow for USDC, WETH, WBTC, DAI, BAL, UMA, BOBA, USDT, ACX 0x5c7B…35C5Implementation (Upgradable)Admin

    The current deployment carries some associated risks:

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

    Knowledge Nuggets