Mento Protocol
  • Overview
    • Getting Started
      • What Is Mento?
      • Quick Start Guides
      • Analytics & Dashboards
    • Core Concepts
      • Stability Mechanisms
      • The Reserve
      • Oracles & Price Feeds
      • Trading Limits & Circuit Breakers
      • The Broker & Virtual AMMs
      • Fixed-Price Market Makers (FPMMs)
      • Research & Economics
    • Governance & the MENTO Token
      • Understanding Mento Governance
      • Participating in Governance
        • veMENTO & Voting Power
        • Creating Proposals
        • Voting Process
      • MENTO Tokenomics
      • Watchdogs & Safety
    • Security & Risk
      • Overview
      • Audit Reports
  • Build On Mento
    • Integration Overview
      • Integrate Stables
      • Integrate the Broker
      • Integrate Oracles
    • Mento SDK
      • Installation
      • Guides
        • Getting Exchange Pairs
        • Getting a Quote
        • Initiating a Swap
    • Smart Contracts
      • Broker
      • TradingLimits
      • BiPoolManager
      • Pricing Modules
      • SortedOracles
      • BreakerBox
      • Reserve
      • StableToken
      • Audits
    • Deployments
      • Addresses
      • Verification
  • Use Mento
    • Getting Mento Stables
      • On Celo
      • On Mobile
      • From Other Chains
      • Via Centralized Exchanges
Powered by GitBook
On this page
Edit on GitHub
  1. Overview
  2. Governance & the MENTO Token
  3. Participating in Governance

Creating Proposals

PreviousveMENTO & Voting PowerNextVoting Process

Last updated 1 month ago

CtrlK
  • Introduction
  • Prerequisites
  • Required veMENTO Balance
  • Forum Discussion
  • Technical Preparation
  • Step-by-Step Guide
  • Step 1: Access Proposal Creation
  • Step 2: Enter Proposal Details
  • Step 3: Add Execution Code
  • Writing Effective Proposals
  • Structure Template
  • Best Practices
  • Proposal Lifecycle
  • Common Mistakes to Avoid
  • Resources and Tools

Introduction

Creating a proposal is how you turn ideas into action within the Mento Protocol. Whether suggesting parameter adjustments, requesting treasury funding, or proposing technical upgrades, the governance system provides a clear path from concept to implementation. This guide walks you through the entire proposal creation process.

Prerequisites

Required veMENTO Balance

To create a proposal, you must meet the minimum voting power threshold:

  • Current threshold: 10k veMENTO

  • Your veMENTO must exceed this amount at proposal submission

  • Locked MENTO after submission won't count toward existing proposals

Forum Discussion

Before creating an on-chain proposal:

  1. Present your idea in the Mento Forum

  2. Gather feedback for at least 3-7 days

  3. Build consensus through constructive discussion

  4. Refine your proposal based on community input

Technical Preparation

For proposals requiring code execution:

  • Prepare the exact contract calls needed

  • Test execution on testnet when possible

  • Validate all addresses and parameters

  • Have execution code reviewed by technical community members

Step-by-Step Guide

Step 1: Access Proposal Creation

Navigate to governance.mento.org and click "Create Proposal" in the header or the main proposal list.

Step 2: Enter Proposal Details

The interface guides you through three steps:

Proposal Details → Execution Code → Review

Title

  • Keep it clear and descriptive

  • Maximum impact in minimum words

  • Include proposal type, if possible (e.g., "Parameter Update:", "Treasury Request:")

Description

  • Follow the proposal template

  • Minimum 100 characters required

  • Use the rich text editor for formatting

  • Include problem statement, proposed solution, expected impact

  • Link to forum discussion

Preview Tab

  • Switch between Write/Preview modes

  • Verify formatting appears correctly

  • Check all links work properly

Step 3: Add Execution Code

Click "Next" to proceed to the Execution Code step.

Does Your Proposal Need Execution Code?

Not all proposals require execution code:

  • No code needed: If your proposal is signaling intent, requesting off-chain actions, or doesn't call any contracts, leave this field empty

  • Code required: If your proposal changes protocol parameters, moves funds, or updates contracts, you'll need to provide execution code

For Proposals Requiring Execution Code

Understanding Execution Requirements

  • Must be valid JSON array

  • Must contain at least one transaction object

  • Each transaction needs: address, value, data

Code Structure:

json

[
  {
    "address": "0x...", // Target contract address*
    "value": 0,         // CELO value (usually 0 unless requesting funds)*
    "data": "0x..."     // Encoded function call*
  }
]

Common Actions:

  • Parameter updates: Owner only, setter function calls

  • Treasury transfers: Transfer functions with recipient/amount

  • Contract upgrades: Proxy upgrade calls

  • Multiple actions: Array of transaction objects

Review Checklist:

  • ✓ Title accurately describes the proposal

  • ✓ Description includes all necessary context

  • ✓ Execution code is properly formatted

  • ✓ All addresses are correct

  • ✓ Forum discussion linked

Submit Transaction:

  1. Click "Create Proposal"

  2. Confirm details in wallet

  3. Wait for transaction confirmation

Your proposal immediately enters the voting period upon successful submission.

Writing Effective Proposals

Structure Template

Title: [Type] Brief Description

# Summary (1-2 sentences)
What this proposal does and why it matters.

# Background 
Context and problem this addresses.

# Proposal Details 
Specific changes and implementation plan.

# Expected Impact 
Benefits and potential risks.

# Technical Specification 
Exact parameters, addresses, and values.

# Timeline 
Implementation schedule post-execution.

References

- Forum discussion: [link]
- Related proposals: [links]
- Technical documentation: [links]

Best Practices

Clarity Above All

  • Write for both technical and non-technical audiences

  • Define acronyms and technical terms

  • Use concrete examples

Build Support Early

  • Engage key stakeholders before submission

  • Address concerns in forum discussion

  • Consider co-proposers for complex initiatives

Be Specific

  • Exact parameter values, not ranges

  • Precise implementation details

  • Clear success metrics

Show Your Work

  • Include calculations and reasoning

  • Link to supporting data

  • Provide simulation results if applicable

Proposal Lifecycle

After submission, your proposal follows this path:

  1. Active (8 days) - Voting period

  2. Succeeded/Defeated - Based on results

  3. Queued (2 days) - Timelock Veto period where a security council of community members can veto proposals deemed malicious

  4. Executed - Changes go live, included code is executed onchain

Monitor each stage and be available to answer questions throughout.

Common Mistakes to Avoid

Technical Errors

  • ❌ Wrong contract addresses

  • ❌ Incorrect function signatures

  • ❌ Missing "0x" prefix on data

  • ❌ Invalid JSON format

Process Errors

  • ❌ Skipping forum discussion

  • ❌ Insufficient proposal detail

  • ❌ No impact analysis

  • ❌ Missing technical review

Strategic Errors

  • ❌ Bundling unrelated changes

  • ❌ Ignoring community feedback

  • ❌ Unrealistic timelines

Resources and Tools

Encoding Tools - For composing execution code

  • Ethereum ABI Encoder

  • Foundry cast commands

Contract References

  • Mento Contracts GitHub

  • Deployed addresses documentation

Support Channels

  • Discord #general channel