Governance
Introduction
This guide outlines how to participate in Creek Protocol governance through staking, proposing, and voting mechanisms. The governance system is designed to ensure decentralized decision-making while maintaining protocol security and operational efficiency.
The governance contracts are open-source and permissively licensed, allowing for community review and contribution.
Governance Token
The Creek Protocol governance is powered by the CREEK token, which grants holders the right to propose and vote on protocol changes. CREEK tokens represent voting rights in the protocol's decision-making process.
Proposal Lifecycle
Creation: Proposal submitted by eligible CREEK stakers
Delay Period: 2-day review period before voting begins
Voting Phase: 5-day period for token holders to cast votes
Execution Delay: 2-day timelock before implementation
Execution: Successful proposals implemented on-chain
Expiration: 30-day window for execution before proposal expires
Staking Tokens in Insurance Fund
Overview
Before participating in governance, users must stake their CREEK tokens into the Protocol Insurance Fund. This dual-purpose staking mechanism:
Establishes voting power proportional to staked amount
Strengthens the protocol's financial backstop against market volatility
Aligns governance participants with protocol security
Provides additional yield from Insurance Fund operations
Staking in the Insurance Fund demonstrates commitment to both protocol governance and security. Stakers receive voting rights while simultaneously contributing to systemic risk reduction.
How to Stake in Insurance Fund
Stake All Tokens:
Use the
stakeToInsuranceFund
function to deposit all your approved tokensFunction:
stakeToInsuranceFund(delegate_address)
The
delegate_address
can be your own address or another user's address
Stake Specific Amount:
Use the
stakeAmountToInsuranceFund
function for partial delegationFunction:
stakeAmountToInsuranceFund(delegate_address, amount)
Amount specified in token units with 18 decimals
Unstake Tokens:
Use the
unstakeFromInsuranceFund
function to withdraw tokensFunction:
unstakeFromInsuranceFund(amount)
Note: Unstaking during active votes maintains your voting power until voting concludes
Standard 3-day cooldown period applies for withdrawals
Staking Rewards and Risks
Rewards: Insurance Fund stakers earn:
Base yield from 15% of protocol revenue allocated to Insurance Fund
Additional yield from protocol-executed liquidation fees
Governance voting rights proportional to staked amount
Risks: In extreme market conditions:
Up to 20% of staked value may be utilized for system stability
Loss distribution occurs pro-rata among stakers
Recovery rights apply to any future system surplus
Creating a Proposal
Eligibility Requirements
To create a proposal, you must meet the following criteria:
Minimum 50,000 CREEK tokens staked in Insurance Fund
Tokens must be staked for at least 3 days prior to proposal submission
Proposal Types
Proposals can target various aspects of the protocol:
Parameter modifications (e.g., stability fees, collateralization ratios)
Protocol upgrades and technical improvements
Treasury and Insurance Fund utilization
Integration with external protocols
Emergency responses to market conditions
How to Create a Proposal
Propose:
Use the
propose
function to submit actions for executionFunction:
propose(actions)
Actions must be formatted as executable contract calls
Describe:
Provide comprehensive proposal details
Function:
describe(proposal_id, description)
Description should include rationale, expected impact, and implementation details
Combined Function:
For convenience, use the combined function
Function:
propose_and_describe(actions, description)
Recommended Process:
Draft proposal on Creek forum for community feedback
Refine based on community input
Submit final on-chain proposal with detailed documentation
Voting on Proposals
Voting Mechanism
Creek implements a simple majority voting system with quorum requirements:
Each CREEK token staked in the Insurance Fund equals one vote
Votes can be cast as "For" or "Against"
Votes are weighted according to the time-weighted average of staked tokens
Abstentions are not counted toward quorum
How to Vote
Vote For or Against:
Use the
vote
function to cast your voteFunction:
vote(proposal_id, for_vote)
Parameter
for_vote
is set totrue
for "For" andfalse
for "Against"
Check Voting Status:
View real-time voting metrics
Function:
get_proposal_stats(proposal_id)
Returns current vote counts, quorum status, and time remaining
Voting Weight Calculation
Voting weight is calculated using a 2-day smoothing period to prevent flash loan attacks:
voting_weight = average(staked_tokens) over voting_weight_smoothing_period
Cancelling a Proposal
Proposers may cancel their proposals before the voting period begins if errors are identified or circumstances change.
How to Cancel a Proposal
Use the
cancel
function as the original proposerFunction:
cancel(proposal_id)
Cancellation is only possible during the delay period
Executing a Proposal
Successful proposals enter an execution phase after passing the vote and timelock period.
Execution Requirements
For a proposal to be eligible for execution:
Quorum of at least 2,000,000 CREEK tokens must be reached
Simple majority (>50%) of votes must be "For"
Execution delay period must have passed
Execution must occur within the execution window
How to Execute a Proposal
Any address can trigger execution once conditions are met
Function:
execute(proposal_id, actions)
Actions must match those specified in the original proposal
Governance Parameters
The following parameters define Creek's governance process:
Proposal Creation Threshold: 50,000 CREEK tokens
Voting Start Delay: 2 days (172,800 seconds)
Voting Period: 5 days (432,000 seconds)
Voting Weight Smoothing Period: 2 days (172,800 seconds)
Quorum Requirement: 2,000,000 CREEK tokens (2% of supply)
Execution Delay: 2 days (172,800 seconds)
Execution Window: 30 days (2,592,000 seconds)
Emergency Governance
For critical security issues or extreme market events, Creek incorporates a tiered emergency response system:
Guardian Multisig
A 5-of-7 multisig can enact temporary emergency measures:
Pause specific protocol functions
Adjust critical risk parameters
Implement emergency oracle fallbacks
Duration limited to 72 hours before regular governance confirmation
Recovery Mode
Automatically activated under extreme conditions:
System-wide collateralization ratio falls below 150%
Gold price drops more than 20% in 24 hours
Multiple oracle failures detected
During Recovery Mode:
Minting restricted to higher collateralization ratios
Liquidation thresholds adjusted
Regular governance required to exit Recovery Mode
Governance Roadmap
Creek Protocol follows a progressive decentralization approach:
Initial Phase (Current): Core parameters governed by token holders
Expansion Phase: Governance control over all protocol aspects
Full Decentralization: Complete protocol sovereignty by DAO
This governance structure ensures the Creek Protocol can respond effectively to changing market conditions while maintaining security and community participation in decision-making, while simultaneously strengthening the protocol's financial resilience through the integrated Insurance Fund staking model.
Last updated
Was this helpful?