Prime’s Liquidity Pool Manager, or “LP Manager,” is its ecosystem’s first collective, co-governed decentralized liquidity instrument. This community held pool is a necessary primitive to achieve sustainable alignment and common monetary policy at the ecosystem level.
Balancer liquidity pools are a form of automated market maker protocol, or AMM. Unlike traditional order books, AMMs structure cryptocurrency exchange through permissionless algorithms. In liquidity pools, parties may stake liquidity in order to earn fees. They earn these fees because ultimately, the liquidity they provide facilitates the algorithmic exchange of assets by traders who use the pool.
In short, Balancer allows anyone to create liquidity pools consisting of three main elements:
Multiple tokens — the pool may have up to eight tokens, similar to an index fund.
Customizable weights — each token has a weight vis-à-vis the others. Smart pools work like a “smart” portfolio by automatically re-balancing themselves to maintain the determined token weight distribution as traders swap tokens.
A trading fee — liquidity providers who deposit liquidity receive a fee anytime a trader utilizes the pool, earning passive income.
The tripartite advantages of portfolio-like exposure to multiple tokens in different ratios, automatic readjustment, and fee generation, designates Balancer as a novel platform and powerful Open Finance (DeFi) primitive. By integrating governance functionalities to these Smart Pools, we achieve automated and adaptive economic management for Prime’s ecosystem. Collective co-governance of the pool allows Prime's REP holders to enact policies and set economic parameters that are equitable, aligned, and representative of the community’s preferences.
ConfigurableRightsPool.sol, the DAO is able to govern the following parameters for its pool:
setPublicSwap(bool publicSwap) — DAO can pause or unpause the pool
setSwapFee(uint swapFee) — DAO can set the pool’s swap fee
upDateWeight(address token, uint newWeight) — DAO can update the weight of a pool token individually.
updateWeightsGradually(uint newWeights, uint startBlock, uint endBlock) — DAO can transform all weights linearly to the new weights specified, setting the start and end blocks for the transformation.
commitAddToken(address token, uint balance, uint denormalizedWeight) — DAO can precommit a new token to be applied addTokenTimeLockInBlocks blocks in the future.
applyAddToken() — DAO can apply the token committed in the step above, and mint pool shares.
removeToken(address token) — DAO can remove an existing token and return the balance to the controller.
whitelistLiquidityProvider(address provider) — DAO can add an address, after which this address can join the pool.
removeWhitelistedLiquidityProvider(address provider)— DAO can remove an address, after which this address can no longer join a pool.
joinPool(uint poolAmountOut, uint maxAmountsIn) — DAO can add liquidity to the pool
exitPool(uint poolAmountIn, uint minAmountsOut) — DAO can withdraw liquidity to the pool
In addition, Prime's smart pools can be farmed for yield using an incentives contract, where PRIME rewards and voting power are allocated to liquidity providers who stake into the DAO-governed pools,
The true potential in smart pools is the promise of liquidity bridges between allied DAO communities.
With smart pools, DAOs can form a Liquidity Commons, cementing political-ecosystem alliances. DAOs can configure the weights of co-governed smart pools to align interests amongst themselves. By co-providing liquidity to a smart pool consisting of their respective tokens, a family of DAOs can establish mutual skin in the game. This integrates and aligns their ecosystems under shared incentives and a common monetary policy.
In an ecosystem with so many interoperable, co-dependent, and intersecting communities, we need bridges that guarantee sustainable alignment between different protocols and steer them towards shared goals. Smart pools are promising economic tools in this direction, further opening up and exploring the uncharted design space of DAO to DAO interactions.