💰Trading Fees and Price Impact

Price impact and trading fees are incurred whenever an account's position changes.

Settlement Fee

The settlement fee is charged anytime the position changes – this is a fixed amount set by the settlementFee parameter and is used to cover the oracle keeper fee.

settlementFee=settlementFeesettlement Fee = settlementFee

Taker Price Impact

Charged when a long or short position is opened or closed – there are three components to the taker impact:

  • Notional size of the order,

  • Change in skew that it causes the market

  • Impact that it causes the market.

The change in skew is defined as skewskew|skew’ - skew|, and is meant to measure the size of the order relative to the market.

The impact is defined as skewskew|skew’| - |skew|, and is meant to measure how much the order hurt or helped the overall skew of the market.

skewFee=ΔskewtakerSkewFeeimpactFee=impacttakerImpactFeetakerPriceImpact=notional(baseFee+skewFee+impactFee)\begin{align*} skewFee &= Δskew * takerSkewFee \\ impactFee &= impact * takerImpactFee \\ takerPriceImpact &= notional * (baseFee + skewFee + impactFee ) \end{align*}

Maker Fee

Similarly, the maker fee is charged when a maker position is opened or closed – There are two components to the maker fee:

  • Notional size of the order

  • Change in utilization that it causes the market.

The change in utilization is defined as utilization’ - utilization, and is meant to measure how much the order hurt or helped the overall utilization of the market.

makerfee=notional(makerFee+ΔutilizationmakerImpactFee)makerfee = notional * (makerFee + Δutilization * makerImpactFee)

Fee Split

All collected fees are split between the Makers (and in rare cases takers), Perennial treasury, and the respective Product owner's treasury.

This allows market owners (whether individual organization or DAOs / protocols) to collect revenue directly from the administration of the Products and their parameters.

Last updated