A Week Above the Arctic Circle: ethrex at Soldøgn Interop

A Week Above the Arctic Circle: ethrex at Soldøgn Interop

Last week, just over a hundred Ethereum core contributors gathered in Longyearbyen, Svalbard, for the Soldøgn interop: a single-track week of focused, multi-client work on the Glamsterdam network upgrade, above the 78th parallel, under a sun that never set. It was our first interop as a participating client.

The Ethereum Foundation's recap covers the week in detail. What the goals were, what landed across ePBS, BAL, and EIP-8037, and how the convergence on a 200M post-Glamsterdam gas limit floor came together. Rather than restate any of that, this post is about the week from our side: what we showed up to do, what we got done, and what we're taking home.

What we walked in with

Going in, our goal was simple: be in every devnet, ship the same specs everyone else was shipping, and not be the bottleneck in any breakout. Up to Soldøgn, we'd been a quiet participant in the Glamsterdam testing process, passing Hive EELS, contributing to the early devnets, but mostly doing it asynchronously.

Core development is a fully remote industry, and most of the time, that works. But there's a class of problems where the in-person format compresses what would otherwise be weeks of async back-and-forth into hours: design questions where four clients have to agree on a tradeoff, edge cases that only surface when you stress-test together, decisions that need a room more than a thread. A spec question that lands at breakfast can be implemented across four clients by dinner and stress-tested on a devnet by the next morning. Showing up in person was a steep change.

What we got done

We were on every devnet throughout the week: bal-devnet-4, bal-devnet-5, bal-devnet-6, glamsterdam-devnet-0, glamsterdam-devnet-1, glamsterdam-devnet-2. Every spec change that landed in a devnet, ethrex was running it within hours of the rest of the teams. The whole room was firing on all cylinders, and the cadence was relentless. By the end of the week, the pace itself had become the thing to keep up with.

We made it into benchmarkoor, the cross-client benchmark suite EthPandaOps maintains. That gives us continuous, public visibility into where ethrex sits relative to the other ELs, and a concrete target list. We already know the precompiles where we're weakest (blake2f, bls12_381, p256verify, point evaluation) and have a flag in flight to drop the precompile cache for benchmark runs, after Nethermind pointed out that benchmark workloads are uncacheable, so the cache adds pure overhead.

We implemented FOCIL during the week, and it will go into the first FOCIL devnet. We participated in most breakouts and ended up co-proposing one to organize a piece of the work better. Several smaller items were designed in hallway conversations and committed to within the same day. We even came home with a few PRs into our repo from Marius (geth) and Stefan (EthPandaOps), which is about as concrete a sign of collaboration as it gets.

The team was named MVPs every day of the week, and MVPs of the week overall. Thanks to EthPandaOps for the recognition; it meant a lot.

The conversations that mattered

A few threads beyond the spec work stand out. We talked to the EF about ethrex eventually showing up on Launchpad as a staking option. The path forward is a multi-month internal audit handled by the EF's Protocol Security team, and we're already in contact and have what's needed to start.

The other half of the week was spent with the people. We met most of the teams in person for the first time. Beyond EthPandaOps and Nethermind, with whom we ended up working most closely, we spent meaningful time with Prysm (Potuz primarily), Lighthouse, STEEL, Stateless, and Marius from geth. The friction of remote work doesn't disappear after a week in Svalbard, but it drops a lot. Sliding into someone's DMs to push a design decision forward is a different conversation when you've spent six days debugging side by side.

What's next

Soldøgn was the start of the work. From here, we're heads-down turning prototypes into production-ready code: cherry-picking the fixes from bal-devnet-6 into individual PRs, opening a PR for our FOCIL implementation, and starting on EIPs that came out of the week (8142 on top of 8025 and 8079, 8200, and 7906 and 8250 on top of frames). A few existing implementations we had behind feature flags (8025, 8141, native rollups) are getting refactored to sit behind a fork instead, in line with where the spec is going. The repricing numbers and the 200M gas limit will be confirmed on AllCoreDevs calls in the coming weeks. We'll be on those calls and starting to participate more actively in the testing track as well.

The final Glamsterdam stretch is ahead, and we're settling in for it. Several blog posts will follow this one, going deeper into the pieces that deserve their own treatment: native rollups, frame transactions, FOCIL, distributed proving on L2, and the networking improvements we shipped over the last month.

Thank you

To everyone at the EF who put this week together, and to every team that took the time to work side by side with us in our first interop: thank you. The week was as productive as it was because of how it was organized, and because of how welcoming the rest of the ecosystem was to a new client showing up. The EF also made the Arctic Circle itself part of the experience, with excursions to Coal Mine #3, the Global Seed Vault, and a catamaran trip through the fjords. We came home with code, with relationships, and with a much sharper picture of where Ethereum is going and how to help get it there.

See you next time.