How are rewards calculated?

The APR each staked position earns is a function of the amount of unclaimed rewards deposited in the vault for the current epoch, the size of the staked position relative to the total amount of LP tokens staked into the vault, and any rewards multiplier applied to the position by locking for a certain duration.

The calculation used to determine the emissions rate for each farming vault is as follows:

 const emissionRateUsd =
            Coin.balanceWithDecimals(rewardCoin.emissionRate, decimals) * price;

        const oneYearMs = dayjs.duration(1, "year").asMilliseconds();
        const rewardsUsdOneYear =
            emissionRateUsd * (oneYearMs / rewardCoin.emissionSchedulesMs);

        const apy = rewardsUsdOneYear / tvlUsd;

The rewards earned by each user position is then calculated by dividing the total emissions of the vault by the relative size of each position compared to the total number of LP tokens staked into the vault. Note that any position with a lock multiplier applied will receive a proportional increase in rewards accrued.

The general APR calculation for each position is then:

const oneYearMs = dayjs.duration(1, "year").asMilliseconds();
const timeSinceLastHarvestMs =
  dayjs().valueOf() - this.trueLastHarvestRewardsTimestamp;

const rewardsUsdOneYear =
  timeSinceLastHarvestMs > 0
    ? rewardsUsd * (oneYearMs / timeSinceLastHarvestMs)
    : 0;

const apr = stakeUsd > 0 ? rewardsUsdOneYear / stakeUsd : 0;
return apr < 0 ? 0 : apr;

At any given point in time, our Front End displays accurate rewards accrued for that given moment. However, until the rewards are realized it should be assumed as an estimate for accrued rewards. This means the more often you claim rewards the more accurately your claimed rewards will match what is displayed on our Front End.

Our vaults utilize the ownership semantics inherent to Sui. When you stake assets, such as our afSUI/SUI LP, into one of our vaults, you create a position that wraps the coin you've staked. As the owner of this position, you are the only one who can invoke transactions that interact with it. All of this to say that the vault does absolutely nothing with the funds that you stake because it can't access them to begin with.

Our vaults are unable to interact with your StakedPosition - as they are owned by you and only you - including distributing rewards to your position. Thus your position's rewards are only updated on-chain after you sign a transaction to interact with your position. We've set this up so any action you can perform will also update your position's accrued rewards, and not just the act of claiming rewards.

Why can't I lock?

Our vaults are designed to not allow users to lock their position beyond the end of the current epoch, as rewards are fully distributed each epoch. If you are unable to lock your position, that means that the current epoch is about to end. This currently occurs every two weeks on Sunday. Aftermath always announces on twitter when a new epoch has begun, how long it will run for, and the amount of incentives which will be distributed. If you are unable to lock, check our twitter feed for the announcement and try again once it has been posted.

Can I auto-compound rewards or auto-relock?

On Sui these are possible but we've opted against this for one main reason: we want you, the user, to remain in control of your position. As it stands, you own your staked position and, because of the ownership semantics on Sui, only you can sign a transaction that touches this object. This means that we cannot add stake (auto-compund) or change your lock duration (auto-lock) because we cannot directly interact with your staked position.

These features can be built, but removes the ownership properties that Sui inherently enables. If the demand for these features is there it is definitely worth considering, but we want to make sure users would understand the ownership rights they would be giving up in if they opted into these features.

As a side note, the LP coin you stake is held within your staked position so it is impossible for Aftermath, or another contract, to interact with it unless signed off by you first. This is a fantastic feature and one of the many benefits of Sui!

How long do farming emissions last?

Currently emissions run for two week epochs, with one ending and the next beginning on Sunday.

How do I know when new rewards added to the Afterburner vaults?

Aftermath always announces on twitter when a new epoch begins, how long it will run for, and the amount of incentives which will be distributed.

How do I stake/unstake/claim rewards?

See the Staking into a Farm, Claiming Rewards, and Unstaking sections of the documentation for instructions on how to perform each action.

How do I keep track of all of my farming positions?

See the Viewing your Porfolio: Farms section of the documentation to see how you can monitor all of your farming positions through your Portfolio.

Last updated