Skip to main content

Farm Details

LP Tokens#

youves Swap#

For the flat-curve CFMM swap, the LP tokens are created by this simple formula:

LP_token_amount = amount_token_A + amount_token_B


The weekly reward amount gets distributed to stakers in the farm. Depending on the farm there can be different reward types with different distribution formulas.

Reward Type#

#Reward TypeDescription
1Flat incentiveThe rewards are allocated over time, proportionally to the user's stake in the farm and the weekly reward. This is how most farms work.
2Long-term inventiveThe the weight of a user's stake is are growing over time, up to the maximum at 180 days age of the stake. More details below. The goal is to incentivise long term staking.

Flat Incentive#

Farms have a defined reward distribution per period. this can be weeks, days and for calculation purposes typically seconds.

rewards_per_week rewards_per_day = rewards_per_week / 7 rewards_per_second = rewards_per_day / (24 * 60 *60) 

At any time a user's token_fraction is equal to

token_fraction = number_staked_LP_tokens_of_user / number_LP_tokens_total

The calculation of a user's rewards reward_payout is straightforward for any time period time_period_in_seconds where the token_fraction and rewards_per_second stay constant.

period_reward_payout[i] = token_fraction[i] * time_period_in_seconds[i] * rewards_per_second[i]

The aggregated_reward_payout is just the sum of the reward_payout.

aggregated_reward_payout[i] = aggregated_reward_payout[i-1] + period_reward_payout[i]

Whenever either of token_fraction and rewards_per_second need to be recalculated, the above formula can be re-applied.

Long-Term Incentive#

The unweighted reward payout reward_payout and aggregated_reward_payout is as in the flat incentive case above.

Both now and timestamp ts_applied have seconds as units. now is expressed as the current Unix Epoch time.

max_release_days = 180max_release_seconds = max_release_days * 24 * 60 *60 =  15,552,000

To calculate the age at a given time age_current, the formula is as follows:

age_current = MIN(max_release_seconds, now - ts_applied)

The weight at a given time weight_current is

weight_current = age_current/max_release_seconds

The number of LP tokens a user has in the pool at a given moment are called number_LP_tokens_current.

Upon adding more LP tokens to the pool, the applied age age_applied and number_LP_tokens_current get updated.

age_applied = (number_LP_tokens_current * age_current + number_LP_tokens_added * 0) / (number_LP_tokens_current + number_LP_tokens_added)number_LP_tokens_current = number_LP_tokens_current + number_LP_tokens_added

As a consequence the applied timestamp ts_applied is updated as follows:

ts_applied = now - age_applied 

If the number_LP_tokens_current previously was 0, then

age_applied = 0 


ts_applied = now

When claiming rewards, the claim which gets paid out is weighted_aggregate_reward_payout. It is calculated as:

weighted_aggregate_reward_payout = aggregated_reward_payout * weight_current

Furthermore, the residual of aggregated_reward_payout - weighted_aggregate_reward_payout is distributed to the ongoing participants in the farm, proportional to their token_fraction.

Finally the claiming user's aggregated_reward_payout gets reset.

aggregated_reward_payout = 0 

When claiming without withdrawing LP tokens, the applied timestamp ts_applied remains unchanged.

A user's stake of LP tokens can only be withdrawn in full and upon withdrawing, the aggregated_reward_payout is calculated and the rewards are automatically claimed and the residual rewards are distributed to the farm.


The below table shows the ongoing rewards per day in YOU tokens for the youves farms.

#PairExchangePeriod 1Period 2
From: -From: 2022-05-16
To: 2022-05-16To: current
1uUSD/kUSDyouves swap142.86142.86
2uUSD/USDtzyouves swap142.86142.86
3uUSD/wUSDCyouves swap178.57250.00
4uUSD/wUSDC ST1youves swap178.5789.29

1 ST: Short term (normal) Farm

The reward amounts can change over time. Specifically the YOU reward will most likely change once the halving of the YOU tokens happens.