Available Now

Hanzo Rollups

L2 scaling infrastructure & rollup services

Deploy and manage rollup infrastructure. From optimistic to ZK rollups, we handle sequencers, provers, and data availability so you can focus on your application.

Rollup-as-a-Service

Deploy your own L2 or L3 rollup with managed infrastructure.

High Throughput

Process thousands of transactions per second with low fees.

Security Inheritance

Inherit Ethereum's security while scaling your application.

Native Bridging

Built-in bridges for seamless L1 ↔ L2 asset transfers.

Back to Web3 Overview

Get Your API Key

Start building in under 5 minutes

99.999%
Uptime
<50ms
Latency
100+
Chains

No credit card required. Free tier includes 300M compute units/month.

Trusted by developers building:

DeFiNFTsPaymentsGamingAI Agents

Key Capabilities

Everything you need, nothing you don't.

Rollup-as-a-Service

Deploy your own L2 or L3 rollup with managed infrastructure.

High Throughput

Process thousands of transactions per second with low fees.

Security Inheritance

Inherit Ethereum's security while scaling your application.

Native Bridging

Built-in bridges for seamless L1 ↔ L2 asset transfers.

Data Availability

Multiple DA options: Ethereum, Celestia, EigenDA, or custom.

Sequencer Management

Managed sequencer infrastructure with decentralization options.

Fraud & Validity Proofs

Support for both optimistic and ZK proving systems.

Interoperability

Connect to the broader L2 ecosystem and cross-chain protocols.

Analytics & Monitoring

Real-time metrics for rollup performance and health.

Simple to Integrate

Get started with just a few lines of code. SDKs for every language.

L2Bridge.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;

import "@hanzo/rollups/IL2Bridge.sol";
import "@hanzo/rollups/ICrossChainMessenger.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";

/// @title L2Bridge - Bridge assets between L1 and L2 rollups
contract L2Bridge {
    IL2Bridge public bridge;
    ICrossChainMessenger public messenger;

    mapping(bytes32 => bool) public processedDeposits;

    event DepositInitiated(address indexed from, uint256 amount, uint256 l2ChainId);
    event WithdrawalCompleted(address indexed to, uint256 amount);

    constructor(address _bridge, address _messenger) {
        bridge = IL2Bridge(_bridge);
        messenger = ICrossChainMessenger(_messenger);
    }

    // Bridge ETH from L1 to L2
    function bridgeETHToL2(uint256 l2ChainId) external payable {
        bridge.depositETH{value: msg.value}(l2ChainId, msg.sender);
        emit DepositInitiated(msg.sender, msg.value, l2ChainId);
    }

    // Bridge ERC20 tokens to L2
    function bridgeTokenToL2(
        address token,
        uint256 amount,
        uint256 l2ChainId
    ) external {
        IERC20(token).transferFrom(msg.sender, address(this), amount);
        IERC20(token).approve(address(bridge), amount);
        bridge.depositERC20(token, amount, l2ChainId, msg.sender);
        emit DepositInitiated(msg.sender, amount, l2ChainId);
    }

    // Finalize withdrawal on L1 (called by relayer)
    function finalizeWithdrawal(
        bytes32 withdrawalHash,
        address to,
        uint256 amount,
        bytes calldata proof
    ) external {
        require(!processedDeposits[withdrawalHash], "Already processed");
        require(bridge.verifyWithdrawalProof(withdrawalHash, proof), "Invalid proof");

        processedDeposits[withdrawalHash] = true;
        payable(to).transfer(amount);
        emit WithdrawalCompleted(to, amount);
    }
}

Built For

Gaming & Social

High-frequency, low-cost transactions for gaming economies and social apps.

DeFi Scaling

Scale DeFi protocols with lower gas costs while maintaining security.

Enterprise Chains

Private or permissioned rollups with custom governance.

App-Specific Chains

Dedicated throughput and customization for your application.

Supported Chains

Arbitrum
Optimism
Base
zkSync Era
Scroll
Linea
Polygon zkEVM
Starknet
Blast
Mode

Start Building with Hanzo Rollups

Get your free API key and ship your first request in under 5 minutes. No credit card required.