RFC: Enable oSnap module on GMX Snapshot space for Automatic Onchain Execution of Proposals

Summary

We propose adding oSnap, a governance tool developed by UMA, to the GMX Snapshot space to allow for trustless execution of after successful Snapshot votes.

Abstract

The adoption of oSnap for GMX would reduce the need for multisig execution by automatically executing successful Snapshot votes onchain to GMX. After a successful vote, the proposal can permissionlessly be passed on to the UMA optimistic oracle for verification and subsequent execution.

UMA runs bots that handle the onchain components above and sponsor the gas for any onchain execution. This setup will make the onchain components of GMX proposals more transparent, remove DAO reliance on the multisig, while also making proposal execution easier and saving the DAO gas costs.

Motivation

We believe decentralized governance is critical to the entire web3 ecosystem. The traction of oSnap has shown us that DAOs are increasingly committing to this as well; as such, UMA continues developing oSnap with no fees for the betterment of the industry at large.

Adding oSnap streamlines the execution of governance decisions, bringing a new layer of efficiency and reliability to GMX. This requires minimal effort and no disruption to existing DAO governance processes. UMA even covers the onchain execution costs for every oSnap proposal.

oSnap secures over $500M for treasuries including CoW Protocol, Across, Connext and the Arbitrum LTIP grant program. oSnap was built by UMA, an experienced leader in optimistic verification. UMA’s optimistic oracle currently secures $1.4B of TVS across bridges, prediction markets and governance tools. You can view all oSnap users here and oSnap transaction metrics here.

Specifications

Since GMX treasury funds are currently in the treasury contracts, we recommend a Safe on Arbitrum and/or Ethereum be deployed and migrate funds from the existing treasury contracts. If treasuries on multiple chains are desired, a single oSnap vote can execute transactions on treasuries on different chains allowing for easy multi-chain governance. Once the new Safe or Safes are deployed, the oSnap Safe app lets you add oSnap to your Snapshot space and Safe in a few minutes with no developer time required. A video demonstration of the oSnap Safe App can be viewed here.

Once enabled, Snapshot proposals can optionally enable oSnap and include transaction payloads within the proposal to be automatically executed after a successful snapshot vote. Learn how to upload a proposal with oSnap here.

The updated Snapshot flow for proposals that include transaction payloads would be:

  • An oSnap-enabled Snapshot proposal incorporates transaction data, to be verified and executed upon passing, with a user-friendly builder for creating and verifying token transfers.
  • GMX holders vote on the proposal like any other Safe Snapshot proposal
  • If GMX holders approve the proposal by vote, any address can post a bond (2 WETH) for a challenge period (2 to 3 days) and propose to execute the transactions onchain. UMA has implemented a bot that validates proposals (vote passed, meets min voting period/quorum) and posts the bond for DAOs along with covering gas costs for execution (there are no fees to use oSnap).
  • If no dispute arises about the proposal’s accuracy during the challenge period, the transactions can then be executed by anyone. This is also executed by UMA’s bots
  • In case of a dispute, the proposal is not executed.

Here are examples of where oSnap would have streamlined the process:

UMA created and maintains oSnap as a public good with no implementation or usage fees because we believe decentralized governance tools are critical to the entire Web3 ecosystem. Since UMA is already running robust monitoring across all of our optimistic oracle integrations and can recycle the bonds posted, the additional costs associated with these services are negligible and it is sustainable to continue providing this service for DAOs. If any changes were to be made in the future, we are committed to having existing DAOs not face any changes (aka be “grandfathered in”).

Dispute Process

  • Anyone can dispute by navigating to https://oracle.uma.xyz/ and finding the relevant proposal to initiate a dispute by posting a bond.
  • UMA token holders vote to resolve the dispute, with the correct party rewarded from the opposing party’s bond. This bonding and dispute mechanism punishes incorrect proposers and disputers and incentivizes honest disputes.
  • Any proposal that was incorrectly disputed can be re-proposed to the oracle for execution without requiring revoting. It is important to note, the dispute resolution decided by UMA token holder votes are not deciding if the transactions can be executed or not, only the bond allocation between the proposer and disputer.

Monitoring

UMA has also focused significant resources on monitoring efforts:

  • The same bot that proposes and executes transactions also automatically disputes inaccurate proposals if the following criteria are not met:
    • The proposed onchain transactions match the transactions that were approved in the Snapshot proposal
    • The Snapshot proposal passed with the minimum parameters specified (majority in favor, meets minimum voting period and quorum)
    • The proposal follows the strategy specified in the Snapshot space.
  • Proposals are included in the UMA Oracle UI (https://oracle.uma.xyz/) which is the same interface used by disputers verifying and disputing for other third-party integrations (Polymarket, Sherlock, Cozy, and other oSnap integrations).
  • UMA sponsors a verification program, that pays UMA community members to verify all optimistic oracle assertions so when any transactions are proposed through oSnap, a Discord ticket is automatically created and an experienced verifier from the UMA community completes a multi-step verification process that focuses on areas such as the transaction payload matching the intent of the proposal, verifies transactions do not include interactions with malicious contracts, etc.

Security

All oSnap smart contracts have been audited by Open Zeppelin:

2 Likes

Hey GMX community, I’ve had the chance to join you on a community call a while back and continue discussing oSnap’s fit with GMX community members. I’m excited to get this proposal live on the forum and generate some discussion and feedback. Please let me know if you have any questions.

1 Like

Kleros was ones the project pretty much the same as yours. Went dead and silent about 3 years ago.
GMX governanch model is solid enough to be changed/adjusted by any means,
Your uza.xyz is a simple betting site that has nothing to do with GMX’s vision.

Thanks for sharing, Lee. I think reviewing if this solution makes sense, is something for the GMX Governance Committee to add to its task list. I can see some advantages, though some potential snags as well.

Sounds good! Feel free to add questions here ping me on Telegram @pumpedlunch.