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:
We’ll walk you through both options below, so you can choose the one that’s right for you.
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.
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.
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.”
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.
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.
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!
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.
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.
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.
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.
Go to the Sushiswap pools app in a new tab. Click “Connect Wallet” and choose “Wallet Connect.” Copy the Wallet Connect address.
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.”
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.
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.
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.
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.
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.
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!
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 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