Good questions Pascal. I’ll answer here, and make sure they’re included in the docs when applicable. For those willing to look at the protocol code, most fee details can be found in the FeePolicy.
Fee Values
perpMintFee
- The fee a minter pays when minting SPOT.
For example, if the collateral value of 1 SPOT token is 1 AMPL (as it is now), a minter receives 1 SPOT for 1 fully collateralized AMPL A-tranche when the fee is 0%. If there were a 1% fee, a minter would receive .99 SPOT for that 1 tranche. This is non-extractive, so the all the input tranches still go to the SPOT collateral base, effectively enriching SPOT.
perpBurnFee
- The fee for redeeming SPOT tokens for the underlying collateral.
Similar structure as the mint fee. A 1% burn fee means a redeemer would get 1% less collateral compared to the 0% fee case. The remainder stays in the SPOT collateral set.
underlyingToPerpSwapFee
and perpToUnderlyingSwapFee
- These are the trade fees when swapping between AMPL and SPOT through the Rotation Vault. Since this swapping is enabled by the liquid AMPL provided by Rotation Vault stakers, these fees go to the Rotation Vault, in the form of increased collateral base for vault stakers.
Note that swapping also results in SPOT minting or redemption. So the total swap fee for a user is the sum of perpMint/Burn and the SwapFee.
vaultMintFee
and vaultBurnFee
- Similar to perp mint and burn fees, but for the Rotation Vault (i.e. stAMPL). This is similarly non-extractive, so all fees result in increasing the collateral base for the remaining stAMPL holders.
Rollover Fee Curve
The rollover fee curve is a shaped Sigmoid function, similar to the sigmoid curve of the AMPL supply policy. The shape of this sigmoid curve is defined by three shaping parameters: ceiling, floor, and growth factor.
rolloverFeeLower
determines the lower asymptote, and rolloverFeeUpper
defines the upper asymptote. rolloverFeeGrowth
determines the slope at the origin. So the higher the growth facter, the more sensitive the fee is to changes in the input, and the quicker the system reaches the ceiling or floor.
The input of this curve is the “Deviation Ratio”, which is a measure of how far the SPOT/stAMPL ratio is from the desired equilibrium.
Configuration Values
targetSubscriptionRatio
- This determines what is considered a “healthy equilibrium” between SPOT and stAMPL. A subscription ratio of 1.0 is exactly equal to the tranche ratio of the current minting bond. Today, the bond minting ratio is 33/67, so a target subscription ratio of 1.0 would be 33 AMPL worth of SPOT for every 67 AMPL worth of stAMPL. 1.5 adds a 50% buffer to guard against underfunded SPOT rotations.
deviationRatioBoundLower
- The point below which swapping from AMPL to SPOT is no longer offered by the rotation vault.
deviationRatioBoundUpper
- The point above which swapping from SPOT to AMPL is no longer offered by the rotation vault.
minUnderlyingBal
- A safety buffer of AMPL that must always exist inside the Rotation Vault. See 3.1 here, for reasons for this safety measure.
minUnderlyingPerc
- This guards the swap functions from locking up free AMPL that would otherwise be needed to perform rotations. Rotation uptime is always given priority over swapping.
minDeploymentAmt
- The smallest size rotation needed to execute, denominated in AMPL. This guards against gas griefing attacks.