Skip to main content

Bridge your funds with Etherscan

note

Bridging your funds via etherscan is not the recommended method. Please use the token bridge instead.

Set up

Before you begin, ensure your wallet is:

  1. Configured to use Linea
  2. Funded with test tokens

Bridge ETH from Goerli to Linea

  1. Go to the Linea Message Service transparent proxy contract on Goerli Etherscan
  2. Navigate to Contract > Write as Proxy tab
  3. Connect your wallet by clicking on the “Connect with web3” button
  4. Open the SendMessage function form bridge goerli eth to linea
  5. Complete the form with the following information:
    sendMessageThis is the amount of ETH to send
    _toThis is the recipient on the other layer (usually your Ethereum address)
    _feeThis is the fee paid to the postman to execute the transfer on the second layer automatically. Users will eventually receive payableAmount. We recommend providing a 0.001 ETH fee to ensure proper execution. Note: the amount is in wei, so 0.001 ETH = 10e15 or 1000000000000000
    _calldataFor simple transfer, send empty calldata with 0x.
  6. Validate the transaction on your wallet and you’re done 🎉! Your funds should arrive on the other layer under a few minutes (L2 -> L1 bridging is a bit longer and can take up to ~15min).

Bridge ETH from Linea to Goerli

Follow the steps above, but use the Linea Message Service transparent proxy contract on Linea Etherscan instead!

Bridge ERC20 from Goerli to Linea

  1. Go to the ERC20 contract of your choice on Etherscan docs
  2. Navigate to Contract > Write Contract tab
  3. Connect your wallet by clicking on the “Connect with web3” button
  4. Open the approve function form erc20 approve
  5. Complete the form with the following information:
    spenderFill it with the Token Bridge transparent proxy address as spender. For Goerli, use 0xaA012D038E6440535Ec66eDf2DA592F4F8398133.
    amountThis is the amount you want to send. Note: the amount is in the lowest decimal. To send 1 $UNI which has 18 decimals, you need to input 1000000000000000000
  6. Go to the Linea ERC20 Token Bridge transparent proxy contract on Etherscan.
  7. Navigate to Contract > Write as Proxy tab
  8. Connect your wallet by clicking on the “Connect with web3” button
  9. Open the BridgeToken function form bridge token
  10. Complete it with the following information:
    BridgeToken (payableAmount)This is the fee paid to the postman message service to execute the transfer on the second layer automatically. Users will eventually receive _fee. We recommend providing a 0.001 ETH fee to ensure proper execution. Note: the amount is in wei, so 0.001 ETH = 1000000000000000.
    _tokenThis is the address of the ERC20 to bridge
    _amountNote: the amount is in the lowest decimal. To send 1 $UNI which has 18 decimals, you need to input 1000000000000000000
    _recipientThis is the recipient address on the other layer
  11. Validate the transaction on your wallet and you’re done 🎉! Your funds should arrive on the other layer under a few minutes (L2 -> L1 bridging is a bit longer and can take up to ~15min)

Bridge ERC20 from Linea to Goerli

Follow the same steps as above, except use the Token Bridge transparent proxy address (0xB191E3d98074f92584E5205B99c3F17fB2068927) as spender on Linea, and use the Goerli ERC20 Token Bridge transparent proxy contract to bridge the token.

Manually complete a bridge transaction

note

This step is not mandatory unless you didn’t send enough fees when initiating your bridge transaction

  1. Browse your Transaction Details page of the transaction you sent on the source layer

  2. Go to the Logs tab

  3. Find the log for the MessageSent event and keep it open for a later step

    message sent

  4. Go to the Message Service contract on the other Layer (0xC499a572640B64eA1C8c194c43Bc3E19940719dC on L2)

  5. Navigate to the Write Proxy tab, connect your wallet, and call the claimMessage function using the parameters found in the logs MessageSent checked earlier. Note: bytes argument need to start with 0x0

    write claimMessage

  6. Confirm the transaction on your wallet