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=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 ∣𝑠𝑘𝑒𝑤’−𝑠𝑘𝑒𝑤∣∣skew’−skew∣, and is meant to measure the size of the order relative to the market.
The impact is defined as ∣𝑠𝑘𝑒𝑤’∣−∣𝑠𝑘𝑒𝑤∣∣skew’∣−∣skew∣, and is meant to measure how much the order hurt or helped the overall skew of the market.
𝑠𝑘𝑒𝑤𝐹𝑒𝑒=Δ𝑠𝑘𝑒𝑤∗𝑡𝑎𝑘𝑒𝑟𝑆𝑘𝑒𝑤𝐹𝑒𝑒𝑖𝑚𝑝𝑎𝑐𝑡𝐹𝑒𝑒=𝑖𝑚𝑝𝑎𝑐𝑡∗𝑡𝑎𝑘𝑒𝑟𝐼𝑚𝑝𝑎𝑐𝑡𝐹𝑒𝑒𝑡𝑎𝑘𝑒𝑟𝑃𝑟𝑖𝑐𝑒𝐼𝑚𝑝𝑎𝑐𝑡=𝑛𝑜𝑡𝑖𝑜𝑛𝑎𝑙∗(𝑏𝑎𝑠𝑒𝐹𝑒𝑒+𝑠𝑘𝑒𝑤𝐹𝑒𝑒+𝑖𝑚𝑝𝑎𝑐𝑡𝐹𝑒𝑒)skewFeeimpactFeetakerPriceImpact=Δskew∗takerSkewFee=impact∗takerImpactFee=notional∗(baseFee+skewFee+impactFee)
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+Δ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
Was this helpful?