0xProject / ZEIPs

0x Improvement Proposals
Apache License 2.0
91 stars 24 forks source link

Update protocol fee multiplier to 70,000 #79

Closed mintcloud closed 3 years ago

mintcloud commented 4 years ago

Summary

We propose to decrease the protocol fee multiplier from 150,000 (current value) to 70,000. With the increase of average gas price over the last 3 months, Ethereum is a substantially different environment from when the current value was set, hence this proposal. The goal of reducing the multiplier is to lower the barrier of entry for trading 0x v3 liquidity, with the intent of ultimately increasing adoption and liquidity rewards received by market makers (and by token holders who stake with them).

Type: PARAMETERS

Motivation and rationale

It’s been approximately 6 months since the introduction of new ZRX token economics with the 0x v3 update. 0x v3 introduced a protocol fee on each 0x trade that scales linearly with the gas price. The amount of the protocol fee in USD terms is given by the following equation. Protocol Fee in USD = (fee constant)*(gas price)*(price of ETH in USD)

At 0x v3 launch in November 2019, the initial fee constant was set equal to 150,000. At that time, the median gas price for 0x trades stood at approximately 8 Gwei and the ETH price was approximately 165 USD. Thus, initially, the typical 0x protocol fee worked out to about (150,000)*(8 Gwei)*(165 USD)=0.19 USD.

In the past three months, Ethereum network congestion has caused the protocol fee to increase dramatically. Currently, typical gas prices for 0x trades range from 20 to 40 Gwei, with substantial fluctuations from day to day. At the current ETH price of 248 USD, this equates to a fee of about 0.74 USD to 1.49 USD per trade. In theory, market makers that collect these higher protocol fees should be able to adjust their pricing as gas prices grow. However, we have not yet found this to be the case, likely because this is a relatively new and complex problem.

We feel that it is important to ensure that the 0x protocol remains cost competitive at the most common trade sizes. In order to ensure this, we are proposing a reduction in the protocol fee constant from 150,000 to 70,000. This adjustment would reduce the protocol fee to about 0.35 USD to 0.70 USD per trade. For context, the median DEX trade size is around 500 USD, so a fee of 0.35 USD to 0.70 USD equates to 7 to 14 basis points at the median trade size.

In the long-term, we expect the fee reduction to spur growth in trading activity, particularly at smaller trade sizes. These smaller trades generate the bulk of protocol fee revenue and thus sustaining growth in this segment is essential to achieving long-term increases in ZRX staking rewards.

Implementation

This change can be implemented relatively easily as the protocol fee multiplier is one of the parameters that can be modified without deploying new smart contracts, similarly to ZEIP-77. Parameters will be set by the Governor contract by submitting the following transaction

<TODO>

The change will be effective after 7 days, according to the setProtocolFeeMultiplier timelock.

Designated team: 0x Core Team

Notes

Any notes like links or references that help supporting the present claims.

ghost commented 1 year ago

Summary

We propose to decrease the protocol fee multiplier from 150,000 (current value) to 70,000. With the increase of average gas price over the last 3 months, Ethereum is a substantially different environment from when the current value was set, hence this proposal. The goal of reducing the multiplier is to lower the barrier of entry for trading 0x v3 liquidity, with the intent of ultimately increasing adoption and liquidity rewards received by market makers (and by token holders who stake with them).

Type: PARAMETERS

Motivation and rationale

It’s been approximately 6 months since the introduction of new ZRX token economics with the 0x v3 update. 0x v3 introduced a protocol fee on each 0x trade that scales linearly with the gas price. The amount of the protocol fee in USD terms is given by the following equation. Protocol Fee in USD = (fee constant)*(gas price)*(price of ETH in USD)

At 0x v3 launch in November 2019, the initial fee constant was set equal to 150,000. At that time, the median gas price for 0x trades stood at approximately 8 Gwei and the ETH price was approximately 165 USD. Thus, initially, the typical 0x protocol fee worked out to about (150,000)*(8 Gwei)*(165 USD)=0.19 USD.

In the past three months, Ethereum network congestion has caused the protocol fee to increase dramatically. Currently, typical gas prices for 0x trades range from 20 to 40 Gwei, with substantial fluctuations from day to day. At the current ETH price of 248 USD, this equates to a fee of about 0.74 USD to 1.49 USD per trade. In theory, market makers that collect these higher protocol fees should be able to adjust their pricing as gas prices grow. However, we have not yet found this to be the case, likely because this is a relatively new and complex problem.

We feel that it is important to ensure that the 0x protocol remains cost competitive at the most common trade sizes. In order to ensure this, we are proposing a reduction in the protocol fee constant from 150,000 to 70,000. This adjustment would reduce the protocol fee to about 0.35 USD to 0.70 USD per trade. For context, the median DEX trade size is around 500 USD, so a fee of 0.35 USD to 0.70 USD equates to 7 to 14 basis points at the median trade size.

In the long-term, we expect the fee reduction to spur growth in trading activity, particularly at smaller trade sizes. These smaller trades generate the bulk of protocol fee revenue and thus sustaining growth in this segment is essential to achieving long-term increases in ZRX staking rewards.

Implementation

This change can be implemented relatively easily as the protocol fee multiplier is one of the parameters that can be modified without deploying new smart contracts, similarly to ZEIP-77. Parameters will be set by the Governor contract by submitting the following transaction

<TODO>

The change will be effective after 7 days, according to the setProtocolFeeMultiplier timelock.

Designated team: 0x Core Team

Notes

Any notes like links or references that help supporting the present claims.