Original author: @0xCygaar

Original translation: Jaleel, cookie, BlockBeats

Editor's note: More than an hour ago, the project team of $BALD, the "meme leader" on the Layer 2 network Base launched by Coinbase, suddenly withdrew a total of 8,660 ETH and 179 million $BALD in 7 minutes. $BALD The price fell sharply, with the maximum drop reaching 80%.

Although the project team gradually added 400 ETH of liquidity in the next half hour, it was a drop in the bucket that could not restore the broken confidence. Since the front-end cross-chain deposits and withdrawals of the Base network have not yet been opened, the panic of "fear that ETH cannot be withdrawn back to the main network" has quietly spread, and there are even voices outside the market to purchase ETH on the Base network at a discount.

In fact, although there is no front-end deposit and withdrawal page, it is still possible to withdraw ETH back to the Base network across the chain, so there is no need to panic. However, you currently need to install git and golang on your PC to run the withdrawal script. Due to the complexity of the process, it is strongly recommended to wait for Coinbase to release the official cross-chain bridge front-end. This guide is made for those who absolutely need a bridge now and don’t want to wait for the official bridge UI to come out.

This article was written by @0xCygaar on July 31. The following is the original translation of BlockBeats:

Now everyone claims that bridging to the Base chain is a one-way process and there is no way to withdraw funds. But is this true?

In fact, we can use the native withdrawal process to get funds back to the mainnet after 7 days. If you need to bridge back to Ethereum, here is an in-depth guide:

The Base chain is basically a 1-to-1 fork of Optimism, which means we can take advantage of all the features that OP has. This includes a native withdrawal process that allows you to move ETH from Base back to the mainnet. The downside is that this takes 7 days due to the challenge period.

Why does it take 7 days? Because Optimistic Rollups needs long enough to challenge possible fraud claims. Because of this 7-day period, most people will use a third-party bridge to bridge back to the mainnet faster. However, local withdrawal methods should always work.

Before continuing, please note that the second half of this guide requires you to have git and golang installed on your computer in order to run a script for withdrawing funds. If you don't have either of those installed yet, I recommend waiting for Coinbase to release their official bridge frontend.

First, you need to visit the L2StandardBridge contract here: https://basescan.org/address/0x4200000000000000000000000000000000000000010…., go to the contract section, click "Write as Proxy". Scroll down to "withdraw" or "withdrawTo", the only difference between the two is that the latter allows you to choose the destination address on the mainnet to receive ETH.

Here's how you should fill in the fields:

1) withdraw - This is the amount of ETH you want to bridge back to the mainnet.

2) _l2Token - Use the value 0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000. This is the ETH token address on Base.

3) _amount - This should be the same value used in Part 1, but converted to wei. You can use the following link to convert: https://eth-converter.com

4) _minGasLimit - Enter 0

5) _extraData - Input 0x

Submit the transaction and save the transaction hash. We will refer to it later.

Before I explain the next step, let’s talk a little bit about how OP handles withdrawals. After the Bedrock upgrade, users need to do two things before they can withdraw. First, they need to submit a proof to L1 that they made a withdrawal on L2 (Base in this case).

After this, the user must wait 7 days to give any outside party a chance to challenge the proof. If no challenge occurs, the user can complete the withdrawal on L1. There is a nice UI on the OP mainnet to facilitate this, for Base we will use the command line tool.

Here is a command line tool for withdrawing that the Base team wrote: https://github.com/base-org/withdrawer (thanks to @steveklbnf here). Clone the repository locally and run "go install" in the folder. You should be able to run the withdraw command.

The README explains what needs to be done, but essentially you will run the withdrawal command with the necessary inputs - the transaction hash mentioned above, the rpc url (you can use Alchemy/Infura), and the private key of the withdrawal account (do not share your private key anywhere). After running this command, you will get a transaction hash. You can confirm that your proof passed by looking up this transaction hash on Etherscan (for mainnet).

You will then have to wait 7 days before you can proceed. Once this challenge period is over, you can run the second command in the README to complete your withdrawal. There is a good chance that an official UI will be released before then, which will make this process much easier.

OP Stack has always had a way to bridge from L2 back to L1, they just happened to make a UI to make this process easier. This guide applies to all OP Stack chains. For a full explanation of the withdrawal process, read more here: https://community.optimism.io/docs/protocol/withdrawal-flow/#

That's all about how to withdraw ETH from the Base chain before the official bridge UI goes live. Withdrawing ETH from the Base chain is not particularly difficult, but it does require some technical knowledge right now. Once again: this guide is made for those who absolutely need a bridge now and don't want to wait for the official bridge UI to come out.