The recent days have seen some volatility in the bLuna-Luna pair.
This presents some arbitrage opportunities.
How often do these occur?
When should you take advantage of them?
When should you not?
This is what we are going to explore in this 🧵
What is arbitrage?
Arbitrage, in the case of AMM and Liquidity Pools, can occur when the unbalance in the pool allows one token to be traded cheaper than it should. In that case arbitrageurs can take advantage of this unbalance and restore balance while making a profit
What is bLuna?
Anchor protocol allows users to deposit (bond) their Luna — gets staked — and obtain a liquid token: bLuna. This bLuna gives right to the staking yields of the underlying Luna and can be unbonded back to Luna via Anchor. The unbonding period usually takes 21 days
We focused our analysis on the history of transactions and swap prices (belief price in the transactions) of @terraswap_io
By plotting the number of weekly transactions occurred for the bLuna-Luna pool, we can observe that the number has steadily increased over the last year
How often the different prices have occurred (n° of transaction wise)?
- The median price is 0.98 while the 75th percentile is 0.99
- 68% of all transactions occurred with a price between 0.98–1
- The price tends to stay below
The price often below 1 is in line with the fact that pure Luna offers more possibilities (not all protocols accept bLuna) and can always be instantly converted to bLuna via Anchor.
How does the volatility look like over time?
Plotting the delta between the max and min weekly bLuna price we can observe that this delta has become smaller over time.
Meaning that bLuna price against Luna is not experiencing huge spikes as it used to
We now plot the amount of time bLuna has traded in the different ranges.
How much time has been spent each price range?
- Over 50% of the time (over 133 days) the price has been in the range between 1 and 0.98
- 36% of the time has been spent with the bLuna price below 0.97
Arbitrage Opportunities
When bLuna is trading below 1 it means that bLuna is cheaper than Luna. Luna can therefore be traded for bLuna and bLuna can then be unbonded via Anchor Protocol. After the unstaking period of 21 days an equivalent amount of Luna can be withdrawn.
In order to assess whether this strategy is profitable, it is important to calculate what is the annualized yield of this strategy. The APR depends on the price at which bLuna is bought. We then assume 21 days of unbonding — hence 21 days to obtain profit — and annualize it.
We can see that the APR may go from 0% to almost 180% if the price is 0.9.
From the chart we can see that as long as the bLuna price is below 0.99, arbitrage is more profitable than both staking and LP.
Obviously the APRs may vary and this threshold may shift slightly.
We have also seen from previous charts that bLuna has traded below 0.99 over 60% of the time in the last year.
This means that this opportunity comes pretty often!
When bLuna trades above 1 Luna it is simply necessary to bond Luna to obtain bLuna from Anchor and trade it back to Luna to profit from the unbalance of the pool.
the only risk associated with this strategy are Anchor fees and transaction fees (roughly $0.30)
We simulated what amount of Luna would be necessary to trade in order for the strategy to be profitable despite the $0.30 fees.
As an example: in case Luna traded at $50 and bLuna traded at 1.01 the amount of Luna necessary would be 0.4, which is a quite reasonable amount.
However, we have seen that this situation occurs rarely: only 9% of the time has bLuna traded above 1 and almost never in the last 4 weeks.
This analysis was a grand prize winner in one of the amazing bounties offered by @flipsidecrypto. And I am honoured.
I decided to delegate some of the Luna I won as price to their validator, to give back to the community.
I think it is time to make a retrospective analysis of how it went. Ready?
Let me show you 🧵👇
N° users: 7215
When was their first interaction?
- Almost 300 users have bid right at the start, at an average price of $0.96
- The second wave happened after 9 hours. This was triggered by the price dropping below $0.20 and the buying pressure raised the average price to $0.32
What about the n° of tx over time?
- Peak/hr: ~1100
- Compared to the chart of new users, we can see a couple of more spikes, such as around 8:00 of the 14/12. This is a spike matches with the time when the price fell below $0.14
bLuna-Luna: 2 weeks is where the most of LP tokens are locked, however 52 weeks is in the 2nd place with 250k tokens
When looking at distinct addresses: 52 weeks is by far the preferred one. This means more users have preferred the 52 weeks, but those that chose the 2 weeks period-even if fewer-have deposited more. Makes sense, as it is less binding to lock for only 2 weeks.
Problem: locking $UST in Pylon pools is a big commitment given the relatively long timeframes. We are talking about - what it feels like - ages in the crypto space.
Right now users have no way to sell or trade their position in the pool, in case they need to. Once you are in, you are in. You just gotta wait until your lock up period is over.
Solution: allow these positions to be tradable. As what happens with LPs, users would obtain a token as a receipt for their deposit into the pool. This receipt can either be used to claim the pool's tokens or sold on the market. And we are free again to get our money back!
So TFL is burning 88 millions of $Luna to $UST to fund different initiatives, most notably Ozone.
Well, you think that is running smoothly?
I thought so too 🧵
And it actually did. Like a swiss clock, every 800th block the community address (terra10kjnhhsgm4jfakr85673and3aw2y4a03598e0m) has been burning 520,000 $Luna for $UST.
Until this happened:
On November 16th, the address
terra1z8wl9y9lztd047cyhwdfwgsz853ywamg34pys8 has started tipping 0.01 $UST the community address.