# Introduction

*Gardens is a bottom-up governance framework for web3 ecosystems. We provide coordination infrastructure and funding mechanisms that help grow networks of public goods, run by the individuals and communities that understand them best.*&#x20;

Our emphasis is on a community experience that’s healthy, fun, intuitive, secure, and open.

All of our code is open-source. Always has been and always will be.  🌱

### Our Mission

Our goal is to increase the ROI for expenditures on non-private goods.

Tragically, many of our world’s most valuable resources aren’t naturally suited for private-ownership business models. Instead, we rely on governments and nonprofits - and too often these fall short.

Our public goods are catastrophically underfunded and mismanaged as a result.

Enter cryptocurrency - a sandbox for new economic and governance models, and our technology of choice in taking on this challenge.

Our approach at Gardens is to give organizations streamlined access to cutting edge coordination mechanisms. Our initial focus is on Conviction Voting, Quadratic Voting, and Streaming Proposals, which communities can use to make decisions or invest their treasuries in any combination of instances.

### Jump right in

<table data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Ecosystems</strong></td><td></td><td></td><td><a href="/files/AjGSwERizMa7M0udc0EA">/files/AjGSwERizMa7M0udc0EA</a></td><td></td><td><a href="/pages/cEHgDv7NGBquDGHeLyQ4">/pages/cEHgDv7NGBquDGHeLyQ4</a></td></tr><tr><td><strong>Communities</strong></td><td></td><td></td><td><a href="/files/MSa24RVdz49X7YBOTaZm">/files/MSa24RVdz49X7YBOTaZm</a></td><td></td><td><a href="/pages/ZXxfwYY21Yz9PCv9X7ja">/pages/ZXxfwYY21Yz9PCv9X7ja</a></td></tr><tr><td><strong>Pools</strong></td><td></td><td></td><td><a href="/files/SdPaDKIKifbvNn0jWHM0">/files/SdPaDKIKifbvNn0jWHM0</a></td><td></td><td><a href="/pages/QwHFLVleY7QejI9V4gc3">/pages/QwHFLVleY7QejI9V4gc3</a></td></tr></tbody></table>

{% hint style="info" %}
**Work in Progress.** Our documentation is a rapidly improving work in progress. If you have questions or feel like something is missing, feel free to ask on [Discord](https://discord.com/invite/C4jhEYkqTv) where we (and our wonderful community) are actively responding
{% endhint %}


# Covenant: A first look

To encode values

The keystone of Gardens v2 infrastructure is the Community Covenant, which serves to:

1. Encode a community’s values / mission in an onchain social contract
2. Enforce that Covenant in the community’s funding and decision-sourcing smart contracts.
3. Allow people to signal support for a community by staking tokens in the Covenant.&#x20;

The Covenant is the North Star for Gardens communities, guiding members towards a shared vision that they collectively create.&#x20;

{% hint style="info" %}
Want to learn about writing a good covenant from scratch? Head to the [writing](/the-covenant/publish-your-docs) a good covenant section to learn more.
{% endhint %}

###


# Writing a good Covenant

We recommend the CommunityRule as a template for organizing your community leadership and creating a Covenant:&#x20;

{% embed url="<https://communityrule.info>" %}


# Ecosystems

In Gardens, ecosystems represent the broad, overarching domains where various communities operate. Each ecosystem is permissionless, meaning any ERC-20 token can establish one, allowing for a wide range of governance and resource management activities.&#x20;

Ecosystems are decentralized, with no inherent management rights over the communities that exist within them, fostering a diverse and autonomous environment.

<figure><img src="/files/AjGSwERizMa7M0udc0EA" alt=""><figcaption><p>Check out the Seedling and Mock Token (test) ecosystem in action!</p></figcaption></figure>

###


# Communities

Planting the seeds for public economy

Communities in Gardens are formed under ecosystems and are managed by a Covenant along with a Council Safe. These communities are also permissionless, allowing anyone to create them within the ecosystem.&#x20;

The governance within a community can be centralized, where the Council Safe has the authority to manage settings and oversee the community’s activities, ensuring adherence to agreed-upon rules and standards.

### Covenant

The Covenant is a foundational agreement that governs the operations and decision-making processes within a Community. It outlines the rules and responsibilities of participants, ensuring that all actions align with the community's values and objectives.&#x20;

{% content-ref url="/pages/Zvukm7MAGL6ooitMTmpY" %}
[The Covenant](/the-covenant/quickstart)
{% endcontent-ref %}

### Council Safe

The purpose of the Council Safe is to manage the settings of Pools and the community as a whole. Basically, the Council Safe is a Safe that exclusively manages a Community and has the power to establish a Community Covenant, initiate Conviction Voting modules (including funding and signaling pools), update pool parameters, collect revenue from members via a Community Fee, and boot members with malicious intentions from the Community.

* It allows council members to manage and allocate resources effectively while maintaining transparency and accountability to the community.

### Tribunal

The Tribunal serves as a dispute resolution body within a Community, addressing conflicts and ensuring fair governance. Members can submit grievances, and the Tribunal will adjudicate based on established guidelines, promoting a harmonious community environment.&#x20;

Specifically, communities select a Safe address for arbitration on funding and signaling proposals and any community member can dispute a proposal if they think it violates the Community Covenant, and the Tribunal Safe then rules on whether to remove the proposal.

&#x20;Securing pools with arbitration allows them to be open and permissionless in communities while protecting the community from abuse.&#x20;

* **Gardens Tribunal as a service:** provides external governance support to other projects or communities seeking to implement a structured dispute resolution system. This service leverages the expertise of existing Gardens to enhance governance frameworks elsewhere.

### Registration Stake

Refers to the registration cost of any user to join a Community. This requirement helps ensure that participants have a vested interest in the community's success and decision-making processes.

### Community Fee & Protocol Fee

You will find 2 different types of fees in Gardens v2: Community and Protocol Fees.&#x20;

* **Community Fees** are optionally set by the Council Safe of a community along with a beneficiary address, and are paid by their members on registration.&#x20;
* **Protocol Fees** (is a % of the community fee) go to the Gardens platform and are also paid by users when joining a community. Beekeeper and Protopian NFTs don't affect a Gardens community's ability to collect Community Fees.


# Updating a Community

### Modifiable Community Parameters

Several key parameters of the community can be modified to suit evolving needs. These parameters fall into two categories: **standard modifications** and **special requirements**.

### Key Modifiable Parameters:

* **Community Name**: Update the name that represents the community.
* **Community Fee**: Modify the fee structure that members must contribute.
* **Fee Receiver**: Change the wallet or entity that receives the community fees.
* **Council Safe**: The secure entity responsible for governance and major decisions.

### Special Requirements for Modification:

Some parameters require the community to have **no active members** at the time of modification. This restriction is in place to ensure that these critical changes are implemented without disrupting member activities or governance. The parameters with this requirement are:

* **Register Stake Amount**: The amount required for new members to register.
* **Allow Kicking Members (Kick Enabled)**: Enabling or disabling the option to remove members.
* **Covenant**: The community’s rules and agreements that guide its operations.

***

#### How to Modify the Council Safe

The **Council Safe** can be updated through the Community Parameters page. Here’s the process:

1. **Initiation**: The change must be initiated by the current Council Safe.
2. **Confirmation**: The new Council Safe must confirm this change by connecting to the Gardens page and accepting the new role.


# Pools

Pools are the functional units within communities where resources are managed and allocated based on community decisions. Pools are permissioned, meaning only the Council Safe can approve the creation of new Pools, ensuring a controlled environment for resource distribution. They form the foundation for the implementation of various strategies, such as Conviction Voting.

### Pool systems:

### Fixed&#x20;

In a fixed points system, each member is allocated an equal number of points that remain constant over time. This model provides predictability in governance participation but may limit flexibility and responsiveness to community dynamics.&#x20;

### Capped&#x20;

Impose a maximum limit on the number of points a member can accumulate or use. This approach encourages participation while preventing any single member from dominating the decision-making process, promoting a more equitable governance structure.&#x20;

### Unlimited

&#x20;Allows members to accumulate and use as many points as they earn without restrictions. This model incentivizes active participation and engagement but may lead to imbalances if a few members accumulate excessive influence.&#x20;

### Quadratic

The influence of points grows at a diminishing rate. This means that while members can increase their voting power by accumulating points, the additional influence gained from each new point decreases. This system encourages broader participation and prevents a concentration of power among a few members, promoting a more democratic governance process.

### Pool Types:

<table data-card-size="large" data-view="cards"><thead><tr><th></th><th></th><th></th><th data-hidden data-card-cover data-type="files"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td></td><td>Funding Pool</td><td></td><td><a href="/files/6aP1vanU14W5yB1nFnuW">/files/6aP1vanU14W5yB1nFnuW</a></td><td><a href="/pages/BJrhsq5o1k5zYQI1BUXf">/pages/BJrhsq5o1k5zYQI1BUXf</a></td></tr><tr><td></td><td>Signaling Pool</td><td></td><td><a href="/files/uW1wLg69KaV00905Hjc6">/files/uW1wLg69KaV00905Hjc6</a></td><td><a href="/pages/9xTjKXuUukPwCThI5kuk">/pages/9xTjKXuUukPwCThI5kuk</a></td></tr></tbody></table>


# Funding Pools

In Gardens v2, Funding pools are designed to receive proposals for funding community projects. Members can allocate a portion of their pool voting power to support proposals based on their conviction in their merits and potential impact.&#x20;

The level of support a proposal receives influences its likelihood of approval. Members can manage their support by adjusting the percentage of their staked tokens allocated to each proposal, aligning their voting power with their priorities.&#x20;

Each funding proposal has an execution threshold based on the requested amount relative to the total funds available in the  pool. Higher funding requests require greater community backing to secure approval. If a proposal meets this threshold, the execute function is ready to be trigger. When execution happends, requested  funds are allocated to the beneficiary, enabling the project to move forward and fostering a collaborative environment for community participation.


# Signaling Pools

Signaling Pools are another type of pool in Gardens v2 that are used for proposals related to changes or improvements within the community. When a proposal is submitted to a Signaling Pool, members can signal their agreement by allocating a portion of their staked tokens to support or oppose the proposal.

&#x20;The level of support in a Signaling Pool serves as a gauge of the community's sentiment, helping to inform decision-making and guide future discussions. By participating in Signaling Pools, members can actively shape the direction of the community and contribute to the ongoing evolution of the community.&#x20;

The conviction-based voting system allows members to have a meaningful impact on the proposals that matter most to them.


# Proposals

Pitch Your Ideas and Gather Community Support!

<figure><img src="/files/sXiq1IHyq3EGX3utPJwp" alt=""><figcaption><p>A few proposals have gained support, and one’s already executed and funded!</p></figcaption></figure>

> Have an idea to improve your community but need funds to make it happen? Create a [Funding Proposal](/proposals/funding-proposals)

> Or do you have a suggestion and want to see what the community thinks about it? Create a [Signaling Proposal](/proposals/signaling-proposals)


# Conviction 101

Conviction Voting is a disputable, time-weighted voting mechanism where proposal support grows in strength the longer it's allocated (and shrinks over time if support is removed).&#x20;

It encourages ongoing participation, favoring consistent, long-term ideas and contributors, and it protects communities from short-term manipulation and abuse.

The mechanism was first conceived by BlockScience in 2019: <https://github.com/BlockScience/conviction>

### Terms to Know

* **Support:** the total voting weight allocated to a proposal.&#x20;
* **Conviction:** accumulates over time based on both the level of support on a proposal and the duration defined by the Conviction Growth parameter.
* **Parameters:** functions that can be customized in a Pool that determine how conviction and threshold are calculated.
* **Threshold:** in a Funding Pool, the level of conviction where funding can be executed
* **Pool:** A Conviction Voting module in a Community.


# Conviction Pool Types

There are different Pool Types that can be set up in a community to meet the need for different applications of Conviction Voting.

### Funding

Funding Pools are linked to a pool of tokens, which can be requested in discrete amounts in a Proposal. If a Proposal reaches a required conviction threshold - calculated by its support and the Pool's parameters - anyone can execute the proposal and distribute funds to the recipient.

The more funds requested in a proposal, the more conviction needed for the Proposal to pass.

### Signaling

Signaling Pools do not link Proposals to any executable onchain actions. Proposals simply accumulate conviction, which the community can see and use to make decisions, or optionally set up their own onchain executable action with another smart contract.

### Streaming (coming soon)

Streaming Pools link Proposals to a pool of tokens that are streamed to beneficiaries using Superfluid. More conviction on a proposal = more tokens streamed to the beneficiary.  A conviction threshold parameter decides a minimum amount of conviction for the stream to begin.


# Conviction Parameters

Conviction Voting allows proposals to be evaluated continuously and concurrently. Participants can express their preferences for the proposals they support, and their support accumulates over time. Any actions connected to a Conviction Voting Pool - like a funding distribution - are only executable when Conviction reaches a calculated threshold.

### Conviction growth

**Pool Types = Funding, Signaling, Streaming**

Determines the rate at which a proposal accumulates conviction.&#x20;

A higher value for Conviction Growth means proposals will take longer to accumulate strength based on their support. This parameter is logarithmic and represents its "half-life," or the amount of time for conviction to reach 50% of its support.\
\
Example:&#x20;

* Conviction Growth = 7 days.
* Alice has 10% of a Pool's voting weight, and supports Proposal B with all of her voting weight. After leaving her support allocated for 14 days, conviction on Proposal B is 7.5%, or 2 half-lifes.

### Minimum Conviction

**Pool Types = Funding, Streaming**

In a Funding Pool, minimum conviction is the minimum voting weight needed for a proposal to pass. This parameter is defined as a percentage of total voting weight in a pool, and sets the amount of conviction needed for the smallest possible funding proposal (i.e. 0 tokens) to pass.

In a Streaming Pool, minimum conviction is the percentage of voting weight needed for the tokens to begin streaming.

### Spending Limit

**Pool Types = Funding**

The spending limit caps the number of tokens that can be requested in a single proposal. This parameter is defined as a percentage of tokens in the funding pool, and sets the amount of tokens requested where the proposal cannot be passed because 100% of the Pool's voting weight would need to accumulate conviction.

### Fixed Minimum Threshold

**Pool Types = Funding**

This threshold is a fixed value representing the minimum voting weight that conviction must reach for a proposal to pass.&#x20;

This parameter overrides the Minimum Conviction parameter when its value is greater, and is a safeguard for newly created Pools or Pools that for any other reason do not have enough voting weight activated for funds to be considered secure.


# Conviction Metrics

CV charts are graphical representations of the allocated pool weight and the accumulated conviction associated with that allocation.&#x20;

The funding pool includes a threshold goal.

<div align="left"><figure><img src="/files/fJMVaQlMZFHdwRlbHI0a" alt=""><figcaption><p>The proposal has passed the support threshold requirement and conviction is growing. Once conviction reaches the 2.96 threshold, the proposal will be ready to be executed !</p></figcaption></figure></div>


# Join a community

Registration Stake

Joining a Community enables individuals to participate in the governance and activities of an existing Community. Members can contribute their insights, vote on proposals, and collaborate with others to achieve shared objectives.


# Increase Stake

Increase your stake in the community to gain more voting power. (optional)

You can change your stake in the community by adjusting the amount of tokens  you have staked. This action can increase your influence in governance decisions, reflecting your level of commitment to the community.&#x20;

Member voting power per pool is determined by:

User's total stake ([Registration](/start-here/join-a-community) + additional stake if any)  **+** [Pool system](/coordination-hierarchy/images-and-media) (pool type).

{% hint style="info" %}
&#x20;Member voting power varies based on pool system. See more details [here](/coordination-hierarchy/images-and-media#pool-systems)
{% endhint %}


# Activate Governance

Activating or Deactivating Governance enables community members to turn governance features on or off for each pool, affecting their ability to support proposals.

{% hint style="danger" %}
Please be cautious when deactivating your governance. If you've allocated or supported proposals, deactivating will remove all your support from those proposals.
{% endhint %}


# Voting Power

**Community members can strategically allocate their voting power based on the importance and impact of each proposal, ensuring their support reflects their priorities and preferences.**

When managing your support, you’ll see 2 key values:

* **Voting power:** Represents your influence within a specific pool. It’s determined by the number of tokens you’ve staked and the pool’s voting system.
* **Voting power used:** Shows how much of your total power is currently allocated to proposals.

### Voting Power & Pool Weight

You can think of them as similar concepts, but they’re not exactly the same.\
Each **pool** always has a total **pool weight** of 100%, which represents the full voting capacity available within a pool.

Your **voting power** is the share of that total weight you personally hold — a percentage of the pool’s 100%. This determines how much influence you have when supporting proposals within that specific pool.

### What You Can Do with Your Voting Power ?

As a community member, you can:

* **Support proposals** you believe in by allocating part of your voting power.
* **Adjust your allocations** at any time to reflect your changing priorities.
* **Diversify your support** across multiple proposals or focus it on the ones you value most.
* **Monitor progress** to see how proposals are to reaching their thresholds.

{% content-ref url="/pages/xk2c6QoPyi9XiCmb8EM6" %}
[Why Your Voting Power Changes](/start-here/voting-power/why-your-voting-power-changes)
{% endcontent-ref %}


# Why Your Voting Power Changes

Here are the main reasons why its value may vary:

* **New members joining and activating governance in the pool:**\
  As more members participate, the pool’s total voting  distribution expands. Your share of that total (your percentage) may decrease, even if your token balance stays the same.
* **Changes in your community staked tokens:**\
  If you stake more tokens in the community, your voting power increases in pools that are **dynamic-based, like Unlimited or Quadratic systems**

***

* **Fixed pools (Fixed):**\
  In fixed pools, every member has the same voting power, meaning changes in total community stake don’t affect.
* **Dynamic pools (Unlimited or Quadratic):**\
  In dynamic pools, your voting power adjusts based on how much you’ve staked compared to other members.

Your voting power represents your share of influence — and just like the community itself, it evolves as participation and stakes change.


# Dispute

Once you clearly identify a proposal that is in disagreement with the Covenant you can dispute that proposal, submitting a dispute notice through the platform.&#x20;

To submit a dispute, a collateral is required, similar to the collateral needed when creating a proposal. Once the dispute is submitted, the [**Tribunal**](/coordination-hierarchy/markdown#tribunal) has one week to review the case and reach a decision.&#x20;

The possible outcomes of this process are either approval or rejection of the dispute. It is important to note that if the dispute is ultimately lost, the collateral submitted will be forfeited.


# Create a Community

Creating a Community involves establishing a new Community where members can govern collectively. The main purpose is to establish a community covenant, set a registration fee, and determine any applicable community fees.


# Create a Pool

Creating a Pool allows members to aggregate resources for specific purposes. In Gardens v2, there are two types of pools: funding pools, which are used to finance community projects, and signaling pools, which gauge community sentiment on specific issues.&#x20;

This collective resource management enhances collaboration and enables more significant investments in community goals.&#x20;

Each pool created requires council review to be effectively launched.


# Create a Proposal

Creating a proposal is the process through which members can suggest changes or initiatives for the community to consider.&#x20;

Proposals are submitted for discussion and voting, allowing participants to actively shape the direction of the community. There are currently two types of proposals that affect distribution:&#x20;

[**Signaling proposals**](/proposals/signaling-proposals), which do not request tokens and [**Funding proposals**](/proposals/funding-proposals), which do. To create a proposal, members must provide collateral, serving two purposes: first, to prevent spam proposals, and second, to act as security in case of disputes.&#x20;

Once the proposal is executed, the collateral is returned to the member.


# Funding Proposals

Funding  proposals are designed to request financial support from the Community Pool for specific community projects or initiatives. When a member submits a funding proposal, it outlines the objectives, required resources, and expected outcomes of the project. The community then evaluates these proposals based on their potential impact and feasibility.&#x20;

Key characteristics of funding proposals include:

1. **Resource Allocation:** Funding proposals specify the amount of tokens needed from the  pool. The success of these proposals depends on community backing (Conviction), as members can allocate their voting power to support them.&#x20;
2. **Impact Assessment:** The proposals are assessed not only for their funding requirements but also for their potential benefits to the community, ensuring that resources are allocated effectively.

<figure><img src="/files/iuSi205lcO2QiEBTUyeD" alt=""><figcaption><p>A funding proposal requesting 1000 MTK token from the pool</p></figcaption></figure>


# Signaling Proposals

Signaling proposals are used to gauge community sentiment regarding changes or initiatives without requesting financial resources. These proposals allow members to express their opinions and preferences on various issues affecting the community. Key characteristics of signaling proposals include:&#x20;

**Expression of Conviction:** Members can allocate their staked tokens to signal support or opposition for a proposal. This mechanism helps the community understand the level of consensus or dissent regarding specific changes.&#x20;

**No Financial Request:** Unlike funding proposals, signaling proposals do not involve a request for tokens from the common pool. Instead, they focus on gathering feedback and guiding future discussions.&#x20;

**Influence on Decision-Making:** The outcomes of signaling proposals can influence the direction of future initiatives, as they reflect the community's collective priorities and concerns.


# Streaming Proposals

(coming soon)

Streaming Proposals are a more dynamic way of funding proposals, allowing for continuous funding rather than one-time allocations. This initiative encourages community members to participate in decision-making processes and helps ensure that resources are allocated to projects that align with the community's goals and values


