Exchange Fee And Fee Distribution
Exchange Fee
uint public constant INVERSE_BASIS_POINT = 10000;
uint public exchangeFeeRate = 0;
The exchange fee rate is predefined in the protocol. Users can't specify this in their orders. Once an order is taken by someone, the exchange fee will be deducted automatically.
exchangeFeeAmount = exchangePrice * exchangeFeeRate / INVERSE_BASIS_POINT
Initially, the exchangeFeeRate
will be set to zero. Later, we will import governance mechanism to modify the exchange fee rate.
Fee Distribution
Order Maker Relayer Benefit
uint public constant INVERSE_BASIS_POINT = 10000;
uint public makerRelayerFeeShare = 8000;
Order maker relayers are the tools which facilitate users to make buy/sell orders on the protocol. These tools can specify their own addresses to gain the benefit.
orderMakerRelayerBenefitAmount = exchangeFeeAmount * makerRelayerFeeShare / INVERSE_BASIS_POINT
Order Taker Relayer Benefit
uint public constant INVERSE_BASIS_POINT = 10000;
uint public takerRelayerFeeShare = 1500;
Order taker relayers are the tools which facilitate users to take buy/sell orders on the protocol. These tools can specify their own addresses to gain the benefit.
orderTakerRelayerBenefitAmount = exchangeFeeAmount * takerRelayerFeeShare / INVERSE_BASIS_POINT
Protocol Fund
uint public constant INVERSE_BASIS_POINT = 10000;
uint public protocolFeeShare = 500;
address public protocolFeeRecipient;
The protocolFeeRecipient
is an address owned by the protocol developer team. They can gain benefit from the exchange fee.
protocolBenefitAmount = exchangeFeeAmount * protocolFeeShare / INVERSE_BASIS_POINT
Governance
uint public exchangeFeeRate = 0;
uint public makerRelayerFeeShare = 8000;
uint public takerRelayerFeeShare = 1500;
uint public protocolFeeShare = 500;
The above parameters in the protocol will be modified by on-chain governance.
Last updated