Technical

V2 Launch Post-Mortem

A review of some of the minor hiccups during V2 launch, how they were remedied, and the improvements implemented for even smoother operations going forward.

V2 Launch Post-Mortem

Glow V2 received a warm reception on its October 7, 2025 launch date. Within the first three days of V2 launch, all miners sold out and 360,000 GLW was posted as protocol deposits for three different solar farms. 65,000 GCTL were also restaked from the Clean Grid Project to the Colorado region, bringing Colorado's weekly inflation to 59,716 GLW/week.

Overall, the launch went smoothly, but there were a couple minor hiccups that were quickly addressed. At 4:00 pm ET, a misconfigured environment variable briefly pointed the frontends and SDK to the staging API. The apps were immediately paused behind a maintenance guard with a one-hour timer to preserve fairness, ensuring no one could purchase miners or launchpad listings while others were blocked. The issue was fixed quickly, and the apps relaunched at 5:00 pm ET.

This post reviews these minor challenges, how they were resolved, and the improvements implemented to make future launches even smoother.

Some other issues users encountered were:

Smart Accounts / EIP-7702: Guard Working As Intended Over the 24 hours following launch, users with smart accounts/EIP-7702 saw transaction reverts due to the Guard blocking non-EOA interactions during the guarded phase (see the post on Guarded Launch). We added wallet capability detection and educational modals to help users understand why these account types are restricted and how to proceed with a plain EOA.

Power Wallet Latency - Regional Imbalance The new Power Wallet interface loaded in ~40s for West Coast-based users but ~5s for East Coast-based users. Caching and progressive loading reduced load time difference by ~3x, but the real fix was multi-region API deployment (Virginia + California). Latency is now near-instant across regions and the risk of single-region failure has been eliminated.

Transaction Receipt Timeout - UI Messaging Some users saw "Delegation Failed" messages on the Mining Center and Glow Launchpad when the frontend timed out waiting for transaction receipts, even though their transactions were successfully broadcast and later confirmed on-chain. Our backend uses ponder.sh to index transactions and waits for block finalization before processing launchpad delegations or miner purchases, so even when viem times out in the frontend, the backend eventually picks up the transaction. We improved the messaging, added retry logic for receipt polling, and now advise users to refresh the page if their wallet broadcast succeeded.

1) 4:00 pm ET Launch Hiccup - Env Misconfiguration

Delegation Failed Error

What users saw

Immediately after launch, Launchpad and Mining Center transactions weren't going through. Users could see listings in the UI, but on-chain interactions reverted because the on-chain listings didn't match what the UI displayed.

Timeline

Time (Eastern)Event
4:00 pmLaunch window opens, issues reported within minutes by users.
4:05 pmIssue confirmed, engineering on call begins triage.
4:10 pmRoot cause identified: frontends/SDK were reading a staging API URL from the environment instead of production.
4:12 pmMaintenance guard enabled to prevent any users from purchasing while others were blocked.
5:00 pmApps re-opened with correct prod configuration, fair start preserved.

Root cause

An environment variable was set to the staging API base URL during the final pre-launch build of the frontends/SDK. The frontends fetched listings from staging, but when users attempted to interact on-chain, transactions couldn't complete because the on-chain listings didn't match what the UI displayed.

Remediation

The environment configuration was corrected, app.glow.org was re-deployed, and a maintenance guard was kept in place until 5:00 pm to ensure all users would have equal opportunity to purchase miners and listings when the apps reopened.

Improvements made

CI now performs build-time config validation and prevents production builds when any public app points to non-production services.

2) Smart Accounts / EIP-7702: Guard Working As Intended

After launch, Sentry logs highlighted a pattern of transaction reverts from users attempting to delegate GLW on the Launchpad via smart accounts or EIP-7702 delegated execution. While this did affect the user experience for some, these reverts were the Guard working exactly as intended. The Guard was correctly blocking these interactions as designed, but users didn't understand why their transactions were failing. During the guarded phase, the Guard restricts all non-EOA (Externally Owned Account) interactions as a critical security measure to protect users and prevent potential attack vectors. For more details on why these restrictions are necessary, see Guarded Launch: Protecting Glow Users Against Hacks.

Resolution

We added wallet capability detection in the Launchpad and Mining Center to educate users before they attempted transactions. When non-supported account types are detected, we now display a clear modal that explains:

  • Why the Guard blocks these account types during the guarded phase for security
  • How to proceed with a plain EOA instead
  • How to temporarily disable the feature in MetaMask if desired

Improvements for user clarity

We published a compatibility matrix in code (and surfaced it in the UI) for all guarded assets, making it clear which wallet types are supported. We tuned Sentry alerts to group guard-related reverts separately from actual issues, and expanded pre-release wallet QA to cover the most common AA providers and 7702 configurations to ensure our educational messaging covers all cases.

3) Power Wallet Load Latency - Regional Imbalance

Observation

Users in San Francisco experienced ~40s initial load times, while East Coast users saw ~5s.

Initial hypotheses and partial win

We optimized the client strategy with TanStack Query caching and request deduplication, with progressive disclosure plus component-level loading states so each widget unblocks as its API completes. This was about 3× faster, but still not acceptable for West Coast users.

Root cause

Our APIs were deployed in mixed regions: one in California and another in Virginia. Cross-region chatter and cold starts amplified tail latency for West Coast users when the Virginia service was on the hot path.

Resolution

We enabled multi-region for all public APIs with instances in both Virginia and California, and added region-aware routing and health checks to ensure low-latency paths and reduce the blast radius of zonal incidents.

Outcome

Power Wallet now loads near-instantaneously in both regions. We also removed a single-region SPOF in the process.

Improvements made

The default posture for new public APIs is multi-region with automated failover.

4) Transaction Receipt Timeout - UI Messaging

Viem Timeout Error

Some users saw a modal similar to the screenshot above displaying: "Delegation Failed" and "Transaction confirmation timeout. Please check your wallet for the transaction status." This happened when the frontend timed out waiting for transaction receipts, even though transactions were successfully broadcast and later confirmed on-chain.

Root cause

Intermittent timeouts from the receipt polling step in viem caused the UI to report a failure while our indexers continued processing. We use ponder.sh for indexing, which picked up the transactions and updated state once blocks finalized.

Resolution

We clarified the messaging and advised users to refresh the page. If the wallet broadcast succeeded, the indexers will reflect the new state shortly after confirmation. We also added retry logic for receipt polling in our SDK to make the client more resilient to transient RPC issues.

Improvements made

Receipt polling now uses retry with bounded timeouts and clearer UI states. We also document expected confirmation delays and suggest a refresh when the broadcast succeeded but the UI timed out.

What We Learned

Glow V2 is off to a very promising start, and these minor launch hiccups provided valuable insights for continuous improvement. Some key takeaways from launch:

Launch fairness matters as much as speed Without the maintenance guard, users who happened to try different configurations or workarounds might have successfully purchased miners or launchpad listings while others remained blocked by the misconfiguration. This would have created an unfair advantage based purely on luck rather than merit. By declaring maintenance and ensuring everyone restarted at the same time, we preserved equal opportunity for all participants.

Security features need clear user communication The Guard correctly blocked AA/7702 interactions as designed, but users didn't understand why. As these wallet types grow rapidly, we need proactive education and clear messaging about security restrictions, not just technical enforcement.

Performance is an architecture problem first Client-side wins helped, but the durable fix was multi-region API deployment and routing. Infrastructure decisions have an outsized impact on user experience compared to frontend optimizations.

What's Next

We're committed to continuous improvement and maintaining the high standards that made our V2 launch a success. Our goal is to build on this strong foundation and keep raising the bar for protocol launches in the space. If you have any questions or feedback about your experience, please reach out in Discord or open a support ticket - we're always here to help and learn from our community.

Author: Julien Tremblay

NEWSLETTER

Stay in the Loop

Get the latest updates on solar energy innovations, protocol developments, and impact stories delivered to your inbox.

We respect your privacy. Unsubscribe at any time. Unsubscribe here