Everyone is claiming that bridging into Base chain is a one way process with no way to withdraw funds.
This is not true.
You can use the native withdrawal process to get your funds back on mainnet (7 days).
If you NEED to bridge back to Ethereum, here's an in-depth guide:
Base chain is basically a 1-1 fork of Optimism which means we can leverage all the features that OP has.
This includes a native withdrawal process which allows you to move ETH from Base back to mainnet. The downside is that it takes 7 days due to the challenge period.
Why the 7 day period? Because optimistic rollups need a long enough period to challenge potentially fraudulent claims.
Due to the 7 day period, most people will use 3rd party bridges to bridge back to mainnet quicker. However, the native withdrawal method should always work.
Before going further, please note that the second half of this guide requires that you have git and golang installed on your computer to run a script for withdrawing.
If you do not have either of these, I recommend waiting for Coinbase to release their official bridge frontend.
To start, you'll want to visit the L2StandardBridge contract here: .
Go down to either "withdraw" or "withdrawTo". The only difference between the 2 is that the latter allows you to choose the destination address that receives the ETH on mainnet.
Here's how you should fill out the fields:
1) withdraw - this is the amount of ETH you want to bridge back.
2) _l2Token - use the value 0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000. This the ETH token address on Base.
3) _amount - this should be the same value you used for part 1, but converted to wei. You can use this to convert:
4) _minGasLimit - put 0
5) _extraData - put 0x
Submit the txn and save the txn hash. We'll refer to it later.eth-converter.com
Before I explain the next step, let's talk a bit about how OP handles withdrawals. Post-Bedrock upgrade, users need to do 2 things before they can withdraw. They first need to post a proof to L1 that they did a withdrawal on the L2 (Base in this case).
After this, the user must wait 7 days to pass so any external party has the opportunity to challenge the proof. If no challenge happens, the user can finalize their withdrawal on L1.
On OP mainnet there's a nice UI to facilitate this, for Base we're going to use a cmd line tool.
Here's the command line tool for withdrawals written by the Base team: (h/t @steveklbnf). Clone the repo locally and run "go install" in the folder. You should be able to run the withdrawer command.github.com/base-org/withd…
The README explains what needs to be done, but you'll essentially run the withdrawer command with the necessary inputs - txn hash from above, rpc url (you can use Alchemy/Infura), and the private key of the account that withdrew (DO NOT SHARE THIS ANYWHERE).
After running this command you'll get a txn hash. You can confirm that your proof went through by looking up this txn hash on Etherscan (for mainnet).
You'll then have to wait 7 days before proceeding. Once this challenge period is over, you can run the second command in the README for finalizing the withdrawal.
There's a good chance the official UI comes out before then which will make this process easier.
The OP stack was always built with a way to bridge back from L2 to L1, they just happened to make a UI to make this process easier.
I've seen a lot of people talk about bridging into Base chain to ape into some memecoins.
Since there's no official bridge frontend, here's a simple guide on moving ETH to Base chain 🧵:
It really just boils down to sending ETH to the official Base bridge contract. Once the contract sees that you sent ETH, it'll initiate a deposit of ETH into Base.
We can see the code that gets executed when you send the ETH:
The bridge address is 0x49048044d57e1c92a77f79988d21fa8faf74e97e.
All you need to do is transfer ETH to this address. After sending ETH, wait about 5 minutes for the ETH to show up on Base.
I recommend starting with a small amount. Do not send ETH to any other address.
A simple primer on Ethereum client diversity - what it means, why it matters, the current state, and how Ethereum can be made more resilient 🧵:
We first need to go over what an Ethereum client is. Ethereum is a decentralized network meaning there are thousands of machines (nodes) in the world that are connected together. These nodes run software called "clients" which implement the Ethereum protocol.
There are two types of clients in Ethereum: execution clients and consensus clients.
Execution clients listen for new transactions shared peer to peer, run them in the Ethereum virtual machine (EVM), and hold the current state of the network (account balances, storage, etc).
Celo's transition from alt-L1 to an Ethereum L2 is interesting for a couple of reasons:
1) ETH L2s (specifically OP stack) continue to gain more adoption 2) First(?) use of decentralized sequencing 3) Using @eigenlayer for DA instead of ETH calldata
More rollup thoughts below:
Here's the full Celo proposal if you're curious: .
However, I'm more interested in what this might tell us about the next couple months of the rollup space:forum.celo.org/t/clabs-propos…
1) We'll continue to see more and more ETH L2s launch.
The L2 narrative is growing each day. Lower fees and faster finality lead to a smoother user experience. When compared to L1s, L2s inherit some security from ETH mainnet instead of relying on new (lower) trust assumptions.
The Brazilian Central Bank is launching an ERC20-based digital currency soon.
The smart contract for their CBDC contains logic that allows them to freely move, burn, or freeze user funds. They will also be able to control who can move funds around.
The full repo can be found here: .
They didn't release the actual smart contracts, but we can figure out what the code will look like based on the provided ABIs and documentation.github.com/bacen/pilotord…
Here are all the roles that control the token: . You'll see "burner", "freezer", and "mover".
The @ether mint contract has now been deployed and verified which means it's time to go through the code.
I'm going to explain how the mint will work and the gas optimizations that I added to reduce fees for users 🧵:
The contract can be found here: .
For context, I wrote the code and had @optimizoor and @0x_Beans audit. I am not officially on the Ether team - I was brought in to write the smart contract for the mint.etherscan.io/address/0x6c95…
The full mint details can be found here: .
There will 3 mint options:
- Free allowlist mint with a 10 week token lockup
- Paid allowlist mint with no lockup (0.35 ETH)
- Paid public mint with no lockup (0.65 ETH)