Protocol Fees

Introduction to Protocol Fees

The MORE protocol allows the ‘Owner’ to implement fees on individual markets. These fees compensate for the use of the protocol and are linked to the interest generated by lending activities. A fee switch built into the protocol governs these fees, which can range from 0% to 25% of the total interest paid by borrowers in a given market.

Setting Default Fees

Governance within the MORE protocol can set fees for each market using the setFee function, but certain conditions must be met:

  • The market must be created before a fee is applied.

  • The fee percentage must not exceed the MAX_FEE constant, set at 25%.

When these criteria are satisfied, the setFee function invokes the _accrueInterest function, ensuring that any interest accrued before the fee's implementation remains unaffected. After the fee is applied, it impacts only future interest generated in the market.

The fee is calculated as a percentage of the interest, automatically incorporating the underlying interest rate model, which may include factors like velocity and utilization in the case of an adaptive interest rate model (Adaptive IRM). As such, when a fee is charged, these dynamic attributes are inherently accounted for in the MORE protocol.

The fee amount is calculated based on the fee percentage and converted into fee shares, which are then minted to the designated fee recipient (more on this below). These fee shares increase the total supply shares of the market, reflecting the fee recipient's claim on the market's generated interest.

Upon successful execution, the protocol emits a SetFee event, confirming the fee has been established.

Setting Fee Recipient

Governance also holds the authority to set or update the address that will receive the accrued fees. This is done through the setFeeRecipient function, which takes the address of the new fee recipient as input. To prevent errors, the protocol ensures that the new fee recipient address cannot match the current recipient address. Once the function is executed, a SetFeeRecipient event is emitted, marking the transition of the fee recipient.

Example of Standard Protocol Fee Calculation

For this example, let's consider the parameters below. To simplify the example, fees are evaluated over a 1-day period.

  • Market: ETHf/USDf

  • Total Deposits: $10,000,000

  • 1-Day APY: 6%

  • Protocol Fee: 10%

  • Total Borrow: $5,000,000

The total interest generated by borrowers is calculated using the following formula:

Where, Interest Accrued over a single period is calculated by:

$821.92 = $5000000 \left( 1 + \frac{0.06}{365}\right)^1 - $5000000

Where:

  • P is the principal amount,

  • APY is the annual percentage yield (as a decimal),

  • 365 is the number of days in a year.

The resulting formula is thus:

\text{Protocol Fee} = $821.92 \times 10\%
$82.19 = $821.92 \times 10\%

The resulting protocol fees generated this market over the course of one day amount to $82.19 on total interest accrued of $821.92.

Premium Fees

The MORE protocol has a specialized fee system for premium borrowers, who are often higher-risk or higher-value participants. Premium fees follow the same structure as standard fees but are tailored to account for the unique characteristics of these borrowers. Governance can set a premium fee percentage, which is also constrained between 0% and 50%, and these fees are accrued as shares to the same fee recipient specified in the setFeeRecipient function.

The premium fee system is enabled when it is set to any percentage higher than 0%. When the fee is set, premium fees are calculated similarly to standard fees, taking into account the interest rate model and the dynamic factors of market conditions such as utilization and velocity, particularly when an adaptive interest rate model is used. This ensures that the fees accurately reflect current market dynamics.

The protocol identifies premium borrowers through the _accrueInterest function, which flags users with a multiplier higher than the standard rate (1x). A higher multiplier means the user is classified as premium, enabling the protocol to separate and track the interest they generate.

What distinguishes the premium fee system is how it adjusts for borrower risk. The interest rate multiplier applied to premium borrowers is closely aligned with their specific risk profile, which is determined by factors like the LLTV ratio and credit rating. This means that the protocol fee percentage applied on top of an interest rate for premium borrowers already reflects the borrower’s risk level. As a result, the protocol ensures that the fees charged to premium borrowers are proportionate to the risks they pose.

Premium Interest Calculation Mechanism

For premium borrowers, an additional fee is applied on top of their adjusted interest rate. This additional fee is calculated as a fixed percentage of the total interest rate derived from the borrower’s base interest rate and premium multiplier.

  • Base Interest Rate: This is the market interest rate set for a particular market.

  • Premium Multiplier: This multiplier increases the borrower’s interest rate based on their premium classification.

  • Fixed Premium Fee: This is a percentage added to the total interest rate of a premium borrower.

The total interest a premium borrower is charged includes the base rate, adjusted by the multiplier, plus the premium fee. This ensures that premium borrowers pay a higher rate in alignment with their risk profiles while contributing more to the protocol.

Scenario 1:

  • Market Interest Rate: 5%

  • Premium Multiplier: 1.5x

  • Fixed Premium Fee: 10%

Without Premium Fee:

  • Total Interest = Base Rate * Multiplier = 5% * 1.5 = 7.5%

With Premium Fee:

  • Premium Fee = Initial Total Interest * Fixed Premium Fee = 7.5% * 10% = 0.75%

  • Total Interest = Initial Total Interest + Premium Fee = 7.5% + 0.75% = 8.25%

Scenario 2:

  • Market Interest Rate: 4%

  • Premium Multiplier: 2.0x

  • Fixed Premium Fee: 10%

Without Premium Fee:

  • Total Interest = Base Rate * Multiplier = 4% * 2.0 = 8%

With Premium Fee:

  • Premium Fee = Initial Total Interest * Fixed Premium Fee = 8% * 10% = 0.8%

  • Total Interest = Initial Total Interest + Premium Fee = 8% + 0.8% = 8.8%

Example of Premium Protocol Fee Calculation

Building on the standard fees, let's consider the parameters below:

  • Market: ETHf/USDf

  • Total Deposits: $10,000,000

  • 1-Day APY: 6%

  • Protocol Fee: 10%

  • Total Borrow: $5,000,000

  • Percentage of Premium Borrowers: 50%

  • Premium Multiplier: 1.5x

  • Premium Markup: 10%

For this example, 50% of borrowed assets are accounted for in premium loans. As a result, $2,500,000 of the total borrowed amount has been originated by premium borrowers, while the other $2,500,000 are from standard borrowers.

First, the calculation of accrued interest from standard loans follows the same formula as in the example above. However, rather than $5,000,000, only $2,500,000 is accounted for in this way.

$410.96 = $2500000 \left( 1 + \frac{0.06}{365}\right)^1 - $2500000

For premium borrowers, a premium interest rate must first be calculated:

In this example, the interest rate of 6% is multiplied by 1.5, the premium multiplier. This is the rate charged to borrowers and paid to lenders before the standard protocol fee is applied.

As a result the interest generated from loans to premium borrowers paid to lenders in this market for one day can be calculated using the initial compound interest formula defined in the standard protocol fee calculation:

\text{Premium Loan Interest} = $616.44 = $2500000 \left( 1 + \frac{0.09}{365}\right)^1 - $2500000

The total interest generated from both standard and premium loans in the market is thus:

$616.44 + $410.96 = $1,027.40

The standard protocol fee is applied to this amount in order to calculate the protocol revenue. In this example, the standard protocol fee is 10%:

$1,027.40 \times 10\% = $102.74

The protocol also calculates a premium borrow fee using the premium borrow rate as the basis. This fee remunerates the protocol specifically for providing premium loans. In this example, the premium markup is multiplied by the premium rate in order to deduce the premium borrow fee.

The premium borrow fee can then be used to calculate the protocol fees generated on premium loans from the market using the same compound interest function as in the standard fees example in the section above:

\text{Premium Protocol Fees} = $61.64 = $2500000 \left( 1 + \frac{0.009}{365}\right)^1 - $2500000

These calculations ensure that premium borrowers who often present slightly higher protocol risk, contribute more towards the protocol's overall sustainability, in a fair and transparent way. Since the interest rate for premium borrowers already accounts for risk through the multiplier, the premium fee is an additional layer of compensation for utilizing the protocol's premium borrow facility.

Last updated