Loading...
Loading...
Ethereum Layer 2 landscape — Arbitrum, Optimism, Base, zkSync, Scroll, Unichain, Celo, and more. How they work, how to deploy on them, how to bridge, when to use which. Includes per-chain DeFi ecosystems and critical corrections. Use when choosing an L2, deploying cross-chain, or when a user asks about Ethereum scaling.
npx skill4agent add austintgriffith/ethskills l2s| L2 | Type | TVL | Tx Cost | Block Time | Finality | Chain ID |
|---|---|---|---|---|---|---|
| Arbitrum | Optimistic | $18B+ | $0.001-0.003 | 250ms | 7 days | 42161 |
| Base | Optimistic (OP Stack) | $12B+ | $0.0008-0.002 | 2s | 7 days | 8453 |
| Optimism | Optimistic (OP Stack) | $8B+ | $0.001-0.003 | 2s | 7 days | 10 |
| Unichain | Optimistic (OP Stack) | Growing | $0.001-0.003 | 1s | 7 days | 130 |
| Celo | Optimistic (OP Stack) | $200M+ | <$0.001 | 5s | 7 days | 42220 |
| Linea | ZK | $900M+ | $0.003-0.006 | 2s | 30-60min | 59144 |
| zkSync Era | ZK | $800M+ | $0.003-0.008 | 1s | 15-60min | 324 |
| Scroll | ZK | $250M+ | $0.002-0.005 | 3s | 30-120min | 534352 |
| — | — | — | — |
| Action | Mainnet | Arbitrum | Base | zkSync | Scroll |
|---|---|---|---|---|---|
| ETH transfer | $0.002 | $0.0003 | $0.0003 | $0.0005 | $0.0004 |
| Uniswap swap | $0.015 | $0.003 | $0.002 | $0.005 | $0.004 |
| NFT mint | $0.015 | $0.002 | $0.002 | $0.004 | $0.003 |
| ERC-20 deploy | $0.118 | $0.020 | $0.018 | $0.040 | $0.030 |
| Need | Choose | Why |
|---|---|---|
| Consumer / social apps | Base | Farcaster, Smart Wallet, Coinbase on-ramp, OnchainKit |
| Deepest DeFi liquidity | Arbitrum | $18B TVL, GMX, Pendle, Camelot, most protocols |
| Yield strategies | Arbitrum | Pendle (yield tokenization), GMX, Aave |
| Cheapest gas | Base | ~50% cheaper than Arbitrum/Optimism |
| Coinbase users | Base | Direct on-ramp, free Coinbase→Base transfers |
| No 7-day withdrawal wait | ZK rollup (zkSync, Scroll, Linea) | 15-120 min finality |
| AI agents | Base | ERC-8004, x402, consumer ecosystem, AgentKit |
| Gasless UX (native AA) | zkSync Era | Native account abstraction, paymasters, no bundlers needed |
| Multi-chain deployment | Base or Optimism | Superchain / OP Stack, shared infra |
| Maximum EVM compatibility | Scroll or Arbitrum | Bytecode-identical |
| Mobile / real-world payments | Celo | MiniPay, sub-cent fees, Africa/LatAm focus |
| MEV protection | Unichain | TEE-based priority ordering, private mempool |
| Rust smart contracts | Arbitrum | Stylus (WASM VM alongside EVM, 10-100x gas savings) |
| Stablecoins / payments / RWA | Polygon PoS | $500M+ monthly payment volume, 410M+ wallets |
0x765de816845861e75a25fca122bb6898b8b1282a0xd8763cba276a3738e6de85b4b3bf5fded6d6ca730xe8537a3d056DA446677B9E9d6c5dB704EaAb4787| Chain | Dominant DEX | Model | Why NOT Uniswap |
|---|---|---|---|
| Base | Aero (was Aerodrome) | ve(3,3) — LPs earn emissions, voters earn fees | Deeper liquidity for most pairs |
| Optimism | Aero (was Velodrome) | ve(3,3) — merged Nov 2025 under Dromos Labs | Same flywheel, unified brand |
| Arbitrum | Camelot + GMX | Native DEX + perps | Camelot for spot, GMX for perps |
| zkSync | SyncSwap | Classic AMM | Largest native DEX on zkSync |
addresses/SKILL.mdblock.numberblock.timestampblock.numberzksolcEXTCODECOPYsolcARB_WASM_ADDRESS| L2 | RPC | Explorer |
|---|---|---|
| Arbitrum | | https://arbiscan.io |
| Base | | https://basescan.org |
| Optimism | | https://optimistic.etherscan.io |
| Unichain | | https://uniscan.xyz |
| Celo | | https://celoscan.io |
| zkSync | | https://explorer.zksync.io |
| Scroll | | https://scrollscan.com |
| Linea | | https://lineascan.build |
| L2 | Bridge URL | L1→L2 | L2→L1 |
|---|---|---|---|
| Arbitrum | https://bridge.arbitrum.io | ~10-15 min | ~7 days |
| Base | https://bridge.base.org | ~10-15 min | ~7 days |
| Optimism | https://app.optimism.io/bridge | ~10-15 min | ~7 days |
| Unichain | https://app.uniswap.org/swap | ~10-15 min | ~7 days |
| zkSync | https://bridge.zksync.io | ~15-30 min | ~15-60 min |
| Scroll | https://scroll.io/bridge | ~15-30 min | ~30-120 min |
# Same salt + same bytecode + same deployer = same address on every chain
forge create src/MyContract.sol:MyContract \
--rpc-url https://mainnet.base.org \
--private-key $PRIVATE_KEY \
--salt 0x0000000000000000000000000000000000000000000000000000000000000001| L2 | Testnet | Chain ID | Faucet |
|---|---|---|---|
| Arbitrum | Sepolia | 421614 | https://faucet.arbitrum.io |
| Base | Sepolia | 84532 | https://faucet.quicknode.com/base/sepolia |
| Optimism | Sepolia | 11155420 | https://faucet.optimism.io |
| Unichain | Sepolia | 1301 | https://faucet.unichain.org |