🧪 Skills

bridging

Bridge assets to and from Celo. Use when transferring tokens between Celo and other chains like Ethereum.

v1.0.2008
❤️ 0
⬇️ 63
👁 1
Share

Description


name: bridging description: Bridge assets to and from Celo. Use when transferring tokens between Celo and other chains like Ethereum. license: Apache-2.0 metadata: author: celo-org version: "1.0.0"

Bridging to Celo

This skill covers bridging assets between Celo and other blockchains, including native bridges and third-party solutions.

When to Use

  • Transferring assets from Ethereum to Celo
  • Bridging tokens from Celo to other chains
  • Integrating cross-chain functionality
  • Building multi-chain applications

Bridge Options

Native Bridge

Bridge Mainnet Testnet
Superbridge https://superbridge.app/celo https://testnets.superbridge.app

Native bridge provides direct transfers between Celo L2 and Ethereum L1 via the OP Stack standard bridge.

Source: https://docs.celo.org/tooling/bridges

Third-Party Bridges

Bridge URL Description
Squid Router V2 https://v2.app.squidrouter.com Cross-chain routing via Axelar
LayerZero https://layerzero.network Omnichain interoperability protocol
Jumper Exchange https://jumper.exchange Multi-chain DEX aggregator
Portal (Wormhole) https://portalbridge.com Decentralized interoperability layer
AllBridge https://app.allbridge.io/bridge EVM and non-EVM chains
Satellite (Axelar) https://satellite.money Axelar network bridge
Transporter (CCIP) https://www.transporter.io Chainlink CCIP bridge
Layerswap https://layerswap.io/app 60+ chains, 15+ CEX integrations
Hyperlane Nexus https://www.usenexus.org Messaging and interoperability
Mach Exchange https://www.mach.exchange Cross-chain exchange
Galaxy https://galaxy.exchange/swap Native DEX on Celo
SmolRefuel https://smolrefuel.com Gasless refueling
USDT0 https://usdt0.to Native USDT via LayerZero OFT

Source: https://docs.celo.org/home/bridged-tokens/bridges

Native ETH Bridging

Bridge native ETH from Ethereum to Celo as WETH.

Contract Addresses

Ethereum Mainnet → Celo:

Contract Address
SuperBridgeETHWrapper (L1) 0x3bC7C4f8Afe7C8d514c9d4a3A42fb8176BE33c1e
L1 Standard Bridge 0x9C4955b92F34148dbcfDCD82e9c9eCe5CF2badfe
L1 WETH 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
L2 WETH (Celo) 0xD221812de1BD094f35587EE8E174B07B6167D9Af

Sepolia Testnet → Celo Sepolia:

Contract Address
SuperBridgeETHWrapper (L1) 0x523e358dFd0c4e98F3401DAc7b1879445d377e37
L1 Standard Bridge 0xec18a3c30131a0db4246e785355fbc16e2eaf408
L1 WETH 0x7b79995e5f793A07Bc00c21412e50Ecae098E7f9
L2 WETH (Celo Sepolia) 0x2cE73DC897A3E10b3FF3F86470847c36ddB735cf

Bridge ETH to Celo

import { createWalletClient, custom, parseEther } from "viem";
import { mainnet } from "viem/chains";

const SUPERBRIDGE_WRAPPER = "0x3bC7C4f8Afe7C8d514c9d4a3A42fb8176BE33c1e";

const WRAPPER_ABI = [
  {
    name: "wrapAndBridge",
    type: "function",
    stateMutability: "payable",
    inputs: [
      { name: "_minGasLimit", type: "uint32" },
      { name: "_extraData", type: "bytes" },
    ],
    outputs: [],
  },
] as const;

async function bridgeETHToCelo(amount: string): Promise<string> {
  const walletClient = createWalletClient({
    chain: mainnet,
    transport: custom(window.ethereum),
  });

  const [address] = await walletClient.getAddresses();

  const hash = await walletClient.writeContract({
    address: SUPERBRIDGE_WRAPPER,
    abi: WRAPPER_ABI,
    functionName: "wrapAndBridge",
    args: [200000, "0x"],
    value: parseEther(amount),
  });

  return hash;
}

Natively Bridged Tokens

These tokens have official bridges from Ethereum via native bridge:

Token L1 Address (Ethereum) L2 Address (Celo)
WETH 0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2 0xD221812de1BD094f35587EE8E174B07B6167D9Af
WBTC 0x2260fac5e5542a773aa44fbcfedf7c193bc2c599 0x8aC2901Dd8A1F17a1A4768A6bA4C3751e3995B2D
DAI 0x6B175474E89094C44Da98b954EedeAC495271d0F 0xac177de2439bd0c7659c61f373dbf247d1f41abe
AAVE 0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9 0xF6A54aff8c97f7AF3CC86dbaeE88aF6a7AaB6288
LINK 0x514910771af9ca656af840dff83e8264ecf986ca 0xf630876008a4ed9249fb4cac978ba16827f52e91
UNI 0x1f9840a85d5af5bf1d1762f925bdaddc4201f984 0xeE571697998ec64e32B57D754D700c4dda2f2a0e
CRV 0xD533a949740bb3306d119CC777fa900bA034cd52 0x75184c282e55a7393053f0b8F4F3E7BeAE067fdC
rETH 0xae78736cd615f374d3085123a210448e74fc6393 0x55f3d16e6bd2b8b8e6599df6ef4593ce9dcae9ed

Source: https://docs.celo.org/home/bridged-tokens

Cross-Chain Messaging Protocols

For building cross-chain dApps:

Protocol URL Celo Support
Chainlink CCIP https://chain.link/cross-chain Mainnet
Hyperlane https://www.hyperlane.xyz Mainnet, Sepolia
Wormhole https://wormhole.com Mainnet
LayerZero https://layerzero.network Mainnet
Axelar Network https://axelar.network Mainnet

Source: https://docs.celo.org/tooling/bridges/cross-chain-messaging

Using LI.FI SDK

For cross-chain swaps and bridges:

import { createConfig, getQuote, executeRoute } from "@lifi/sdk";

// Initialize LI.FI
createConfig({
  integrator: "your-app-name",
});

// Get bridge quote
const quote = await getQuote({
  fromChain: 1, // Ethereum
  toChain: 42220, // Celo
  fromToken: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC on Ethereum
  toToken: "0xcebA9300f2b948710d2653dD7B07f33A8B32118C", // USDC on Celo
  fromAmount: "1000000000", // 1000 USDC (6 decimals)
  fromAddress: userAddress,
});

// Execute the bridge
const result = await executeRoute(quote, {
  updateRouteHook: (route) => {
    console.log("Route updated:", route);
  },
});

Bridge Considerations

Security

  • Native bridges (Superbridge) are the most secure
  • Third-party bridges rely on their own security models
  • Always verify contract addresses before bridging

Timing

  • Native L1→L2 bridges: ~15-20 minutes
  • L2→L1 withdrawals: 7 days (challenge period)
  • Third-party bridges: varies (minutes to hours)

Fees

  • Native bridges: gas fees only
  • Third-party bridges: gas + bridge fees

Dependencies

{
  "dependencies": {
    "viem": "^2.0.0"
  }
}

For LI.FI integration:

{
  "dependencies": {
    "@lifi/sdk": "^3.0.0"
  }
}

Additional Resources

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs