OpCo Product Team - August 2023 Update

A summary of design & development activity and KPIs for the OpCo product team in August 2023.

Team updates

Pon officially joined the OpCo team in August, he continues to lead product design as he had done within the Balancer ecosystem.


In July, our primary focus was on reducing the ‘fatal’ errors in transaction flows. However, in August, our focus shifted back to product improvements. Additionally, significant effort was required to support the withdrawals from pools affected by the vulnerability disclosed here. Below is a high-level list of the more significant work completed in August.

  • Launched on Avalanche (#3487)
  • Launched on Base (#3823)
  • veBAL pools list moved into API and automated (#3824)
  • Create pool intro modal, directs stable pool creators to form (#4011)
  • Recovery exits page for vulnerability (#4040)
  • Improved pool filtering (#3811)
  • Portfolio page action improvements (completed, not merged, blocked by subgraph, #3700)

Work initiated in August and still ongoing includes:

  • Fetching pools from new API (#4068)
  • veBAL UI improvements (#4028)
  • Multi gauge voting

The content above covers the work completed in August at a high level. For a more detailed breakdown of most of our work, you can browse the frontend repo releases page.


Below is a high-level list of design activity in August.

  • Revised designs for veBAL page improvements, including better veBAL management, historical balances, and showing additional stats, like total veBAL in existence over time.
  • Design & build of the Base promotional tile.
  • Design explorations to give the APR tooltips more clarity, and to include 3rd party yield when BAL incentives are not involved for a pool.
  • Design exploration on warning users about the risks of adding liquidity to pools with low liquidity, where the price impact calculation on the front-end UI may be unreliable.
  • Designed a new modal for the pool creation UI, which pushes people who want to create stable pools to a survey for help from the maxi’s, or other types of pools to the docs.
  • Performed some user research to learn how people are using the web app in order to learn what we can improve upon and what features to prioritize.
  • Exploration around branding concepts, principles and design systems.


Transaction flow error free rate (30d):


= 1 - (‘fatal’ errors / total successful txs)

Where ‘fatal’ is a label applied to errors recorded in a transaction flow, and total successful txs are recorded via analytics events.


  • Ad blockers prevent error recording and analytics.
  • Some % errors are user/wallet-controlled errors that we haven’t excluded yet.
  • Total fatal errors: ~18,388 (prev. 15,151)
  • Total successful txs: ~118,500 (prev. 98,400)

This KPI has stayed pretty much the same since last month for two reasons:

  1. The total number of fatal errors has significantly increased due to a bug in the Polygon zkEVM nodes. This bug disrupts a critical multicall that we depend on. Unfortunately, there’s little we can do to rectify this situation. We have attempted to exclude these exceptions from our data until we can manage the issue. However, initial spikes have caused the error count to be higher than what truly reflects the state of the app on all other networks.
  2. The number of transactions performed via the UI is significantly higher than the previous month due to the number of transactions required to exit the pools affected by the vulnerability.

The combination of these two factors has coincidentally led to the KPI remaining almost exactly the same as in July. However, now that we can exclude the zkEVM issue from the data I’d expect to see significant improvement in September.

Lighthouse benchmark

Note, as mentioned previously, it’s not possible for us to make significant improvements on performance without a change in stack, e.g. some server rendering with Next or Nuxt.

We have made some changes to how we fetch pools to facilitate more featured pool filters. This has had a slight impact on the performance metric but nothing that should be noticeable to the regular user.

Lighthouse scores can be relatively unreliable. However, for our purposes, they serve as useful benchmarks by highlighting any significant issues or improvements that may have been introduced.

User satisfaction score: TBD

Avg. time on site (30d): 2:21 (-0:16s on previous 30d)

We have started conducting user interviews to gain a better understanding of what our core users are using the app for and what they’d like to see improved. This is the first step towards implementing a more robust user satisfaction system.

Note, the Average Time on Site metric can be influenced by market conditions. For instance, we observe an increase in time spent on the site when the market is on the rise.

Github activity

The past month has seen a drop in opened PRs primarily due to the work required for the vulnerability and larger ongoing projects like moving the veBAL list into the API and portfolio page improvements that require less PRs. Note, Top Contributor stats are skewed due to pool allowlist PRs which are auto-generated and generally handled by the Maxi’s.