Protocol Fees

To build the right incentives, certain fees are in place. Every user should be aware of the fees they might need to pay, as these may be deducted at certain points.

Fees

DetailsDefault value

Pool fee

Fixed fee paid to the pool when interacting with it

1.5 ADA (Paid to the pool with supply token)

Protocol fee

% of interest paid to the DAO when repaying the loan

1% When UR is <15% 1.5% When UR is between 15% and 45% 2% When UR is >45%

Liquidation fee

Fee paid by borrower at a time of liquidation

2.5% of collateral

Swap fee

Fee accounted when converting values using price feed

0.3% of value

Pool fee

To optimize protocol usage, a pool fee can be added. The fee is a fixed value (e.g., 1.5 ADA) denominated in pool tokens and must be paid directly to the pool. This fee is incurred for every type of pool interaction:

  • Deposit

  • Withdraw

  • Borrow

  • Repay

  • Liquidate

Protocol fee

A protocol fee is collected in a predefined wallet for each pool. The fee is paid as a percentage of the total interest. This percentage can vary based on the utilization rate; a higher utilization rate could result in a different percentage fee. The UI provider decides which pools to accept.

fn get_platform_fee(
  collateral_datum: CollateralDatum,
  platform_fee_datum: pool.PlatformFeeDetails,
) -> Int {
  expect Some(utilization_rate) =
    collateral_datum.loan_amount * 1000000
      |> rational.new(collateral_datum.lent_out + collateral_datum.balance)
  if
  (
    utilization_rate
      |> rational.compare(rational.from_int(platform_fee_datum.tier_1_threshold))
  ) == Less{
  
    platform_fee_datum.tier_1_fee
  } else if (
    utilization_rate
      |> rational.compare(rational.from_int(platform_fee_datum.tier_2_threshold))
  ) == Less {
    platform_fee_datum.tier_2_fee
  } else {
    platform_fee_datum.tier_3_fee
  }
}

Example

  • Utilization Rate (UR): 20%

  • Protocol Fee if UR is between 15% and 45%: 5%

  • Loan Interest: 17.5 ADA

Protocol fee paid to wallet X: 17.5ADA×517.5 ADA×5%=0.875 ADA17.5 ADA×5%=0.875 ADA

Cardano's native minimum ADA requirement to send is approximately 1 ADA if the fee is in ADA, or approximately 1.2 ADA plus the fee if the asset is a native asset.

Liquidation fee

To incentivize liquidators, a liquidation fee is paid when a loan is liquidated. The fee is a percentage of the collateral value

 expect Some(borrower_compensation_in_ada) =
    rational.new(
      ( collateral_value) * 975000,
      1000000,
    )

Example:

  • Loan: 100 ADA

  • Collateral: 120 ADA

  • Interest: 2 ADA

  • Liquidation Fee: 2.5%

Upon liquidation, the liquidator will receive: Liquidation fee = 120 * 2.5% = 3 ADA

After liquidation, the borrower would receive: 120 ADA - 100 - 2 - 3 = 15 ADA

Last updated