Powerloom Mainnet V2 Migration — How We Ensured Minimal Downtime & User Actions

Powerloom Mainnet V2 Migration — How We Ensured Minimal Downtime & User Actions

OP Stack formally dropped support for custom gas tokens on February 27, 2025.

It was an unfortunate decision, especially with the Ethereum Pectra upgrade just around the corner. Sticking to the OP Stack after this would have had an unsustainable impact on our protocol, the associated operators, and users.

Migrating our chain was the only option. And we chose Arbitrum Nitro as the new stack for Powerloom L2.

Powerloom’s growth continues post-migration, and we’re proud of our core devs and engineering team for pulling off one of crypto’s smoothest chain migrations. There was minimal downtime, and it required only two user actions:

  1. Snapshotters had to update their nodes
  2. L2 $POWER holders had to move their unstaked balances manually

Everything else — Snapshotter NFTs, unclaimed Daily Rewards, staked $POWER, etc. — was migrated automatically. Here’s the story of how all this was accomplished.

The Preparations

Finalizing Arbitrum Nitro required a week of thoroughly weighing alternatives, confirming Offchain Labs’ long-term commitment towards custom gas tokens, and aligning our partners: Conduit, Relay, BlockVigil, and others.

This overlapped with the final stages of our protocol audit.

Completing the audit bolstered Powerloom’s security and resilience. But all states and user flows to be affected by the migration had to be mapped to the audited contracts — 2x work for our core devs.

From integrating audited contracts to identifying states to be migrated and functions to be written, every step had to be meticulously planned. It was crucial to ensure that we:

  1. Rigorously test and verify all components involved in the migration, down to specific user variables (more on that later)
  2. Determine the exact order in which different states need to be migrated: Snapshotter State → Protocol State → Data Market State → Staking Contract
  3. Define clear and distinct transition points so that our team and community can transparently monitor progress on the day of migration

TL;DR of our complete migration timeline:

  1. Major Operational Freeze (~24 hours before Epoch 55,000)
  2. Network State Freeze (Epoch 55,000)
  3. State Transition Window (~6 hours)
  4. V2 Chain Switchover
  5. Protocol State Preservation

With our core devs owning the biggest transitions, the migration timeline was followed down to the T on D-Day.

If you’re a skilled web3 dev committed to delivering well-tested solutions in a high-energy environment, join us at our Bangalore office.

We're hiring!

Uninterrupted Snapshotter Operations

Almost the entire state for the protocol state contracts had to be migrated. Yet node operations didn’t face any downtime, except during the State Transition Window.

Snapshotters simply had to update their nodes to the latest version (v2.7.0) which we released on March 17, 2025 — ten days before the migration. The release included a patcher that triggered a switchover of the node to use the upgraded chain’s RPC, protocol state, and data market contracts as soon as Epoch 55000 was detected. That’s as seamless as it gets.

Node Update Announcement by our CTO on Discord

Operators continued earning Daily Rewards on the old chain until the Network State Freeze. Their updated nodes automatically switched over to connect to the new chain at Epoch 55,000 and resumed submissions once the first V2 epoch (ID: 55,001) was released.

Verification Log Showing the First V2 Epoch (ID: 55,001) Release

The decoupled sequencer framework — which we perfected and shipped in 2024 — enabled the low-effort migration for snapshotters.

It has multiple moving parts deployed in a Kubernetes orchestration environment for high availability and fault tolerance. This architecture allowed the sequencer to maintain a steady and constant connection with snapshotter nodes so they could continue running.

Decoupled Sequencer Architecture

The $POWER Migration Bridge

Besides snapshotters updating their nodes, only one other user action was required in the entire migration process.

Users had to manually move their unstaked L2 $POWER balances from Mainnet V1 (old chain) to Mainnet V2 (new chain). We built a custom bridge for this purpose.

Powerloom Chain Migration Bridge

While the bridge allowed L2 $POWER holders to move their funds in five simple steps, building it was an extremely complicated process. For example:

  • Adequate liquidity had to be provided to ensure fast and reliable transfers, even during peak user activity
  • Transactions had to be balanced on both ends to eliminate double spending or any loss of users’ funds

The fact that entire companies are in the business of building bridges speaks volumes about the challenges of doing so. Achieving this with our internal tooling was a milestone in itself.

Building the bridge wasn’t all though. We ran at least four to five simulations on Devnet to ensure that it was secure and functioning as intended.

The older L2 running on the OP Stack will be deprecated soon. Migrate your unstaked L2 $POWER to the Mainnet V2 chain if you haven’t already. Check out this guide for help.

Verifying and Migrating the Mainnet State

Launched on January 9, the Powerloom Mainnet ran on the old chain for over two months. Node minting, staking, burning, and other operations were active even until 24 hours prior to the migration. Tons of data had been generated during this time, including:

  • Eligible nodes for 77 days of running the Uniswap V2 data market
  • 2317 active slots (nodes) with non-zero rewards
  • 2494 unique user addresses and 5863 slots IDs
  • 283 user addresses for Node Staking and 241 burned nodes

We had to migrate this entire state to Mainnet V2. And unlike, say, moving information from one Notion database or Google Sheets to another, there’s no copy-paste in onchain state migrations.

Migration and verification scripts had to be written for each state: minted nodes, unclaimed rewards, etc. — i.e., everything that was ‘automatically migrated’ from the users’ PoV.

These scripts had to be tested extensively through multiple simulations on both Devnet and Testnet. Once everything looked good there, the Mainnet state had to be moved to the Devnet for more rounds of testing and verification.

During the State Transition Window on migration day, our core devs ran and monitored the tested scripts to migrate the entire protocol state, including user balances, stakes, and rewards.

This herculean task was completed in under six hours and without a glitch — thanks to all the extra hours put in by our engineering team, planning and testing everything to this end.

Releasing the First V2 Epoch — The Way Forward

The first Mainnet V2 epoch (ID: 55,001) was released around 14:30 UTC on March 27, 2025. The new chain was live, powered by Arbitrum Nitro and managed by Conduit. This was the beginning of Powerloom’s next phase.

Almost 2000 active nodes started submitting to the V2 chain immediately after the first epoch release. Minting, staking, and rewards claims also went back up soon after.

Normal operations had resumed on Powerloom. Our community could freely use native L2 $POWER — while experiencing the enhanced performance and stability offered by the V2 upgrade.

For example, the Mainnet V2 Bridge is 7x faster, letting users withdraw $POWER from L2 to L1 within 24 hours, not seven days.

Node Staking has also reached new heights on our migrated L2 chain, further testifying the non-disruptive nature of the migration.

Working around the clock for over two weeks, our core devs and engineering team retained all historic data, so that the new chain could pick up exactly where the old one stopped.

Except for the necessary downtime, users didn’t face any gaps or disruptions. We provided clear instructions and in-depth guides for every step. And we ‘migrated in public’, letting anyone monitor/track our plan, progress, and the results.

Join us at our engineering hub in Bangalore. Become a part of an elite dev team that’s defining best practices in decentralization and building the future of onchain data access.

Apply here!

Spread the word. Make sure you’re in our community (and don’t miss exciting updates): Discord | Twitter | Telegram | Website | LinkedIn