We are very excited to share with the Solana community the launch of the Cyclos Devnet.
Cyclos is the first concentrated liquidity market maker on built on Solana. The aim of Cyclos from the beginning was always to create a trading product that maximizes capital efficiency by handing LPs the ability to let their assets go to work at the price intervals of their choice. Combining this functionality with the low gas fees on Solana, Cyclos breaks down barriers to earning trading fees and opens the door for asset holders of any size to benefit from market making.
Today, with the launch of the Devnet, we’re marking the first major milestone toward achieving this vision. And with that, we would like to unveil the Cyclos Devnet.
Please note, the first token pair we have enabled on Cyclos Devnet is USDC-USDT. We will progressively add more token pairs as our developer team continues to make improvements and expand the functions of the product.
Interacting with the Devnet: Swaps
When you first connect to Cyclos, you can select “faucet” at the top right and you will be granted 100 USDC and 100 USDT of devnet tokens in order to test out the protocol’s functions. You can always click again to get more devnet tokens, including SOL if you do not have any in your wallet.
How users interact with the Cyclos Devnet depends on their intent. Let’s begin with the obvious- swaps.
Let’s start off by connecting your wallet to the protocol by clicking “connect” on the top-right hand corner of the swap page. Once you click connect, you will be prompted to select from a list of Solana wallets in order to continue. In this example, we will be using Phantom wallet.
Once connected, you can now select the trading pair you would like to test and enter in an amount. In this example, we’ll swap 10 USDT for USDC. Once you’ve entered the amount, select “swap”
You will be prompted by your wallet to approve the transaction. Select “approve” and your transaction will be submitted to the devnet.
The updated balances of your devnet tokens in your wallet are now reflected on the swap interface the next time you go to make a swap. You can also view the balances within the Phantom wallet UI itself by selecting your wallets settings and changing to Devnet.
Adding Concentrated Liquidity to the Pools
We will now walk through the process of adding concentrated liquidity to the pools section. First, select “new position” on the pools page.
Next, the liquidity provision page will open. To start off, you will first choose which pool you would like to provide your liquidity to. In this example, we’ll select USDT and USDC. Once the pair is selected, we can then choose the fee tier. In this case, let’s select 0.05%, which is ideal for stable pairs like USDT-USDC, because we are taking on less risk by providing liquidity in this instance compared to more volatile assets.
Next, we will select the minimum price and maximum price for our liquidity. This is where our favorite buzzword “concentrated liquidity” comes into play. This range represents the lower and upper limits to where our liquidity will be placed along the price curve. The numbers you as a liquidity provider choose represent the degree to which you would like to concentrate your liquidity. There are many strategies to exploit using Cyclos’ concentrated liquidity functionality, and we will explore these in further articles.
For the sake of this example, we will choose a range which fits the narrow price fluctuations of USDT and USDC. When selecting a price range, we have the option of toggling back and forth between selecting the price interval based on both pairs. In this example, we’re utilizing price of USDC per USDT. A helpful indicator for choosing your price range is the current price of USDC per USDT, which is displayed directly below the “Set Price Range” window.
Finally, we will select the amount of assets we will deposit into Cyclos. As a liquidity depositor, we have some options here- do we wish to create a large position with our assets, or create multiple smaller ones?
In this particular instance, let’s select “max” and deposit the maximum amount of USDT possible. When you enter an amount on either side of the asset pair, Cyclos automatically determines the required amount of assets to balance out the pool based on the current price of the pool and your chosen price interval.
We can now select “Add” to create the position, and a new window will appear in which we can review the key details of our position. Let’s check it out below.
Once you click “Add”, you will be prompted to approve several transactions. Once you approve these transactions, a notification that your transaction was confirmed will appear, as shown below. You can view these transactions on the network by selecting “View on Explorer”.
Your concentrated liquidity position has now successfully been created! After selecting “Close”, you will be automatically directed to the “Pools Overview” section of the UI. Here, you can view all liquidity positions which you have created.
The position we have just created is highlighted below. An indicator displays that this position is currently “In Range”, meaning it is actively being utilized for trades. If the price of USDC moves outside your selected range, you will see an orang “Out of Range” indication.
From the “Pools Overview” page, we can now click on the first position at the top (the most recent position we’ve created). This will bring us to an overview of the pool position. On this overview, the first aspect you will likely notice is that your LP position in the pool is represented as an NFT. Each position you create on Cyclos generates an NFT representation of your pool share, which creates new opportunities for earning, such as via liquidity farming and borrowing against your position.
On the right hand side of the page, you will notice a section titled “Unclaimed Fees”. You can use this section to track the amount of fees you have earned from your position as a liquidity provider here. At any point, you can choose to collect the fees you have accumulated for your position, at a minimal cost for gas.
Should you wish to add to your position at a later time, you can do so by selecting the “Increase Liquidity” option at the top. When you are ready to remove your liquidity from the pool, simply select “Remove Liquidity”. Let’s try selecting that now.
Once you select “Remove Liquidity”, you will be brought to the below page. Here, you can choose the percentage of liquidity you would like to remove from your position. In this example, let’s select 100%, and click “Remove”.
Approve the subsequent transaction requests, and your liquidity will be withdrawn. Once again, all at a minimal gas cost thanks to the low transaction fees of the Solana network.
If you’ve made it to the end of this user guide, we thank you for taking the time to explore the features of Cyclos Devnet in depth. We will actively continue to work on the functions of the Cyclos Devnet as our community tests the product. We value your feedback and welcome you to please share your thoughts and experiences with us on Telegram and Discord.
We hope this tutorial is a useful first step toward introducing the power of concentrated liquidity in a low gas fee context. With Cyclos, any capital holder, regardless of the size of their bags, can put idle assets to work on one of the fastest growing blockchains in DeFi- Solana. As we continue to hone the project on the road to mainnet, we welcome you to continue on this journey with us.