Skip to Content
Stacks Pools

Governance

Learn who governs Zest Protocol concentrated liquidity pools, how a change is approved, and what governance can and cannot do to liquidity providers’ funds.

How Changes Are Made

Zest Protocol CLMM is governed by executor-dao, an ExecutorDAO contract. Every change is a proposal: a small contract that the DAO executes with its own authority. Proposals are approved by the operators contract, an m-of-n multisig, which is the DAO’s only extension. On mainnet it has three operators, and any two of them can approve a proposal.

  1. A proposal contract is deployed.
  2. Operators approve it by calling approve on the operators contract.
  3. The approval that reaches the threshold executes the proposal through the DAO, in the same transaction.

Approvals expire 241,920 Stacks blocks after the first one, about two weeks. Any change to the signer set or the threshold starts a new epoch and voids every pending approval, so a removed operator’s vote can never count. The operators and threshold themselves are changed by proposal.

There is no timelock: a proposal takes effect as soon as it reaches the threshold. Every proposal prints an on-chain event when it executes, and so does every pool listing, fee change, pause and partner discount, so anyone can follow what governance does.

What Governance Can Do

ActionFunctionEffect
List a public poolcreate-poolOpens a pool for a token pair and bin step
List a private poolcreate-private-poolOpens a pool with one named depositor
Reassign a private poolset-pool-depositorNames a new depositor; the old one keeps its shares and can withdraw
Set feesupdate-pool-feeChanges a pool’s fee rates (at most 10%) and LP fee share
Give a partner discountset-fee-discountLowers a public pool’s fees for one address
Pause or sunset a poolset-pool-statusStops swaps and deposits, or deposits only
Register a native STX tokenset-native-stx-tokenMarks a token whose transfer moves native STX; only before it is listed
Claim protocol feesclaim-feesPays a pool’s accrued protocol fees to a recipient
Manage LP token metadataclmm-lp-token-v1Sets the metadata URI, and whether shares can be transferred

Liquidity Vaults

Governance sets up each Liquidity Vault, and can replace its manager or change its manager fee. Governance cannot move a Liquidity Vault’s tokens, change who owns the Liquidity Vault or block the provider’s withdrawals.

What Governance Cannot Do

Governance cannot touch liquidity providers' shares or block their withdrawals.
  • Move, mint or burn LP shares. Shares are minted and burned only by the pool, in deposits and withdrawals, and move only when their owner sends them.
  • Block withdrawals. Withdrawals work in every pool state, and nothing governance can set stops them, including turning LP transfers off.
  • Touch bin reserves. Only swaps, deposits and withdrawals change a bin’s reserves. Protocol fees are kept apart from the reserves, and claim-fees can pay out only those.
  • Change a listed token’s transfer path. A token’s native STX flag is fixed once a pool uses it.
  • Upgrade the contracts. The contracts have no proxy and no upgrade hook. A new version is a new set of contracts, and liquidity moves only when each provider withdraws and redeposits.
Last updated on