Operation fee calculation
Last updated
Last updated
When an operator submits tx deposit_strategy or withdraw_strategy (when assets are rebalanced between lending protocols), we call this the rebalance crank.
Fee is collected to the fee_vault every time the operator sends a rebalance crank. This fee is shown in the fee_vault address as vault LP SPL tokens.
We are currently charging 5% of profit as the operation (performance) fee. Before jumping into the formula, we define some variables:
Before rebalance:
vault.total_amount : t1
lp_mint.total_supply: p1
virtual_price (value of lp token): v1 =t1/p1
After rebalance:
vault.total_amount : t2
lp_mint.total_supply: p1
virtual_price: v2 =t2/p1
We charge operation fee:
Virtual price after fee:
Vault doesn't send the token directly to the treasury token account (because vault may not have enough liquidity), so vault mint more lp tokens for fee_vault. Assuming vault mints more delta lp tokens, then the new virtual price:
We still ensure the virtual price in (1) and (2) are the same v21=v22, so
Then we can calculate how many lp tokens is minted more for each rebalance crank:
Or