Creating Proposals
Last updated
Last updated
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.
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
Before creating an on-chain proposal:
Present your idea in the Mento Forum
Gather feedback for at least 3-7 days
Build consensus through constructive discussion
Refine your proposal based on community input
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
Navigate to governance.mento.org and click "Create Proposal" in the header or the main proposal list.
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
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:
Click "Create Proposal"
Confirm details in wallet
Wait for transaction confirmation
Your proposal immediately enters the voting period upon successful submission.
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]
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
After submission, your proposal follows this path:
Active (8 days) - Voting period
Succeeded/Defeated - Based on results
Queued (2 days) - Timelock Veto period where a security council of community members can veto proposals deemed malicious
Executed - Changes go live, included code is executed onchain
Monitor each stage and be available to answer questions throughout.
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