Storm of Value; Liquidity Pools 101 & Advanced Tactics:
You may be brand new to the concept of liquidity pools. You might be a veteran to the concept. This tutorial will serve as a guide for all levels of experience into the explaination, creation, and utilization of liquidity pools using TREAD & LFI Storm of Value rewarded pools.
Starting your own pools can feel a little daunting to the uninitiated; but with enough knowledge into the operations and benefits of liquidity pools, you'll be creating your own customized interest structures in no time.
What are Liquidity Pools?
Simply put, creating a liquidity pool means you are supplying and lending liquidity (your assets) to the network. In return you are rewarded with network fees for trades that happen within your pool, and additional incentives via interest accumulation if the project/pool you're supplying liquidity to has a separate rewarded structure for being a liquidity provider. In essence, becoming your own mini DeFi banking structure to accumulate interest; strengthening and structuring both the network and the assets you have pooled in the process.
Liquidity pools work on a principle of supplying a "constant product" to the network. The Constant Product Formula is: A * B = K, with A and B representing the two assets of the pool, and K maintaining the product of those values. Asset A and Asset B will always maintain 50:50 value and operate as a proxy for order book and swap trades to process from your pool. Orders that pass through your liquidity pool in Stellar Lumens network will be taxed a .3% fee that is accumulated in your pool (based on the percentage of the pool you hold).
For a good explanation into liquidity pools, check out the AMM (liquidity pool) section in Stellar Docs: https://developers.stellar.org/docs/learn/encyclopedia/sdex/liquidity-on-stellar-sdex-liquidity-pools And this medium article on AMM's on Stellar X: https://medium.com/stellarxhq/amms-on-stellarx-b0f9c493936c
For a neat visual representation, I recommend Whiteboard Crypto's video on how Automated Market Makers (AMM constant product formula) operate: https://youtu.be/1PbZMudPP5E?si=49CeAE8oo0HXfIbn And Whiteboard Crypto's video on Liquidity Pools: https://youtu.be/dVJzcFDo498?si=RydQkNUMEhyA8maH
For those keeping up, the AMM Constant Product Formula, is the equation that forms a Liquidity Pool. AMM and Liquidity Pool terminology are used interchangeably.
Important Note: All trustlines and operations on Stellar require .5 XLM. For any trustlines in your Stellar wallet, you will be required to reserve .5 XLM for that asset. Same with placing orders on the order book. When it comes to creating liquidity pools, you will need to reserve .5 XLM in your wallet for both assets, and when creating a pool you'll need to reserve an additional .5 XLM for each side of the pool. Bringing the total to 2 XLM reserved for every pool created.
How do Liquidity Pools Work?
After creating your pool, you will have a 50:50 dual asset AMM. Say XLM is at .50 cents even, and you want to pool it with $1.00 worth of USDC. So you'll need 2 XLM & $1.00 USDC to make even sides of the pool (along with the 2 XLM reserved in trustlines previously outlined).
For the visual learners, here's a graphic of how your pools will operate:
For our specific XLM/USDC pool, the USDC side of the pool is going to be constant (lacking market movement) as it is a stablecoin. XLM is going to be the deciding factor of the pool's overall value. When XLM goes up in value, buys will flow through your pool, decreasing the amount of XLM in your pool, but increasing the amount of USDC in the other side. When XLM goes down in rate, your XLM side of the pool will accumulate more XLM as it catches the sell orders passing through it, and USDC will decrease as XLM is bought.
It helps to visualize the pools as a scale. Both sides evening each other out and fluctuating with market movement.
Fee accumulation visual and how they operate in your liquidity pool:
So in our specific XLM/USDC example, fees will accumulate at a rate of .3% on each trade based on the percentage of the pool you hold. The fees are distributed automatically and based on your holdings in the overall pool. As you can see, holding a sizeable percentage of Stellar pools can serve to your great benefit as far as accumulating interest from fees are concerned.
Fee accumulation is only part of the benefit to owning liquidity pools. The real magic happens when you combine liquidity provider rewards into the mix. In Stellar, the name of the game is earning interest. Learn it. Build it. And create your own decentralized interest structures.
Now that we have the basics of liquidity pools out of the way, it's time to guide you into not only creating your own set of pools, but creating a test grouping to generate a data set that will show the best interest earning opportunities in any given project. For this test we'll be using TREAD & LFI Storm of Value Rewards.
Setting up your test group for TREAD & LFI Storm of Value Rewards:
For information on TREAD & LFI Storm of Value Rewards, follow this link for details: https://donttreadtoken.com/index.php/tread-lfi-storm-of-value-rewards
In this test we're running, you'll need to have a Stellar wallet set up. If you need help setting up a Stellar account, head to this link: https://lobstr.freshdesk.com/support/solutions/articles/151000001052-how-to-create-an-account-on-lobstr-
You'll also need to set up Stellarium Bot with your LOBSTR wallet to be able to gather the data we'll be analyzing. For those that need help with setting up Stellarium Bot, please see this handy tutorial: https://donttreadtoken.com/index.php/how-to-set-up-stellarium-bot
After creating your Stellar account and setting up your Stellarium Bot with your wallet address, you'll need a total of:
- 9.5 XLM in wallet trustline reserves
- 35 XLM in pooling trustline reserves
- $70 worth of USDC*
*$70 is optional, the trick is to use equal amounts on both sides of every pool for a clean data set. For this particular test, I will be using $70 USDC with $1 amounts on both sides of every pool.
After gathering your XLM reserves and funds to make equal amounts on both sides of every pool, add the assets listed in the photo above. There are a total of 19 assets that make up the TREAD & LFI Storm of Value pairs. Listed below are all the assets with proper domains:
- TREAD (donttreadtoken.com)
- LFI (donttreadtoken.com)
- XLM (stellar.org)
- USDC (centre.io)
- BTC (ultracapital.xyz)
- ETH (ultracapital.xyz)
- yXLM (ultracapital.xyz)
- yUSDC (ultracapital.xyz)
- yBTC (ultracapital.xyz)
- yETH (ultracapital.xyz)
- EURC (circle.com)
- AQUA (aqua.network)
- XRP (fchain.io)
- GOLD (mintx.co)
- SLVR (mintx.co)
- RIO (realio.fund)
- VELO (no domain)
- SHX (stronghold.co)
- ACT (authentic-payment.com
The one tricky asset to find on this list will be VELO. It won't have a domain or a logo, and it's virtually impossible to find on LOBSTR unless you search by QR code. So I've included VELO QR in this tutorial:
After adding all 19 assets to your wallet you're ready to begin.
In the above picture it shows how I've funded all the assets. For the $1 on each side of the pool test, you'll want:
- $18 worth of TREAD
- $18 worth of LFI
- $2 worth of the 17 other assets in SOV Rewards (total of $34 needed)
Amounts pictured aren't quite the $18, $18, and $2 in each. I added just a little more to factor in possible market movement while I set up the test. A good idea if you're setting up your own test run. Otherwise you could get some market movement mid-test set up and be scrambling with micro transactions as you try to get all the assets above the $2 threshold. For ease of use during this tutorial, we are using the $70 in USDC to easily assign dollar amounts to each asset (be sure to change your default currency to USD in LOBSTR settings Settings > Profile > Currency > USD).
Pro Tip: You can save this step for the swap in Stellar X where you can enjoy fee free transactions. LOBSTR has a fee scale built into their swap, whereas Stellar X does not. I'm using LOBSTR in the picture because the amounts in assets show up easier as an example.
Now that we're all set as far as figuring out even amounts for our test pools, it's time to create our pools in Stellar X.
Head to your menu in LOBSTR and click on "Explore Apps".
Next you'll be given a list of apps you can use the wallet connect feature on. When using wallet connect, your LOBSTR wallet becomes the key to access and sign transactions for these various platforms. Click on "Connect" under the Stellar X tab.
Pro Tip: After connecting with wallet connect, sign out under the account icon next to settings in the top right of the screen. Then sign back in using your LOBSTR email and password. You'll most likely be prompted to verify your email. After verifying sign in again using your LOBSTR account. At this point you'll be signed in directly to Stellar X, and won't need to sign every single transaction through LOBSTR's wallet connect feature. When needing to make a ton of transactions on Stellar X, or trying to get things done in a decent time-frame, the wallet connect feature can make things painfully slow. Bypass it by taking the time to sign in directly.
After signing into Stellar X, you'll want to head to the swap under the menu on the upper right hand corner. At this point if you didn't swap your assets in LOBSTR, please do so in Stellar X.
Now that we're in the swap and have our assets all ready to pool ($18 TREAD, $18 LFI, $2 in everything else), we'll start with our XLM pools. Know that your amounts are going to vary depending on market conditions and it will not be what's pictured. The important part here is we identify the amount of XLM that creates $1 USDC in value. This part is important as we want a clean data set to pull later.
Type in $1 USDC and copy the amount of XLM the swap registers. Don't swap. We're just collecting that number to paste into our first two pools.
After copying the XLM amount we're ready to head to the "AMM" tab in our menu.
Under the "AMM" tab you'll see the "Liquidity" tab. Select it.
A clean wallet without any pools is going to have the "Add Liquidity" button front and center. A wallet with liquidity pools will have a plus sign next to the "AMM Overview" chart button in the upper right underneath the menu (not pictured). Select "Add Liquidity" or poke the plus sign.
Once you're in the "Add Liquidity Position" screen, XLM should be there as the default asset. On the bottom asset, click the little check mark and type in "TRE". TREAD will pop up. Select it. Then paste your copied XLM amount in the XLM input area. As you might have noticed, the price moved a tiny bit since when I copied from the swap. Reasons I start with just a bit over $2 in each asset when I create the test amounts. Play with the numbers until the XLM amount is worth $1 even. TREAD will autopopulate and create the other side of the pool with $1 worth of TREAD. Select "Add Liquidity" after both XLM and TREAD are at an even $1 each.
Congratulations you have your first Storm of Value rewarded pool set up with $2 in value and gathering hourly interest plus network fees. Repeat this process for your next pool, but with LFI (pictured above).
Just to drive the point home, here is another example with GOLD. I already checked the swap and found .0102 GOLD is worth $1 in value (again, results vary with market conditions). If you started out with somewhere around $2, you can also select the "Half" button and get close to $1 in value without needing to copy paste from the swap. Just make sure you mess with the numbers until you get that clean $1 in value. Keep in mind we're running a test and the cleaner the data the more accurate the feedback.
Keep the cycle of finding your $1 amount for each side of the pool and create all 35 pools with your assets (pictured above).
After completing all 35 pools you have your data set, and you're ready to move onto the gathering data phase. It helps if you already have your Stellarium Bot set up at this stage, as you'll want to check the rewards you're gathering in the first hour or two for the most accurate info. If you don't have your wallet set up with Stellarium Bot already, it's not a big deal. Just get it set up to continue this tutorial https://donttreadtoken.com/index.php/how-to-set-up-stellarium-bot
For those who don't want to use Stellarium Bot to gather data, you can also use Stellar Expert. Input your wallet address (not your secret key) into the search bar under the menu at https://stellar.expert/explorer/public to find similar transaction data with memos. You can't use LOBSTR for this test, as memos aren't included in the transaction history and it's impossible to organize for our test.
Compiling and Ranking our Storm of Value Data Set:
Depending on when you finished creating your pools, you might have to wait two rounds of hourly rewards to pull and rank data. For the TREAD/LFI pool, you'll have to wait until it's distributed daily at a random interval. For this specific test I gathered both the hourly data and the total amounts of TREAD & LFI interest accumulated by day. Along with additional perks such as ACT dual rewards with the TREAD/ACT & LFI/ACT pairs, and yAsset daily interest data.
The picture above is all the data from Stellarium Bot that shows the 34 rewarded pools we set up with $1 amounts on both sides of every pool. You'll have a memo accompanying every bit of interest that corresponds with the pool it's from. It's all neatly labeled and ready to organize.
Instead of manually organizing all the TREAD & LFI interest that comes in, use a number organizer to do it for you. Link: https://ezcalc.me/number-sorter/ (and choose descending order)
I wrote down all the interest next to the assets they were from for the test; organized by TREAD pools and LFI pools. Then I put the 17 interest payments for each project separately into the number sorter to find the pool rankings for both projects. While you're putting the 17 & 17 sets of numbers in the number sorter, copy each set of 17 so you can pull it up in your clipboard later to avoid more work for yourself.
TREAD Storm of Value Rewards Ranking:
- 1 - TREAD/RIO = .0000889
- 2 - TREAD/SLVR = .0000873
- 3 - TREAD/EURC = .0000673
- 4 - TREAD/ETH = .0000575
- 5 - TREAD/GOLD = .0000528
- 6 - TREAD/VELO = .0000520
- 7 - TREAD/AQUA = .0000514
- 8 - TREAD/yETH = .0000340
- 9 - TREAD/SHX = .0000301
- 10 - TREAD/USDC = .0000247
- 11 - TREAD/yBTC = .0000230
- 12 - TREAD/BTC = .0000193
- 13 - TREAD/XRP = .0000168
- 14 - TREAD/ACT = .0000156
- 15 - TREAD/yUSDC = .0000113
- 16 - TREAD/XLM =.0000088
- 17 - TREAD/yXLM = .0000058
LFI Storm of Value Rewards Ranking:
- 1 - LFI/RIO = .0001009
- 2 - LFI/ETH = .0000881
- 3 - LFI/yETH = .0000831
- 4 - LFI/EURC = .0000686
- 5 - LFI/SLVR = .0000665
- 6 - LFI/AQUA = .0000574
- 7 - LFI/GOLD = .0000515
- 8 - LFI/yBTC = .0000498
- 9 - LFI/USDC = .0000486
- 10 - LFI/VELO = .0000462
- 11 - LFIBTC = .0000444
- 12 - LFI/SHX = .0000429
- 13 - LFI/XRP = .0000400
- 14 - LFI/yUSDC = .0000262
- 15 - LFI/ACT = .0000203
- 16 - LFI/yXLM = .0000118
- 17 - LFI/XLM = .0000113
After finding the rankings of TREAD & LFI pools separately, I used my clipboard to input both sets of 17 in descending order to find the ranking of total pools and interest accumulated. For a 1-34 ranking of top interest earners.
TREAD & LFI Storm of Value Rewards Ranking:
- 1 - LFI/RIO = .0001009
- 2 - TREAD/RIO = .0000889
- 3 - LFI/ETH = .0000881
- 4 - TREAD/SLVR = .0000873
- 5 - LFI/yETH = .0000831
- 6 - LFI/EURC = .0000686
- 7 - TREAD/EURC = .0000673
- 8 - LFI/SLVR = .0000665
- 9 - TREAD/ETH = .0000575
- 10 - LFI/AQUA = .0000574
- 11 - TREAD/GOLD = .0000528
- 12 - TREAD/VELO = .0000520
- 13 - LFI/GOLD = .0000515
- 14 - TREAD/AQUA = .0000514
- 15 - LFI/yBTC = .0000498
- 16 - LFI/USDC = .0000486
- 17 - LFI/VELO = .0000462
- 18 - LFI/BTC = .0000444
- 19 - LFI/SHX = .0000429
- 20 - LFI/XRP = .0000400
- 21 - TREAD/yETH = .0000340
- 22 - TREAD/SHX = .0000301
- 23 - LFI/yUSDC = .0000262
- 24 - TREAD/USDC = .0000247
- 25 - TREAD/yBTC = .0000230
- 26 - LFI/ACT = .0000203
- 27 - TREAD/BTC = .0000193
- 28 - TREAD/XRP = .0000168
- 29 - TREAD/ACT = .0000156
- 30 - LFI/yXLM = .0000118
- 31 - LFI/XLM = .0000113 (Tie)
- 32 - TREAD/yUSDC = .0000113 (Tie)
- 33 - TREAD/XLM = .0000088
- 34 - TREAD/yXLM = .0000058
To find the ranking of the final TREAD/LFI pool, you'll have to wait to collect the daily interest (pictured above from Stellar Expert) and divide it by 24 to get its hourly rank.
- TREAD/LFI = .0000638 TREAD/.0000638 LFI Daily
% 24 gives us:
TREAD/LFI = .00000266 TREAD/.00000266 LFI Hourly
- TREAD/LFI Combined Daily = .0001276 TREAD/LFI value
- TREAD/LFI Combined Hourly = .00000532 TREAD/LFI value
- 35 - TREAD/LFI = .00000532
The TREAD/LFI pool sitting at rank 35 is to be expected, as it offers the most incentives; being dual rewarded in both TREAD & LFI, and the two assets being loosely pegged to each other's rates. TREAD & LFI being at approximately the same rate with fluctuating market movement means they're the most consistent and stable pairs to keep pooled. Your base pool, much like XLM/yXLM operates as a base in Aqua Rewards.
TREAD/ACT & LFI/ACT are additional dual rewarded pools. While TREAD/ACT is ranked 29th in TREAD Rewards, it offers an ACT hourly bonus as well. Let's break down those numbers.
- TREAD/ACT = .0000156 TREAD/.0010283 ACT hourly
.0010283 ACT = .0000034 TREAD
.0000156 TREAD + .0000034 TREAD
TREAD/ACT = .0000190 TREAD hourly in value
As you can see, the additional value from ACT Rewards boosts the ranking from 29th to 28th spot. And we can repeat this process with LFI/ACT pool.
- LFI/ACT = .0000203 LFI/.0011849 ACT hourly
.0011849 ACT = .0000039 LFI
.0000203 LFI + .0000039 LFI
LFI/ACT = .0000242 LFI hourly in value
With additional value from ACT Rewards, LFI/ACT pool ranking would move from 26th to 25th spot.
Info on ACT Rewards can be found at https://t.me/EarnACT
Lastly, let's briefly cover the yAsset interest accumulated per day.
In the above picture are the 4 yAsset interest payments collected during the test pooling. You'll notice it's only yXLM & yUSDC interest. That's due to yBTC & yETH needing higher minimums for accumulating daily rewards than the $1 amounts we tested the pools with.
For the record, the yAsset APY, minimums, and equation to find the minimums, are as follows:
yXLM: 3.0% APY:
Min amount: 0.0012166 yXLM
yUSDC: 6.0% APY:
Min amount: 0.0006083 yUSDC
yBTC: 2.5% APY:
Min amount: 0.00146 yBTC
yETH: 3.5% APY:
Min amount: 0.0010428 yETH
Min amount calculated with a simple formula: 0.0000001 * 365 / <APY>
Info on yAssets can be found at https://ultracapital.xyz/
Let's break down the daily yAsset interest into hourly data along with TREAD & LFI value to fit it into our test.
- TREAD/yXLM = .0000058 TREAD + (.0001684 yXLM % 24) per hour
TREAD/yXLM = .0000058 TREAD + .000007 yXLM per hour
.000007 yXLM = .0000008 TREAD
TREAD/yXLM = .0000066 TREAD value per hour
- LFI/yXLM = .0000118 LFI + (.0001682 yXLM % 24) per hour
LFI/yXLM = .0000118 LFI + .000007 yXLM per hour
.000007 yXLM = .0000008 LFI
LFI/yXLM = .0000125 LFI value per hour
- TREAD/yUSDC = .0000113 TREAD + (.0001661 yUSDC % 24) per hour
TREAD/yUSDC = .0000113 TREAD + .0000069 yUSDC per hour
.0000069 yUSDC = .0000018 TREAD
TREAD/yUSDC = .0000131 TREAD value per hour
- LFI/yUSDC = .0000262 LFI + (.0001656 yUSDC % 24) per hour
LFI/yUSDC = .0000262 LFI + .0000069 yUSDC per hour
.0000069 yUSDC = .0000018 LFI
LFI/yUSDC = .000027 LFI value per hour
Rankings don't shift much with added yAsset liquidity, but by holding decent percentages of the TREAD & LFI yAsset pools they are a formidable powerhouse of compound interest earners.
In the picture above we see the final test result from totals of TREAD & LFI interest gathered in one hour (top) and one day (bottom).
As shown from the top ranking interest earners on our 1-35 test sample list, LFI pools are currently giving heavier interest payouts as they've had less pool percentages taken up in comparison to TREAD pools. The current data shows it would behoove you to focus heavier on LFI pools. But that's only from this current test, and these numbers will change with time and market condition.
Data collection is your friend. By learning how to gather and utilize data samples from liquidity pools, you can always make sure you're ahead of the curve.
The benefits don't end with learning the fundamentals of liquidity pools either. TREAD & LFI have monthly tiers to reward long term holders. Minimums start at 10 TREAD or 10 LFI held in all rewarded pools. The more you have pooled, the greater your interest tier level. Snapshots are taken at random during the month, and monthly tiers are based on an average of total TREAD & LFI amounts pooled during a one month period. Monthly rewards are uncapped, and not based on pool percentages, but strictly on total average amounts of TREAD and LFI kept in pools. Monthly interest is paid on the 1st of every month. For more information about monthly rewards, or Storm of Value Rewards in general, refer to our link at https://donttreadtoken.com/index.php/tread-lfi-storm-of-value-rewards
I encourage everyone involved in TREAD & LFI Storm of Value Rewards to use market movement to trade between assets involved in our structure. Utilizing market movement between your pooled pairs not only builds your portfolio, but it helps strengthen TREAD & LFI liquidity, bolster rates, and grow the overall network. All while maintaining your Storm of Value hourly, daily, and monthly interest by trading between rewarded pools in our system. For more information on market movement and liquidity shifting between rewarded pairs, see our link at https://donttreadtoken.com/index.php/tread-lfi-storm-of-value-rewards-market-movement-liquidity-shifting
We've been focused on TREAD & LFI Storm of Value Rewards pools for this tutorial, but know that you can utilize the information here for ALL liquidity provider rewards programs in Stellar. There are many ways to collaborate your various Stellar rewards projects together, creating a web of interest programs that build into and off of each other. There are near countless strategies for building cross-project interest opportunities. For more info about other Stellar Rewards see our link at https://donttreadtoken.com/index.php/stellar-rewards
Summary:
By now you should have a decent understanding of liquidity pools and how they operate, how to go about creating liquidity pools, how to create test groups for your pools, and how to calculate and utilize the data from your test.
This tutorial was designed for new liquidity providers, and caters to those seeking advanced strategies as well. The systems taught here allow room to be as simple as you want, or as complex as you create. Storm of Value Rewards are a template; and the effort you put into designing your structure will be matched in value.
Most of all, remember to have fun. Always stay diversified and invest responsibly. For those with comments, questions, or in need of further instructions, please visit our group at https://t.me/libertycryptosyndicate