Fees
Last updated
Was this helpful?
Last updated
Was this helpful?
Transaction fees are paid by traders taking liquidity (takers) and split between LPs (makers) and protocol stakeholders at a rate determined by governance. To retain higher composability, transaction fees are accumulated separately and not compounded back into LP positions.
The trading fee is calculated as follows:
Pool creation is permissionless* and fee based. The fee is dynamic and incentivizes users to initialize pools that are ATM and near-dated, as they are the cheapest to create. Additionally, discounts are provided for specific expirations and/or strikes that have not been initialized that would create spread trading opportunities. The formal math behind how this is determined can be found in Appendix A.2 of the .
The fee for a pool initialization can be queried from the IPoolFactory
interface using the initializationFee method. As a basic example, if a user wanted to initialize a 50 Delta option with 14 days to expiration, the fee to do so would be $25.
NOTE: Permissionless Pool Creation Bounds
In order to prevent excessive fragmentation and ensure maximum composability with other option markets, pools can only be created for common strikes and expirations.
The maximum expiration an option can be created with is 365 days out. Options will all expire at 8AM UTC, with all options over 7 days to maturity expiring on a Friday. All options past 30 days must expire on the last Friday of the month.
Additionally, a spot market needs a valid oracle feed for the token pair (ie. ETH/USDC). Premia v3 has out-of-the-box support for any Chainlink oracle, Uniswap v3 pair, or custom oracle solution that implements the IOracleAdapter
interface.
Strikes are algorithmically limited to common values (log-rounded). The formal math behind how this is determined can be found in Append A.1 of the .