Across Protocol: A Deep Dive into Its Cross-Chain Bridge Architecture

·

Across Protocol is an innovative Ethereum cross-chain solution that enables fast, decentralized asset transfers from Layer 2 rollups—such as Optimism, Arbitrum, and Boba Network—back to the Ethereum mainnet. By leveraging optimistic oracle mechanisms, bonded relayers, and one-sided liquidity pools, Across delivers a secure and efficient bridge experience for users navigating between L2s and L1. This article provides a comprehensive technical breakdown of the protocol’s v1 smart contract architecture, focusing on core components like BridgeAdmin, BridgeDepositBox, and BridgePool.

How Across Works: Cross-Chain Flow Overview

The primary function of Across is to allow users to move assets from L2 chains to Ethereum L1 with minimal delay and maximum security. The process involves several key roles:

There are multiple pathways for deposit execution:

Regardless of the path, depositors are guaranteed not to lose funds. All L2 deposits are eventually bridged via native rollup bridges (e.g., Optimism or Arbitrum) into L1 liquidity pools, ensuring repayment to LPs.

👉 Discover how decentralized bridges are shaping the future of multi-chain finance.

Core Contract Structure and Components

The source code for Across v1 is hosted at github.com/across-protocol/contracts-v1, with active development underway for v2. The core directory structure includes:

contract-v1
├── contracts       // Main protocol contracts
├── deploy          // Deployment scripts
├── hardhat.config.js
├── helpers
├── networks        // Deployment addresses across chains
└── package.json

We focus on two critical directories: contracts and deploy.

Key Directories in Contracts

The main contracts analyzed below reside in insured-bridge.

BridgeAdmin: Central Governance Contract

Deployed on L1, BridgeAdmin.sol manages the entire system. It controls:

Key state variables include:

Administrators can adjust LP fee rates, pause deposits, and update bridge delays. Cross-chain communication is handled through domain-specific messengers like Arbitrum_CrossDomainEnabled.sol and OVM_CrossDomainEnabled.sol.

BridgeDepositBox: L2 Deposit Handling

BridgeDepositBox.sol is an abstract contract deployed on each supported L2 (Optimism, Arbitrum, Boba). It handles two primary functions:

bridgeTokens: Native Asset Transfer

This method moves accumulated L2 tokens back to L1 via the chain’s native bridge. For example, on Arbitrum, it calls outboundTransfer on the standard bridge router. A guard function canBridge() ensures:

deposit: User Initiated Withdrawal

When a user wants to withdraw from L2 to L1, they call deposit, specifying:

The contract emits a FundsDeposited event containing all relevant data, which off-chain relayers monitor to fulfill the request.

👉 Learn how cross-chain interoperability is unlocking new DeFi opportunities.

BridgePool: Liquidity Management on L1

BridgePool.sol operates on Ethereum L1 and serves as the financial backbone of the system. It manages:

Constructor & Parameter Syncing

On deployment, BridgePool initializes with:

It synchronizes critical parameters from both UMA’s ecosystem (optimisticOracle, store) and BridgeAdmin (identifier, proposerBondPct, etc.).

Adding and Removing Liquidity

Liquidity providers supply tokens to earn fees. The exchange rate between LP tokens and underlying assets is dynamic:

uint256 lpTokensToMint = (l1TokenAmount * 1e18) / _exchangeRateCurrent();

The _exchangeRateCurrent() function accounts for:

  1. Accumulated but undistributed LP fees
  2. Current reserve levels (liquid vs utilized)
  3. Bonded amounts locked in pending relays

This ensures fair minting and redemption based on real-time pool utilization.

Slow Relay Execution

The relayDeposit() function allows a relayer to initiate a slow withdrawal. It:

No actual transfer occurs yet—settlement happens after the challenge period unless accelerated.

Accelerated Relays

To enable near-instant withdrawals, relayers can call speedUpRelay(), paying the recipient directly minus fees. They front the full amount but are reimbursed upon successful settlement.

This creates a competitive market where fast relayers capture user fees, incentivizing speed and reliability.

Instant Relay: Combining Speed and Security

The relayAndSpeedUp() function combines both actions in one transaction, saving gas. It performs:

  1. Relay initiation (relayDeposit)
  2. Immediate payout (speedUpRelay)

This dual mechanism ensures users get fast withdrawals while maintaining economic security through bonding and dispute windows.

Dispute Mechanism

If a relay is suspected fraudulent, a disputor calls disputeRelay(), triggering an optimistic oracle price request. The _requestProposeDispute() function:

After the challenge period, the correct party wins the rewards.

Settlement: Finalizing the Relay

Once the dispute window ends, anyone can call settleRelay() to finalize. The outcome depends on whether the relay was accelerated:

Fees are allocated to LPs, updating reserve balances accordingly.

Deployment Process

The deploy/ folder contains eight scripts executed in sequence:

  1. Deploy BridgeAdmin
  2. Deploy WETH bridge pool
    3–6. Deploy messengers for Optimism, Arbitrum, Boba
    7–8. Deploy L2 deposit boxes

Each script ensures proper initialization and cross-contract linking.

Summary and Key Insights

Across Protocol exemplifies modern cross-chain design by combining:

Its modular architecture separates concerns cleanly across L1 and L2, enabling secure, fast withdrawals without relying on centralized custodians.


Frequently Asked Questions (FAQ)

Q: What makes Across different from other cross-chain bridges?
A: Unlike traditional two-way bridges, Across uses optimistic verification and bonded relayers to enable fast, secure withdrawals from L2 to L1 with economic finality.

Q: How does Across prevent fraud during instant relays?
A: Instant relayers must front funds but can be disputed if their data is invalid. The optimistic oracle resolves disputes, penalizing bad actors with lost bonds.

Q: Can anyone become a relayer in Across?
A: Yes—any participant can act as a relayer by staking required bonds and monitoring deposit events. This open model promotes decentralization.

Q: What happens if a dispute is incorrectly resolved?
A: The optimistic oracle relies on economic incentives—correct disputers are rewarded, so honest behavior is strongly incentivized.

Q: Is Across compatible with non-EVM chains?
A: Currently, Across supports EVM-based rollups like Optimism and Arbitrum. Expansion to non-EVM chains would require significant architectural changes.

Q: How are liquidity providers rewarded?
A: LPs earn fees from every relay transaction, distributed proportionally based on their share of the pool and utilization over time.

👉 Explore secure ways to participate in cross-chain DeFi ecosystems today.