Analysis of Luna Staking Rewards

A solid grasp of staking rewards is essential for participation in the Terra ecosystem. In this paper we discuss the key factors that affect rewards, and analyze sensitivity to each factor. We also look at Luna rewards in terms of value capture on the Terra network, and argue that inflation-based “yield” offered by most PoS assets is not a measure of reward, but rather of punishment for not staking. We think that Luna’s reward system is significantly more sustainable. We look forward to a fruitful discussion!

staking-rewards-analysis.pdf (333.9 KB)

If I got it right the overall formula for annual rewards look like:
Reward per Luna, $ = Tx Volume * Tx fee / (Staked Luna * (1+Inflation))

Staking return = Reward per Luna, $ / Luna Price * 100%

How can we query Tx Volume, Tx fee, Current Inflation? Should we use for calculation basic parameter of expected Tx Volume = 5 Bln/year?

1 Like

Your understanding is correct. You can use the table on page 3 for a likely range of values for each factor. Bold values are the default assumption.

1 Like

Thank you for your answer! It is clearer now.

  1. Tx fee percentage and inflation rate parameters changing on a protocol level depending on a reward per Luna (to make it stable and project stable growth rate)?
  2. If actual values will be extremely different from expected ones, how can I calculate actual staking return? What data should I use and where to get it?
  3. Is the best way to calculate these parameters on an annual basis, and at the end of the year compare with expected values?
1 Like
  1. Yes. Basic principle is that if revenues from fees in the short term window falls in comparison to the longer term moving average, fees are hiked. In the opposite case, visa versa. Seigniorage rewards examines rewards in totality (fees + seigniorage) works in a similar fashion, except by targeting a certain percentage growth rate in rewards.

Suggest you read this: https://docs.terra.money/specifications/treasury for more detailed info on how exactly the treasury module functions.

  1. @nplatias can we opensource the code used for this?

  2. Likely you may want to use monthly returns to extrapolate run rates. Lots of validators will be setting up staking reward % (extrapolating returns per annum from monthly run rate), so you may want to take a look at some of their toolsets.

1 Like

Thank you @dokwon!

  1. Is there a certain targeted Annual Staking Reward Rate percentage or Reward value per Luna in USD terms, which protocol tries to achieve? May I consider 0,17$ per Luna as a targeted return based on expected parameters?
  2. Opensource would be great!
  3. I’ve got the idea, appreciate it.

Given the value of Luna is volatile, it doesn’t try to target a certain return rate, but it does try to optimize for MRL (marginal return for Luna). Given transactions will grow very quickly for the first year, the protocol attempts to raise MRL by 7% each 4 week period, but this will likely be adjusted as the network matures.

2 Likes

The model is here.

In case of tx volume, I thought about some kind of a source where we can observe current state of transaction flow through Terra network, to understand existing state and project transaction gains.

Great suggestion, we actually plan on building a dashboard for macroeconomic variables like transaction volume, rewards etc.

In the research, I found that all rewards denominated in TerraSDR.
Does this mean that transactions in other stable currencies transforms in TerraSDR after initiating withdraw at current protocol exchange rates or how can I spend them or withdraw (or they are available automatically)?
@dokwon, to calculate total rewards and staking return in USD, if I have Luna, SDR, and KRW, I should sum these token’s value in USD and find the relation to my Luna(denominated in USD) I staked for the particular period. Is that correct? After that I can check same periods (like month) and calculate some kind of an average to project my annual returns?

The reward is denominated in the same currency as the transaction, so a KRT transaction will generate a KRT reward. You are correct about USD calculations, you would need to convert projections for volume and Luna price to USD first.