Skip to main content

Bridging Tokens

Curve uses LayerZero to enable cross-chain transfers of CRV, crvUSD, and scrvUSD to other L1 blockchains such as BinanceSmartChain, Avalanche, and Fantom. This guide focuses on bridging using only blockchain explorers, reducing reliance on third-party interfaces and avoiding any additional fees they may charge.

This guide explains how to bridge any of the three tokens from the Ethereum Mainnet to other L1 blockchains or vice versa. The only requirements include having a wallet with the token to be bridged and ETH or the gas token of the L1, depending on the bridging direction, to cover transaction fees.

This guide is applicable for bridging CRV, crvUSD and scrvUSD to other L1 blockchains. When following this guide, one needs to make sure to use the correct contract addresses depending on the token to be bridged.

CRV CRV

The contract addresses for bridges are mirrored meaning the bridge contract on Ethereum is the same as the one on the L1 blockchain. But the CRV token address is different for each chain.

ChainBridge Contract AddressEtherscan Link
CRV BinanceSmartChain Bridge0xC91113B4Dd89dd20FDEECDAC82477Bc99A840355Ethereum, BSC
CRV Avalanche Bridge0x5cc0144A511807608eF644c9e99B486124D1cFd6Ethereum, Avalanche
CRV Fantom Bridge0x7ce8aF75A9180B602445bE230860DDcb4cAc3E42Ethereum, Fantom

CRV crvUSD

The contract addresses for bridges are mirrored meaning the bridge contract on Ethereum is the same as the one on the L1 blockchain. But the crvUSD token address is different for each chain.

ChainBridge Contract AddressEtherscan Link
CRV BinanceSmartChain Bridge0x0A92Fd5271dB1C41564BD01ef6b1a75fC1db4d4fEthereum, BSC
CRV Avalanche Bridge0x26D01ce989037befd7Ff63837A86e2da32E7D7e2Ethereum, Avalanche
CRV Fantom Bridge0x76EAfda658C54548B460B3f190386699DE3827d8Ethereum, Fantom

CRV scrvUSD

The contract addresses for bridges are mirrored meaning the bridge contract on Ethereum is the same as the one on the L1 blockchain. But the crvUSD token address is different for each chain.

ChainBridge Contract AddressEtherscan Link
CRV BinanceSmartChain Bridge0xAE0666C978500f2C05784242B79B08C478Dd999cEthereum, BSC
CRV Avalanche Bridge0x26E91B1f142b9bF0bB37e82959bA79D2Aa6b99b8Ethereum, Avalanche
CRV Fantom Bridge0x08132eA9b02750E118cF5F5C640B7c46A8E638E8Ethereum, Fantom
:::

Bridging tokens from Ethereum to an L1 blockchain

Step 1: Approve the Bridge Contract to Spend Your Tokens

  1. Navigate to the contract of the token you want to bridge on Etherscan.

  2. Connect your wallet by navigating to Contract > Write Contract and clicking the Connect to Web3 option.

    Weekly gauge weight cycle showing the voting and distribution timelineWeekly gauge weight cycle showing the voting and distribution timeline
  3. Look for the approve method and approve the according bridge contract as a spender.

    Weekly gauge weight cycle showing the voting and distribution timelineWeekly gauge weight cycle showing the voting and distribution timeline
    • _spender: Enter 0x0A92Fd5271dB1C41564BD01ef6b1a75fC1db4d4f, the bridge contract address. This address is the same for all tokens.
    • _value: Specify the amount in 1e18 format (for example, for 100 crvUSD, enter 100000000000000000000).

    Again, to avoid manually entering the amount in 1e18 format, you can input the amount of tokens you wish to bridge and then append 18 zeros by using the + button.

    Weekly gauge weight cycle showing the voting and distribution timelineWeekly gauge weight cycle showing the voting and distribution timeline
  4. Click Write. A transaction should pop up in your wallet which you need to sign to complete the approval.


Step 2: Read Contract and Quote ETH Amount

  1. Visit the bridge contract on Etherscan. This contract address is different depending on the token to be bridged and where it is being bridged to. This time, there is no need to connect your wallet.

  2. Use function 1. quote to determine the bridging cost.

    Weekly gauge weight cycle showing the voting and distribution timelineWeekly gauge weight cycle showing the voting and distribution timeline

    The quote amount represents the cost (in ETH) of calling the bridge method in the next step. This does not include gas costs, which need to be paid on top of the quoted amount.


Step 3: Bridge the token to the L1 blockchain

  1. Access the bridge contract on Etherscan. This contract address is different depending on the token to be bridged and where it is being bridged to.

  2. Connect your wallet by navigating to Contract > Write Contract and clicking the Connect to Web3 option.

    Weekly gauge weight cycle showing the voting and distribution timelineWeekly gauge weight cycle showing the voting and distribution timeline
  3. Navigate to method 2. bridge and input your values. On this contract, there might be multiple methods with the same name. Make sure to select the one which looks like the one in the image down below (it should have three input parameters: bridge, _amount and _receiver).

    Weekly gauge weight cycle showing the voting and distribution timelineWeekly gauge weight cycle showing the voting and distribution timeline
    • bridge: Enter the ETH amount quoted in Step 2. Ensure you enter the amount denominated in Ether (quoted amount / 1e18).
    • _amount: Specify the amount of tokens to bridge in 1e18 format.
    • _receiver: Enter the wallet you wish to receive the tokens to.

    Alternatively, to avoid manually entering the amount in 1e18 format, you can input the amount of tokens you wish to bridge and then append 18 zeros by using the + button.

    Weekly gauge weight cycle showing the voting and distribution timelineWeekly gauge weight cycle showing the voting and distribution timeline
  4. Click Write. A transaction should pop up in your wallet which you need to sign to complete the bridging process.

The bridging transaction will not be settled immediately. After completing these steps, it may take a few minutes for your tokens to be successfully bridged to the L1.


Bridging tokens from an L1 blockchain to Ethereum

Step 1: Approve the Bridge Contract to Spend Your Tokens

  1. Navigate to the token contract on the block explorer for the L1 network you want to bridge from. For example, to bridge crvUSD from BSC to Ethereum, you would need to navigate to the crvUSD token contract on BSCScan. All token addresses are listed in the table at the top of the page.

  2. Connect your wallet by navigating to Contract > Write Contract and clicking the Connect to Web3 option.

    Weekly gauge weight cycle showing the voting and distribution timelineWeekly gauge weight cycle showing the voting and distribution timeline
  3. Look for the approve method and approve the according bridge contract as a spender.

    Weekly gauge weight cycle showing the voting and distribution timelineWeekly gauge weight cycle showing the voting and distribution timeline
    • _spender: Enter the contract address of the bridge on the L1 blockchain.
    • _value: Specify the amount in 1e18 format (for example, for 100 crvUSD, enter 100000000000000000000).

    Alternatively, to avoid manually entering the amount in 1e18 format, you can input the amount of tokens you wish to bridge and then append 18 zeros by using the + button.

    Weekly gauge weight cycle showing the voting and distribution timelineWeekly gauge weight cycle showing the voting and distribution timeline
  4. Click Write. A transaction should pop up in your wallet which you need to sign to complete the approval.


Step 2: Read Contract and Quote the Fee Amount

  1. Visit the bridge contract on the L1 blockchain you want to bridge from.

  2. Use function 1. quote to determine the bridging cost.

    Weekly gauge weight cycle showing the voting and distribution timelineWeekly gauge weight cycle showing the voting and distribution timeline

    The quote amount represents the cost (in the gas token of the L1 blockchain) of calling the bridge method in Step 3. This does not include gas costs, which need to be paid additionally.


Step 3: Bridge Tokens to Ethereum

  1. Access the bridge contract on the L1 blockchain you want to bridge from.

  2. Connect your wallet by navigating to Contract > Write Contract and clicking the Connect to Web3 option.

    Weekly gauge weight cycle showing the voting and distribution timelineWeekly gauge weight cycle showing the voting and distribution timeline
  3. Navigate to method 2. bridge and input your values. On this contract, there might be multiple methods with the same name. Make sure to select the one which looks like the one in the image down below (it should have three input parameters: bridge, _amount and _receiver).

    Weekly gauge weight cycle showing the voting and distribution timelineWeekly gauge weight cycle showing the voting and distribution timeline
    • bridge: Enter the ETH amount quoted in Step 2. Ensure you enter the amount denominated in Ether (quoted amount / 1e18).
    • _amount: Specify the amount of tokens in 1e18 format.
    • _receiver: Enter the wallet you wish to receive the tokens to.

    Alternatively, to avoid manually entering the amount in 1e18 format, you can input the amount of tokens you wish to bridge and then append 18 zeros by using the + button.

    Weekly gauge weight cycle showing the voting and distribution timelineWeekly gauge weight cycle showing the voting and distribution timeline
  4. Click Write. A transaction should pop up in your wallet which you need to sign to complete the bridging process.

The bridging transaction will not be settled immediately. After completing these steps, it may take a few minutes for your tokens to be successfully bridged to the L1.