gm

After soft launching the Superbridge a few weeks ago, we’re following up with an official launch of the Superbridge today. The Superbridge is your entry point into various rollup ecosystems, facilitating Ether and token bridging from base layer networks (usually but not necessarily Ethereum mainnet) to rollups (L3’s included). This will be a short post highlighting what the Superbridge offers today and what we envision for future iterations.

Rollup discovery

The Superbridge home screen serves as a way to discover rollups and has been redesigned following our soft launch a few weeks ago to better surface all the supported and soon to be supported chains. The old carousel view can still be accessed but we think the grid works a little better for discovery.

We hope that as we continue to talk with teams and roll out support for more ecosystems, all you’ll need to do if you want to check on the latest and greatest rollup developments is pop on over to superbridge.app.

Conduit integration

Conduit x Superbrige
Conduit x Superbrige

Exactly 20 days after sliding into the Conduit founders DM’s, we shipped and announced the Conduit x Superbridge integration. This is the first native integration to land in Conduit, so we’re pretty proud we were able to pull it together so fast. There was a little back and forth between teams as we decided on the easiest path to take, but we hope you’ll agree the integration is pretty smooth.

If you’re interested in launching your own instance of the Superbridge, you just need to follow a few basic steps:

  1. Sign in to Conduit and spin up an OP Stack testnet

  2. Once deployed, click the “Launch bridge” button in the Bridge UI widget

  3. Approve the launch on superbridge.app

  4. Get to bridging and deposit some assets to your rollup!

Launch bridge from within Conduit
Launch bridge from within Conduit
Approve the deployment in Superbridge
Approve the deployment in Superbridge

For custom branding of your Superbridge instance please reach out, we’re happy to accomodate most requests.

Forced withdrawals

Superbridge settings page
Superbridge settings page

A cool property of OP rollups is that all L1 to L2 communication happens in a censorship resistant manner. The Sequencer is required - at the risk of having its bond slashed - to include and execute all L1 initiated deposit transactions. In most cases deposit transactions are simply used to bridge and Ether and other tokens via the bridge contracts, but actually any L2 transaction can be sent as an L1 deposit transaction and will be forced to be included.

A really cool example of using these deposit transactions in perhaps a non-standard manner, that we believe Zora pioneered, is their “bridge & mint” flow. When bridging via the Zora frontend they encode a contract call to be executed on the L2, calling mint() on an NFT contract, so by simply bridging ETH over to Zora you get an NFT which is pretty neat.

So what we call a forced withdrawal in the Superbridge is actually just a normal withdrawal but initiated from Ethereum. The gas costs for doing this will of course be higher than sending a transaction via the rollup, but as more rollups come online it'll be important for users to rely on the censorship resistant properties of Ethereum and not need to trust rollup operators.

We have a longer blog post coming soon that walks through each step in a forced withdrawal, including detailed information on the semantics of both deposit and withdrawal transactions.

Something we recognised early on while developing the Superbridge is that it’s clear #OPStack rollups still have their training wheels on. Sequencer operation is done by a single and permissioned entity, core bridge contracts can be paused at will, contract upgrades aren’t currently subject to any timelocks and fault proofs for challenging the validity of state roots posted to Ethereum haven’t been implemented yet. As with everything in web3, we’re still early, and so despite these drawbacks (drawbacks that various teams are working very hard to address) the Superchain is flourishing even in the depths of this bear market.

That’s all to say that forced withdrawals, while a very cool concept and something we’ve taken a lot of joy in shipping, are at best an intellectual nicety at this stage, and to be honest not very useful. This will change though! And one day forced withdrawals could be a core part of interacting with rollups in your day to day web3 life.

Easy mode

Other than forced withdrawals and some of the fancy animations, I’d say easy mode has been one of the more fun features for us to work on with the Superbridge. We haven’t settled on the name yet either, “Easy mode” was just the first thing we thought of.

Easy mode removes, I’d say, about 75% of the pain encountered when withdrawing from #OPStack rollups. The 2ish hour period waiting for state roots to be published to the L1, the additional L1 transaction to prove inclusion in said state roots, the 7 day challenge period and finally the L1 transaction to finalize the operation and actually get your tokens doesn’t inspire so much joy. With easy mode, a small fee is added to your withdrawal transaction that will let us, Fugu Works, pay for the gas costs of these subsequent L1 transactions on your behalf.

The cost for easy mode is currently set as the cost of two transactions, prove and finalise, each using 400,000 units of gas priced at 40 gwei. This is potentially a smidge too high and we’ll either implement a slightly smarter gas pricing strategy, taking into account historical peaks and valleys in gas pricing, or let users specify the maximum gas price they’d like to pay for these transactions. We just won’t relay them until gas prices dip below the specified amount.

Full post-Bedrock history

The final note we want to give regarding the Superbridge is our activity feed. Once a Superbridge deployment is launched we kickoff an indexing process that gathers full deposit and withdrawal history from the time the Bedrock contracts are deployed for the rollup. This provides for a great user experience because the bridge can be used immediately and historical transactions will trickle in over the next few hours.

This also means that to display your activity feed, your browser doesn’t need to crawl millions of blocks to find all the relevant transactions for your address, we’ve already indexed them all! To put some concrete numbers on this, we typically see response times for the entire history of a random address to be sub 40 milliseconds - which is pretty fantastic.

What’s next?

Having now officially put the Superbridge out there, we’re of course still looking to build fun things. Top of mind for us is adding support for all the chains currently highlighted in the home screen and any more that reach out to us. Its been exciting to talk with rollup teams and see how they’re innovating at the base layer and what differences in our approach we’ll need to take to account for them.

We’re also looking to expand into more rollup ecosystems, features like forced withdrawals and easy mode are things that can help more ecosystems than just OP Stack powered ones, so we’re excited to launch into other communities and see their feedback.

Subscribe to Blob Engineering
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.