Untitled
  • Technical architecture of noya
  • Noya fees
  • Roles in noya
  • Registry flows
  • Accounting manager flows
  • Omnichain architecture
  • Connectors
Powered by GitBook
On this page

Noya fees

In noya, there are 3 types of fees.

  • Withdrawal fee It's a percentage of user's withdrawal (currently is 0%). It occurs in the "executeWithdraw" function of the accountingManager contract.

  • Management fee The manager simply mint x% of the total shares * (time_elapsed_from_last_fee / seconds_in_year) to the feeReceiver periodically (at most every 10 days). The manager will call the "collectManagementFees" function of the accountingManager contract to redeem this fee.

  • Performance fee If the noya vault makes any profit, the strategy manager will get a percentage of that profit. To ensure that this is actually the profit and the manager is not manipulating the vault, there is a 2 step process to get this fee. 1. First the strategy manager calls the “recordProfitForFee “ function to calculate the shares of the fees and store the fee amount in “preformanceFeeSharesWaitingForDistribution “ variable. 2. It has to wait for at least 12 hours. During this 12 hours, if the profit of noya goes lower than the profit amount at the end of step 1, anyone can call the function "checkIfTVLHasDroped" and the fees that were recorded in the step 1 will be put to 0. To get the fees again, the manager has to do the first step again and wait for 12 hours. If the profit doesn’t drop within 12 hours, it means that there was no manipulation. Then it can call "collectPerformanceFees" function of the accountingManager and get the performance fee.

Also to prevent the compounding effect on the fees (taking fees from the previous fees), the fee receiver is a contract that can only burn or withdraw shares(can't transfer) and we reduce the balance of this account from all shares to not count it in the fee calculation

PreviousTechnical architecture of noyaNextRoles in noya

Last updated 1 year ago