[Request For Proposal] New 0x Protocol Governance Portal

Abstract

In the spirit of 0x Protocol’s decentralization and ownership by the community, I’d like to initiate a two-step process to build a refreshed governance portal for 0x Protocol and its community.

Context

In 2023, 0x Protocol Governance aims to move fully on-chain for both protocol upgrades and treasury disbursements. The goal of this transition is to make 0x Protocol uncensorable and unstoppable.

On a technical side, a new set of smart contracts were developed over the course of Q4 ‘22 and Q1 ‘23 to serve as the new governance system. The output of this work can be found here: Decentralised governance of 0x protocol and treasury by elenadimitrova · Pull Request #641 · 0xProject/protocol · GitHub.

To complete this governance migration, we need a new governance application that connects with the new governance smart contracts. Because of some deviations to the OZ governor interface that were made for the longevity and security of the governance system, there is no out-of-the-box governance interface that it can be integrated with. As such, some custom work is needed.

As a governance portal would be an application that benefits the entire community, I believe that this could be a scope of work that is funded by the treasury.

In the sections below, I’m suggesting the requirements and a process that can be taken to manage this work.

What would be in scope of 0x Protocol Governance Portal?

To ensure that ZRX holders and the community around 0x Protocol has the ability to guide the future of both 0x Protocol and the treasury, the Governance Portal must provide a unified app for all on-chain governance relation actions.

At a high level, the core actions within the new governance smart contracts that must be supported are

  1. deposit ZRX/withdraw for ZRX
  2. delegate voting power (to oneself or others)
  3. create on-chain proposal
  4. vote on on-chain proposal
  5. execute on-chain proposal.

Beyond that, there are a few functionalities that should exist

  1. discover all governance participants that a tokenholder can delegate to
  2. help a tokenholder decide which governance participant to delegate to
  3. discover all proposals, active or in-active
  4. help a governance participant decide their stance on an active proposal

Finally, nice to haves with the Governance Portal are

  1. share quantitative metrics that are associated with the “health” of the community
  2. serve as a hub for all related tools that governance participants need

Milestones

Below is the full set of milestones for the overall build of a new 0x Protocol Website but this forum post is intended to start the process of recruiting developers to work on this project (steps 1-4).

  1. Open application w/o price specifications
  2. Interview (performed by @ericwong and @mintcloud)
  3. Selected applicants provide price specifications
  4. Select governance portal developer
  5. Grant process to obtain funding from Community Treasury
  6. Development
  7. Staging
  8. Testing & Q&A
  9. Launch

This is the same process as described in the 0x Protocol Website RFP.

Application Template

If you’d like to be considered to build the new 0x Protocol Governance Portal, reply to this forum thread using the following template — individuals and teams are equally encouraged to apply. Please leave the prompts intact and answer on the same line.

Name/Company:

Contact information (email, twitter, discord):

Link to past work (Github, portfolio, personal/company website):

Conflicts of Interest: [optional]

Applications are to be considered on a rolling basis - @mintcloud and @ericwong will keep this forum updated with the initial screening process and when there is a sufficient shortlist of candidates to move forward to the next phase of final selection.

Project Requirements

  • Mandatory
    • Open source development practices
    • Thorough documentation
  • Desirable
    • Decentralized/Open source hosting service

Conclusion

To conclude, a 0x Protocol Governance Portal is a 0x community asset, meaning that it should be built by and for the community.

With that in mind, I’m proposing that we open up an open bounty to build a new governance portal that wraps around the smart contracts recently developed.

I believe this could open up more opportunities to expand community participation from voting to building concrete parts of the 0x platform and serve as a model that can be applied to other parts of the 0x ecosystem.

2 Likes

Name/Company: Tally

Contact information (email, twitter, discord): @rafaelsolari on twitter

Link to past work (Github, portfolio, personal/company website): tally.xyz, Tally · GitHub

Conflicts of Interest: none

4 Likes

Hi @ericwong - we’d like to nominate a team if that’s possible.

Name/Company: Agora

Contact information (email, twitter, discord):

Twitter: https://twitter.com/charliecfeng
Discord: zcf#9299

Link to past work (Github, portfolio, personal/company website):

Github:

Agora · GitHub

Past Work:

https://nounsagora.com/
https://vote.optimism.io/
https://vote.uniswapfoundation.org/

Conflicts of Interest: [optional]

They have done strong work elsewhere and is a UI which may some bring freshness into 0x.

Flipiside is happy to help with the “nice to haves,” using our data to deliver quantitative metrics.

3 Likes

The scope, milestones, and project requirements appear to describe a process where critical decisions regarding the governance platform are being made by 0x Labs and then being presented to ZRX tokenholders for ratification and payment. Please clarify what rights and responsibilities ZRX tokenholders have regarding this effort.

Hey @nikita, ZRX tokenholders are ultimately responsible for (1) determining if building a governance portal is something to fund through the treasury, (2) if yes, confirming the team that would be selected to build it, and (3) confirming the budget that it would take to build it.

I recognize that the framing and words I use do not convey this appropriately but mine and @mintcloud’s intent in starting this RFP is to suggest this as a community tool that we believe should be built and funded by the treasury and that we are volunteering to be the people that manage that process. Managing this process will certainly include making some critical decisions so if the community prefers others to take that role, I am happy to let others take that role.

Hey, @ericwong. Thanks for the additional information, but I’m still not clear on what you mean by this:

(1) determining if building a governance portal is something to fund through the treasury,
(2) if yes, confirming the team that would be selected to build it, and
(3) confirming the budget that it would take to build it.

The post is soliciting bidders/applications, however (referring to the numbered list, above):

(1) There has been no determination to fund this development using treasury funds. Has there been consideration of alternative courses of action such as using the ‘Add a DAO’ feature of Tally as an MVP, which I understood to be one of the benefits of migrating to a Governor/OZ contract, i.e., composability, and AFAIK can be done at no cost? If so and you have determined that this option isn’t feasible, please explain why and indicate whether in Labs’ opinion those reasons are sufficiently problematic to preclude this option as an MVP or ‘good enough’ solution for now. Also, please comment on whether a custom development effort would lock us into future spend or reliance on that developer for ongoing maintenance, hosting, support, etc.

(2) and (3) As written in the original post and subsequent response, these still both sound like ratification of 0x Labs’ selection/decision after a black box interview and bid process.

While I don’t think there is any problem with you/0x Labs volunteering to manage the actual work effort, if this is to truly be ‘built by and for the community,’ then I believe that:

  1. There should first be a discussion of the requirements, alternative courses of action, and estimated costs; and

  2. If the decision is made to solicit bids, the bids should be open, including design, features, and costs so that ZRX tokenholders can vote and participate in the process, rather than just receiving a finished product and being asked to pay for it

hey @nikita, true that this post is soliciting bidders/applications which doesn’t cleanly map onto (1) - what I mean by that is that the community has all the power to decide to not fund this development using treasury fund by voting no to (2) or (3) which is an indirect way of doing that. Perhaps a cleaner path forward is for me to host a snapshot vote for the community to vote on whether or not we want to fund this work with treasury funds. If that is preferred, I can certainly initiate that vote!

Quick context here that is relevant, the main goal that we set out to achieve in developing the new set of governance smart contracts was to (1) provide a fully on-chain binding system for both treasury and protocol with security of first and foremost importance and (2) try to “future proof” it as much as possible to reduce future needs of smart contract development. In doing so, we tried to keep as much as possible with OZ/Governor contract interfaces but made a few changes to achieve the two objectives above.

Responding to your questions in the same format as you’ve asked them:

(1) TThe few changes that we made in the smart contract interfaces meant that it was not a simple plug-and-play into Tally that could be done at no cost, most notably because the expected events of Transfer, DelegateChanged, and DelegateVotesChanged across two contracts. The reason for this is so that while we can ensure that the underlying token remains non-upgradeable, the voting strategies used to calculate voting power can be upgraded. This decision was to serve objective (2) from above but makes a “free” MVP not feasible.

Because of this, we at 0x do believe that this RFP is the best path forward.

In terms of how much a custom development effort will lock the community into future spend or reliance on that developer really depends on how the selected development team sets it up which I realize is kind of a non-answer. Hosting an application has non-removable costs associated with hosting and maintenance and that was intended to be something that is made clear to the community upfront as part of the proposal process.

(2) yes, the interview will be somewhat black box but @mintcloud and I intend to be as communicative as possible as to why we feel the team that we propose is the best team for the RFP.

(3) The bid process and the associated costs, timelines, and proposed design will be open - the intent is for ZRX tokenholders to vote with as much relevant information as possible. @mintcloud and my role in manging the process is to serve as the point people and speed up the back and forth but the final decision will be up to the community.

If there are any additions/subtractions to the requirements described in the post, please do share! The intent it for this to truly be built by and for the community.

I hope this provides some clarity to your questions.

hey @nikita after reflecting about your comments more this week, I changed the wording of my original post to reflect my intent for this to be a process that involves the community deeply and is now framed as a Request for Comment.

My hope is that after a period of time, say till the end of this week, if there is no active thread of questions/proposed changes to requirements, that we can move to the next phase of Request for Proposal.

This could be a good project/wish list item to experiment with a process that could be replicated for future work that is similar.

With that, I’d love to hear from others about what requirements, alternative courses of action, and anything else that I could very much be missing and make sure everyone is on the same page!

Thanks @ericwong :pray:! If there are any engineers/devs reading this who are familiar with the Governor/OZ architecture and can take a look at the proposed governance contracts (link) it would be appreciated. Specifically, in terms of integrating to a governance platform like Tally, please provide your opinion on whether the upgradeable voting strategy components in the new 0x contracts are an incompatible blocker or whether there is a workaround or other option to avoid upfront custom development and ongoing support to accommodate these features.

Thanks for posting this @ericwong. I’d like to add some of my views here:

We need to first define the exact scope of the app. I believe that you have listed the basics of what the dApp can do but there should be a detailed proposal on:
a) The scope of the dApp and what’s its trying to achieve which the current website can’t.
b) To scope out the type of partnership (as in if its a one time development cost or it will be a retainer that the DAO will have to hire.
c) From where the funds would be used in the treasury.
d) How much is the budget that is required for such development.

One we have this put out, then only will it be clear in the type of developers that would be needed and how much man hour would be required.

Currently at this stage, opening the application without a clear laid out proposal as to why it’s needed and what problem it solves is still greatly unclear and so is the scope of work. Once we have the scope clear I’d be able to better comment if this development is even needed and if the funds should be used or not.

And since this dApp development would use funds, I would also want to clearly call out and ask from where these funds would be coming.

Hey @ericwong

We at Pedals Up would love to work upon this opportunity :

Name/Company: Pedals Up

Contact information (email, twitter, discord): jim@pedalsup.com

Link to past work (Github, portfolio, personal/company website):

Portfolio : Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.

Website : https://pedalsup.com

Conflicts of Interest: None

1 Like

Name/Company: DexKit

Contact information (email, twitter, discord): info@dexkit.com

Link to past work (Github, portfolio, personal/company website):

Conflicts of Interest: 0x Delegate

1 Like

hey @Aishwary92 , thanks for surfacing that the scope isn’t well defined and will try to do that here!

a) The scope of the dApp and what’s its trying to achieve which the current website can’t.

The current website (governance.0xProtocol.org) provides an interface for the current governance system - for the treasury, it reads/writes to zrxTreasury contract found here: 0x0bb1810061c2f5b2088054ee184e6c79e1591101, and for the protocol, it hosts an off-chain vote.

The RFC is for a team to design, develop, and maintain an dApp for the recently developed and deployed governance smart contracts (github repo here). In short, the main goal in developing these new contracts is to migrate 0x Protocol to fully on-chain governance and treasury to the same system. The scope as described in the post is what I believe to be the minimum set of functionalities the dApp must have to be suitable as a governance portal.

b) To scope out the type of partnership (as in if its a one time development cost or it will be a retainer that the DAO will have to hire).

I expect there two be two costs that would be included in any proposal: one time development cost and an ongoing hosting/maintenance cost. I’m not a dev so I may be wrong in this but I don’t think there’s a way for there to not be the ongoing hosting/maintenance cost but I did include that decentralized/open source hosting service as a desirable (but not mandatory) requirement.

c) From where the funds would be used in the treasury.

I’d propose that the funds would come from part of the original $1M ZRX that was used to seed the treasury as described in this 0x DAO intro post (Introducing the 0x DAO)

d) How much is the budget that is required for such development.

My original proposed process is for the teams to dictate what their required budget would be rather than defining a budget up-front. That being said, curious what you think would be an appropriate budget to assign to an ask like this.

Name/Company: Boardroom

Contact information (email, twitter, discord):

Link to past work (Github, portfolio, personal/company website):

Conflicts of Interest: none

We’d also be happy to integrate the new governance smart contracts into our platform to enable anyone to build a 0x governance client using our developer APIs and SDK.

2 Likes

hey @Aishwary92 @nikita , wanted to follow-up here to see if there are still outstanding questions/concerns. If not, proposing for this to formally be open as a Request For Proposal and to move forward with the process as described.

Explicity, what this means as next steps is that I serve as the manager of this process, meet with the teams that have indicated interest in this thread, and come back to the community with a recommendation of which team would best complete this work.

1 Like

I had hoped that we would get some additional ‘external’ input on the questions raised above regarding composability, architecture, estimated costs, etc., but since that hasn’t happened, it does seem prudent to keep moving forward. I do hope that the recommendation will include at least a summary of the options reviewed, including associated costs, and the rationale for the recommended choice.

tldr; We nominate Boardroom to the community as the team that builds the new 0x Protocol Governance Portal. Here is the link to the grant proposal that I have drafted on their behalf.

Hey 0x Protocol Community, here’s an update on the RFP process for a new 0x Protocol Governance Portal.

Firstly, I want to thank the five teams that I met with for their time and efforts in indicating interest, meeting, and preparing proposals to build a Governance Portal for 0x Protocol - Agora, Boardroom, GFX Labs, Pedals Up, and Tally.

As described in the RFP, the ideal goal of this proposal is to identify and fund a team to build a new governance portal to serve as the new home for the community to participate in 0x Protocol Governance powered by the recently developed and deployed smart contracts (Github repo here). In addition to ensuring that teams would be able to design, build, and maintain a governance portal that would support all of the must haves and as much of the should and nice to haves, below are two additional questions we asked to help us evaluate the different teams and come to a final recommendation:

  • What can be the long term incentive between the team and 0x Protocol to ensure that the team is invested to ensure that the protocol and its governance sustains itself in the long term?
  • What risks may exist with entrusting a given team to design, build, and maintain the 0x Protocol Governance Portal?

We also received estimates with respect to costs (one-time and ongoing) and timelines that the teams would be willing to commit to if we were to recommend them to the community.

Ultimately, we recommend Boadroom to be the team that builds the next 0x Protocol Governance Portal. Without making other team’s proposal details public, we believe that Boardroom and the team there check all of the boxes in terms of being able to design, build, and maintain a suitable home for 0x Protocol Governance with a very competitive associated cost and rapid timeline to delivery. By partnering with Boardroom, 0x Protocol will have a hosted portal on Boardroom’s existing application as well as a governance API that is free to integrate with meaning that many more interfaces can be built as it may make sense to further facilitate governance participation.

Beyond this, we believe that Boardroom, as a company that is solely focused on facilitating governance, has great long term incentive alignment with 0x Protocol’s governance - sustained engagement and interest in 0x Protocol’s governance will make Boardroom successful and vice versa. Additionally, their team emphasized that 0x Protocol will be highly prioritized by their team and they have full intention of embedding themselves into the community to ensure that the governance portal works for us.

I hope this summary provides helpful insight into the decision making process. Further details of Boardroom’s proposal can be found in this grant application that I have created on their behalf: https://forum.0xprotocol.org/t/grant-request-boardroom-to-support-0x-protocol-governance/3636

Please reply here or in the grant application if you have any further questions.

2 Likes

I am putting a placeholder here expressing my strong concerns with this proposal as submitted. Governance as a service was not part of the original scope. I will provide additional feedback next week.

Thanks for the feedback. This is about building software (client, sdk, apis) to support processes and operations, which are driven by humans. I don’t see a problem in having the boardroom team being part of that set of humans - although nice to have.
Going back to the software development, establishing a relationship with users is also a best practice so I would expect the boardroom team to seek input.

The proposal’s deviation from the original intent is clearly shown in the thread above. There has been significant scope creep. The solution being sought was described as an application or portal or website, not a service. There was no stated requirement to create “long-term incentives” for the developer. In fact, concern was expressed about having to lock into a solution provider for ongoing maintenance/sustainment/hosting costs. What was initially described as a narrow development effort to address a design issue has now morphed into a “partnership” and a “long-term relationship” with numerous coordinating functions, activities, and reports.