• © Goverland Inc. 2026
  • v1.0.1
  • Privacy Policy
  • Terms of Use
CoW DAOCoW DAOby0x6B809ef125e708702d33111C4b7Ee49460260DF70x6B80…0DF7

CIP-37: Increasing liquidity for the COW token via Programmatic Order Framework and FM-AMM

Voting ended almost 2 years agoSucceeded
CIP: 37
title: Increasing liquidity for the COW token via Programmatic Order Framework and FM-AMM
author: @AndreaC, @felixhenneke, @harisang
status: active
created: 2024-02-07

Simple summary

We propose that the DAO allocates 6M COW and 139 WETH to increase COW/WETH market liquidity. To avoid price impact, 2.5M COW will be slowly sold for WETH using a programmatic order. The WETH collected, plus 139 WETH already in the DAO treasury, together with the remaining COW will be used as liquidity in a Function Maximizing AMM (FM-AMM): a new type of AMM accessible only by solvers trading via the CoW Protocol settlement contract. Recent work of one of the authors shows that FM-AMM has unique benefits because it eliminates LVR (the excess profits arbitrageurs earn at the expense of LP in a regular AMM) and sandwich attacks, which are currently responsible for the vast majority of MEV on Ethereum. From the DAO’s viewpoint, contributing liquidity to an FM-AMM is equivalent to running a passive investment strategy, which can be helpful for treasury management.

Motivation

The lack of liquidity in the markets for COW deters potential investors, who may be concerned about price volatility and price impact if they need to sell their COW. To address this concern, we propose to:

  • use the programmatic order framework to slowly sell COW for WETH at market price
  • use the WETH acquired together with additional COW to seed a function maximizing AMM (or FM-AMM, see research paper ), which will then continuously supply liquidity to the COW/WETH market.

According to the cited research, contributing liquidity to an FM-AMM is equivalent to running a passive investment strategy: an FM-AMM automatically trades to allocate half of the portfolio’s value to each asset (any other sharing rule can also be implemented). Passive investment strategies are the most common strategy to reduce risks and are the dominant way to invest in traditional financial assets. For example, more than 50% of US shares are held by ETFs implementing passive investment strategies. Therefore, an additional benefit of this scheme is that it introduces an automatic treasury management solution for the CoW DAO. Finally, if successful, the scheme can also serve as a template for other DAOs that may need to provide liquidity for their token while automatically managing their treasury.

This proposal aims to test the mechanism at a reasonable scale. If the test is successful, additional funds might be requested to scale further.

Specification

We propose that the DAO allocates 6M COW to the Treasury Safe which will then be redirected to a dedicated Safe (“CoWAMM Safe”), together with 139 WETH from the wstETH / GNO pool (counteracted by raising validators with idle GNO that can increase yield).

Using a programmatic order, every day, the Funding Safe creates a market order to sell 20,000 COW for WETH on behalf of the DAO. The proceeds are forwarded to the safe charged with running the FM-AMM (“CoWAMM Safe”). As soon as the order is executed, 20,000 COW are also forwarded to the FM-AMM. The purpose of the programmatic order is to slowly increase the liquidity in the FM-AMM, so as to test its functioning. As soon as the FM-AMM is determined as sound (also depending on other factors such as the outcome of an audit), the DAO will transfer 139 WETH together with an amount of COW of equal value. Overall, we expect the programmatic order to sell around 2.5M COW over a period of 4 months.

FM-AMM will start contributing liquidity to the CoW Protocol batch auctions as soon as its TVL is sufficiently large. With respect to its technical implementation, initially, we plan to follow a prototype available here. In it, the smart contract pulls the price of COW from an oracle and then chooses the amount x of COW to sell by solving

max_x {(X-x)(Y+px)},

where p is the price of COW in ETH (from the oracle), and X and Y are the FM-AMM reserves in COW and WETH, respectively. The FM-AMM then creates a market order to sell x COW (or sell px WETH). Solver competition then determines the price at which this order is executed.

This implementation does not require any change for CoW Protocol or for solvers. However, it implicitly assumes that the liquidity in the FM-AMM is small relative to the market, and hence the oracle price is a good estimation of the price in the solver competition. But if the FM-AMM is large, then its decision to trade will have an impact on the COW price. Hence, the price before FM-AMM trades (as determined by the oracle) may be very different from the price determined contextually to FM-AMM trading (as determined in the solvers’ competition).

A more sophisticated implementation can eliminate the dependency on the oracle, by asking solvers to propose a sell amount x and a buy amount y (both of which can be negative) for FM-AMM. The winning solver is the one providing more surplus to the FM-AMM, where surplus here is calculated as:

(X-x)(Y+y) - XY.

We note that already now, certain order types require solvers to specify both sell and buy amounts (e.g., partially fillable limit orders). Hence, the above implementation differs from the already supported order types primarily in the way surplus is calculated. We believe it can be easily included in our current infrastructure, but the exact details will be determined at a later stage.

Transaction

  • Transfer 6M COW from CoW DAO (eth:0xcA771eda0c70aA7d053aB1B25004559B918FE662) to the Treasury Safe (eth:0x616dE58c011F8736fa20c7Ae5352F7f6FB9F0669)
  • Mandate the Core team to launch two Safes, owned by the CoW DAO Safe and Treasury Safe with a threshold of 1/2,
    • Funding Safe
    • CoWAMM Safe
  • Mandate the Treasury team to redirect 139 WETH and the equivalent in COW from the DAO treasury positions to the CoWAMM Safe, in a maximum of two months.

Off-Chain Vote

For
60.77M vCOW99.4%
Against
390.35K vCOW0.6%
Abstain
3.38K vCOW0%
Quorum:175%
Download mobile app to vote

Discussion

CoW DAOCIP-37: Increasing liquidity for the COW token via Programmatic Order Framework and FM-AMM

Timeline

Feb 07, 2024Proposal created
Feb 07, 2024Proposal vote started
Feb 14, 2024Proposal vote ended
Feb 14, 2024Proposal updated