Opulence Score

Opulence enforces a monthly allowance system that is implemented with the goal of limiting how much $OPLL a single wallet can liquidate per month. Monthly liquidation allowance of a certain wallet is always a derivative of the score of that wallet. Opulence score is impacted by the users’ buying and selling behavior. Each new wallet joining the protocol is automatically assigned a score of 500. Minimum possible score is 100, and the maximum possible score is 900. As users interact with the protocol, their score may change, determined by the following factors:

​​Factors that increase a score:

  • Time. All scores automatically increase over time at a predetermined rate

  • New Contributions. Existing users can always purchase more $OPLL, which will result in an immediate boost to their score. The extent of the boost depends on how much more $OPLL has been purchased relative to the monthly allowance of that wallet. The greater the ratio is, the bigger the boost is. However, after making a certain number of additional $OPLL purchases within 30 days, no additional score boost will be applied until the period ends.

  • Locking $OPLL tokens in vaults. Users can opt to lock their $OPLL tokens for various periods to enjoy a faster than usual score growth and additional rewards paid in $OPLL.

Factors that decrease a score:

  • $OPLL liquidations. The extent to which a score drops will depend on the ratio of how much $OPLL is sold relative to the monthly allowance of the wallet. If a sale results in monthly allowance utilization exceeding 75%, a greater impact on a score should be expected. Sales resulting in a lower than 75% utilization of the monthly allowance will still cause a score reduction, but it will be smaller, and linearly correlated with the resulting utilization. Each sale impacts a score, just like each new purchase.

Below is the formula demonstrating how the score increases with time:

scorecurrent=scoreprev+netScoreGrowthRatetimepassed30daysscore_{current} = score_{prev}+netScoreGrowthRate*\dfrac{time_{passed}}{30 days}

where previous score is the score that the given wallet had at the time of the most recent transaction, and the netScoreGrowthRate is how many points the score grows by every 24 hours. netScoreGrowthRate is calculated as follows:

netScoreGrowthRate=growthRatebase+growthRatesavingsnetScoreGrowthRate=growthRate_{base}+growthRate_{savings}

where base growth rate is the standard daily score growth rate assigned to each wallet, savings growth rate is an optional additional rate that is dynamically assigned to each wallet when and if a that wallet has a certain quantity of $OPLL tokens locked in a vault, as stipulated later in this document.

Savings growth rate is not summed up across all the vaults and time periods that the user locked their $OPLL tokens in; instead, the biggest score boost value is taken.

Base daily score growth rate is +2 points per day, which can be further boosted by $OPLL tokens locks as discussed above.

Minimum Score

100 points

Maximum Score

900 points

Initial User Score

500 points

Base Daily Score Growth Rate

+2 points

Monthly Liquidation Allowance

Monthly liquidation allowance is assigned based on the wallet’s Opulence score at the beginning of each time period, which lasts for 30 days. The allowance is positively correlated with the score, meaning that the greater the score becomes, the more $OPLL tokens can be liquidated per month. Users can never sell more $OPLL than 100% of their current monthly allowance.

Monthly allowance is calculated based on the wallet's score using the following formula:

allowance=OPLLmaxHoldingsliquidationPeriodallowance=\dfrac{OPLL_{maxHoldings}}{liquidationPeriod}

​where liquidationPeriod is what depends on the score, and maxOPLLHoldings is the highest quantity of tokens held by the wallet since inception (including OPLL locked in vaults). The bigger the score is, the less time it will take users to liquidate their $OPLL holdings.

MaxOPLLHoldings variable is reset every 6 months.

The table below illustrates how the liquidation period depends on the user score, with the values being linearly scaled between max and min values of any relevant bracket:

User Score Bracket
Liquidation Period Bracket

100 points — 250 points

250 days — 150 days

250 points — 750 points

150 days — 100 days

750 points — 900 points

100 days — 55 days

Each sale of $OPLL results in score reduction. The extent to which score is reduced after the sale depends on the resulting allowance utilization percentage after the sale, as well as the score of the user before the sale. The bigger part of the monthly allowance is utilized as a result of the sale, the bigger is the reduction in score. Similarly, the bigger the score of the wallet was before the sale, the more score points will be deducted after the sale. Below is the formula of how the score reduction is calculated after each $OPLL sale:

scoreReduction=maxPenaltyutilizationRatescoreReduction=maxPenalty*utilizationRate

​where maxPenalty is the maximum possible reduction in score that users should face in case of selling 100% of their monthly $OPLL allowance, and utilizationRate is the percentage of monthly allowance used after the completion of a given sale.

The table below describes how the maximum sale penalty is defined based on the score of the wallet before the sale:

User Score Bracket
Max Sale Penalty Bracket

100 points — 250 points

50 points — 150 points

250 points — 750 points

150 points — 250 points

750 points — 900 points

250 points — 250 points

The table below outlines the relationship between the monthly allowance utilization as a result of the sale and the score reduction:

Allowance Utilization Bracket
Percentage of max sale penalty bracket

0% — 25%

0% — 11.5%

25% — 75%

11.5% —38%

75% — 100%

38% —100%

Last updated