How to Create a DAO-owned Liquidity Pool

Liquidity pools make it possible for anyone to buy your token on the open market. Without a liquidity pool, your token is only accessible if a governance proposal to mint tokens to your wallet passes. 

When your token is available to be purchased by anyone, that means that anyone can influence your governance. Keep this in mind when considering whether to create a liquidity pool or not. 

There are two ways to create a liquidity pool for your DAO governance token:

  1. A trusted external wallet creates the liquidity pool, and the DAO deposits the majority of the liquidity (easier, but introduces trust assumptions that token holders may not prefer).
  2. Create a proposal from your DAO to create a liquidity pool, and the action is executed through the governance process (more complicated, but no trust assumptions, which token holders may like better). 

We’ll walk you through both options below, so you can choose the one that’s right for you. 

Create a liquidity pool using an external wallet 

This option comes with the most trust assumptions, because token holders need to trust the wallet that is creating the pool. One way to reduce trust assumptions is if the DAO deposits the majority of the tokens in the liquidity pool, so the position cannot be closed without a vote. If the entire liquidity pool is controlled by a single wallet, it could be easily rugged. 

1. Acquire two tokens: your governance token and the pair you choose

The wallet you use to create the liquidity pool needs to hold the two type of tokens you want to have in the pool. In this example we’ll pair our governance token with MATIC on Polygon, but you could use another token such as a stablecoin or ETH. 

If you need more governance tokens, you can mint them to your wallet by creating and passing a proposal to mint new tokens

2. Open Uniswap (or the platform of your choice), select “Pools” and “New Position.” 

We’re using Uniswap here, but you can use Curve, Balancer, Sushiswap, or other platforms to create your liquidity pool. 

If you’re using Uniswap, click “Pools” in the top navigation bar and select “New position.”

3. Choose the pair and set the parameters

Paste in your DAO governance token’s contract address, which you can get by going to the Settings page on the Aragon App and scrolling down to “token.” Or, you can open your wallet and view the asset in a block explorer. 

Then, set a fee tier and price range. 

4. Choose the amount to deposit 

Choose the amount of governance token and its pair that you want to put in the pool. 

Warning! Ensure there are enough tokens out of the liquidity pool in external wallets to pass a proposal. Tokens in the liquidity pool or the DAO treasury cannot vote. If you don’t have enough tokens in external wallets to participate in votes, you won’t be able to reach minimum participation rate to pass a proposal and your DAO will not be able to function anymore. 

When you have chosen the deposit amounts, approve the token by signing a transaction.

5. Click “Preview” and “Add,” which will prompt you to sign a transaction

Check over the liquidity pool preview to make sure everything looks good. Then, click “Add” and sign a transaction. This will create the liquidity pool!

6. Your DAO or other external wallets can provide liquidity to make the pool more efficient

Now that your liquidity pool has been created, you can tell other DAO members to also provide liquidity for the token, so it’s easier for people to buy and sell it on the open market. Liquidity providers earn fees on swaps in the pool.

If you need more governance tokens to provide liquidity, you can create and pass a proposal in your DAO to mint more tokens to your wallet.

To reduce trust assumptions, your DAO can deposit in the liquidity pool by passing a proposal. You will need to pass a proposal to approve the token you’re depositing, then another to initiate the actual deposit. While this takes more steps, it significantly reduces the amount of trust you need to put in the wallet that created the pool. 

To approve the second action, you may need to restart the proposal process. This is because the platform you’re creating a liquidity pool on might not receive the action if you have not restarted it. 

Create a liquidity pool directly from your DAO 

This option has the fewest trust assumptions, because you don’t need to trust an external wallet to handle the transactions for you. However it does require extra governance steps. In this example, we’ll use Sushiswap

1. Deposit both USDC and your governance token to your DAO treasury 

First, deposit both of the tokens you want to use in your liquidity pool. For example, you could use USDC and the DAO governance token. You can do this by selecting “Deposit Funds,” copying the DAO’s contract address, and sending a transfer from your wallet. 

Alternatively, for adding governance tokens to the treasury, you could create and pass a proposal to mint new tokens to the DAO treasury. 

Warning: it is NOT possible to vote with DAO tokens which are sent to the DAO treasury, or are added to a liquidity pool. So keep in mind that at all times enough DAO tokens are available  in external wallets to reach the Minimum Participation for proposals in your DAO. You can find the minimum participation rate in the “settings” tab in the Aragon App. 

2. Create a new proposal and add the dApp Connect action

Create a title and description for your proposal. Then initiate the vote by choosing a start date and time duration. 

Click “Next” then  “Add Action” and “Connect dApp.” You’ll see a box to paste a wallet address in. 

3. Open the Sushiswap app in a new tab and copy the wallet connect address

Go to the Sushiswap pools app in a new tab. Click “Connect Wallet” and choose “Wallet Connect.” Copy the Wallet Connect address. 

4. Create the connection in the Aragon App

Go back to the Aragon App and paste in the address. 

When the connection is established, go back to Sushiswap. You’ll see your DAO address in the top right corner acting as your “wallet.” 

5. Choose the pair and set the parameters

Create a new V3 position. Select the network your DAO is deployed on. Then, choose the two tokens you want to add to the pool—we’ll use MATIC and the DAO’s governance token. To get your governance token’s contract address, you can go to the Settings page on the Aragon App and scroll down to “Token,” or open your wallet and and choose to view the token in a block explorer. 

Next, set your fee tier and range for your liquidity pool. We’ll set a 1% fee and a range of x/1.2. We’ll also set a start price of 1. 

6. Provide liquidity

Now, set the number of tokens you want to provide as liquidity in the pool. 

When you click to approve the token, you’ll notice that you don’t get a prompt like you would normally with a wallet. That’s because the action is being added to your DAO proposal, and you need to go back to the Aragon App to approve it. 

7. Approve on the Aragon App

Go back to the tab with the Aragon App, where you should see an action received. Click “Add 1 Action” to add it to your proposal.

8. Publish your proposal

Now that you have the Sushiswap action added, you can publish your proposal onchain. The actions automatically populate, so you don’t need to add anything else.

Publish your proposal by signing a transaction. Once it’s live, remind DAO members to vote. 

9. If the proposal passes, execute the action

If the proposal is passed, the action can be executed by any wallet. 

Now that the first token is approved, we have two more actions to add and pass: approving the second token and creating the liquidity pool. 

10. Repeat steps 7 - 9 for the additional two actions required for creating the liquidity pool.

To approve the second action, you may need to restart the proposal process. This is because the platform you’re creating a liquidity pool on might not receive the action if you have not restarted it. 

Go back to Sushiswap and approve the next token. Then, go through steps 7-9 again of approving the action, publishing a proposal, passing a proposal, and executing the action. 

The final action to approve is adding liquidity. Once that has been passed and executed, your token’s liquidity pool is live!

11. Other external wallets can provide liquidity to make the pool more efficient

Now that your liquidity pool is live, share the details with others so they can provide liquidity, too. Increased liquidity makes your pool more efficient and reduces slippage when trading. 

Launch your DAO or multisig on the Aragon App and access web3 apps

Launch your DAO and governance token on the Aragon App today and use it to interact with dApps across the ecosystem! 

-

Aragon has been building onchain governance infrastructure for over 7 years, with its tech securing billions of assets. Govern your protocol onchain with Aragon OSx: the secure and modular DAO framework with customization built in. Or, launch a DAO in 10 minutes or less without writing any code on the Aragon App.

Developer Portal | Aragon App | Custom DAO Builds | Mirror | X | Newsletter

Discover the Aragon App, the no-code way to build your DAO.
Get help starting your DAO from a DAO Expert.
Stay up to date with our weekly newsletter.

Explore more guides

Need Help? Find an Expert
Hire the DAO expertise you need and connect with DAO experts to build your DAO, your way.