[BIP-50] Set Protocol Fee on Yield

Motivation

As part of the recent development efforts into the new composable stable pool and weighted pool factories a new mechanism for adding existing and future types of protocol fees has been designed called the ProtocolFeePercentagesProvider. The first new type of protocol fee has been added for the protocol fee on yield, which will determine the percentage of yield the protocol takes as a fee on tokens like wstETH and bbaUSD.

Given that the protocol fee is currently set to 50% I propose also initiating the protocol fee on yield to 50%. Governance can freely adjust this percentage in the future as with any other protocol fee.

Note that the existing metastable pools like wstETH, rETH, maticX, and stMATIC do not make any distinction between swap fee and yield fee - a 50% protocol fee is applied no matter the source of the income.

Specification

Ethereum

#1

The DAO Multisig 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f will initiate a transaction with the Authorizer 0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6 calling grantRoles with the following arguments:

Roles: [β€œ0xbe2a180d5cc5d803a8eec4cea569989fc1c593d7eeadd1f262f360a68b0e842e”,”0xb28b769768735d011b267f781c3be90bce51d5059ba015bc7a28b3e882fb2083”]

Which corresponds to the roles for setFlashLoanFeePercentage and setSwapFeePercentage on the ProtocolFeeCollector from here.

Account: 0x97207B095e4D5C9a6e4cfbfcd2C3358E03B90c4A

This is the address for the ProtocolFeePercentagesProvider. This tx allows the new provider to set swap fee and flash loan fee on the fee collector.

#2

The DAO Multisig 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f will initiate a transaction with the Authorizer 0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6 calling grantRole with the following arguments:

Role: 0x4907aec017cb19a28528e722251b40fd7c5eadd4f4a0f0c6a9bca9888f8a0b7f

This is the role for calling setFeeTypePercentage on the ProtocolFeePercentagesProvider which can be found here.

Account: 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f

This will allow the DAO Multisig to call the above function.

#3

The DAO Multisig 0x10A19e7eE7d7F8a52822f6817de8ea18204F2e4f will initiate a transaction with the ProtocolFeePercentageProvider 0x97207B095e4D5C9a6e4cfbfcd2C3358E03B90c4A calling setFeeTypePercentage with the following arguments:

feeType: 2

This corresponds to the Yield fee type which can be verified here.

newValue: 500000000000000000

This sets the fee on yield to 50%

Polygon

#1
The DAO Multisig 0xd2bD536ADB0198f74D5f4f2Bd4Fe68Bae1e1Ba80 will initiate a transaction to the Authorizer 0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6 calling grantRoles with the following arguments:

Roles: [β€œ0xbe2a180d5cc5d803a8eec4cea569989fc1c593d7eeadd1f262f360a68b0e842e”,”0xb28b769768735d011b267f781c3be90bce51d5059ba015bc7a28b3e882fb2083”]

Which corresponds to the roles for setFlashLoanFeePercentage and setSwapFeePercentage on the ProtocolFeeCollector from here.

Account: 0x42AC0e6FA47385D55Aff070d79eF0079868C48a6

This is the address for the ProtocolFeePercentagesProvider. This tx allows the new provider to set swap fee and flash loan fee on the fee collector.

#2
The DAO Multisig 0xd2bD536ADB0198f74D5f4f2Bd4Fe68Bae1e1Ba80 will initiate a transaction to the Authorizer 0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6 calling grantRole with the following arguments:

Role: 0x716d6b6afc33d645e9c2c78937fc28afcca38a4ef927fb307679e9709b73214e

This is the role for calling setFeeTypePercentage on the ProtocolFeePercentagesProvider which can be found here.

Account: 0xd2bD536ADB0198f74D5f4f2Bd4Fe68Bae1e1Ba80

This will allow the DAO Multisig to call the above function.

#3
The DAO Multisig 0xd2bD536ADB0198f74D5f4f2Bd4Fe68Bae1e1Ba80 will initiate a transaction with the ProtocolFeePercentageProvider 0x42AC0e6FA47385D55Aff070d79eF0079868C48a6 calling setFeeTypePercentage with the following arguments:

feeType: 2

This corresponds to the Yield fee type which can be verified here.

newValue: 500000000000000000

This sets the fee on yield to 50%

Arbitrum

#1
The DAO Multisig 0x6207ed574152496c9B072C24FD87cE9cd9E17320 will initiate a transaction to the Authorizer 0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6 calling grantRoles with the following arguments:

Roles: [β€œ0xbe2a180d5cc5d803a8eec4cea569989fc1c593d7eeadd1f262f360a68b0e842e”,”0xb28b769768735d011b267f781c3be90bce51d5059ba015bc7a28b3e882fb2083”]

Which corresponds to the roles for setFlashLoanFeePercentage and setSwapFeePercentage on the ProtocolFeeCollector from here.

Account: 0x5ef4c5352882b10893b70DbcaA0C000965bd23c5

This is the address for the ProtocolFeePercentagesProvider. This tx allows the new provider to set swap fee and flash loan fee on the fee collector.

#2

The DAO Multisig 0x6207ed574152496c9B072C24FD87cE9cd9E17320 will initiate a transaction to the Authorizer 0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6 calling grantRole with the following arguments:

Role: 0xa0ace5c52c8f0974c521244ccf49a5a7166a9a6fcef623779b42d55fb2c5fbbe

This is the role for calling setFeeTypePercentage on the ProtocolFeePercentagesProvider which can be found here.

Account: 0x6207ed574152496c9B072C24FD87cE9cd9E17320

This will allow the DAO Multisig to call the above function.

#3
The DAO Multisig 0x6207ed574152496c9B072C24FD87cE9cd9E17320 will initiate a transaction with the ProtocolFeePercentageProvider 0x5ef4c5352882b10893b70DbcaA0C000965bd23c5 calling setFeeTypePercentage with the following arguments:

feeType: 2

This corresponds to the Yield fee type which can be verified here.

newValue: 500000000000000000

This sets the fee on yield to 50%

Optimism

#1
The DAO Multisig 0x043f9687842771b3dF8852c1E9801DCAeED3f6bc will initiate a transaction to the Authorizer 0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6 calling grantRoles with the following arguments:

Roles: [β€œ0xbe2a180d5cc5d803a8eec4cea569989fc1c593d7eeadd1f262f360a68b0e842e”,”0xb28b769768735d011b267f781c3be90bce51d5059ba015bc7a28b3e882fb2083”]

Which corresponds to the roles for setFlashLoanFeePercentage and setSwapFeePercentage on the ProtocolFeeCollector from here.

Account: 0xacAaC3e6D6Df918Bf3c809DFC7d42de0e4a72d4C

This is the address for the ProtocolFeePercentagesProvider. This tx allows the new provider to set swap fee and flash loan fee on the fee collector.

#2

The DAO Multisig 0x043f9687842771b3dF8852c1E9801DCAeED3f6bc will initiate a transaction to the Authorizer 0xA331D84eC860Bf466b4CdCcFb4aC09a1B43F3aE6 calling grantRole with the following arguments:

Role: 0xc590d1824cb11a50f3d081768a616d291aa32f60faa7f4a4be551885a96e2eea

This is the role for calling setFeeTypePercentage on the ProtocolFeePercentagesProvider which can be found here.

Account: 0x043f9687842771b3dF8852c1E9801DCAeED3f6bc

This will allow the DAO Multisig to call the above function.

#3
The DAO Multisig 0x043f9687842771b3dF8852c1E9801DCAeED3f6bc will initiate a transaction with the ProtocolFeePercentageProvider 0xacAaC3e6D6Df918Bf3c809DFC7d42de0e4a72d4C calling setFeeTypePercentage with the following arguments:

feeType: 2

This corresponds to the Yield fee type which can be verified here.

newValue: 500000000000000000

This sets the fee on yield to 50%

9 Likes

yup, sure, let’s do it. This is important for the future of Balancer.

2 Likes

Important piece of the core pool puzzle. People will be blown away by how much fees we can generate for them and the DAO (incl bribes). No brainer!

2 Likes

I think thats a pretty good proposal, in support to maximize revenues of the DAO

1 Like

In favor of this. We need to utilize these methods to make more revenue for the DAO and be sustainable.

1 Like

FYI updated to include the specification for L2’s

That’s too much, man!

50% is in-line with today. only difference here is we will be able to toggle it in the future.

Makes sense, I support it

https://snapshot.org/#/balancer.eth/proposal/0x935810bbd647a46e8e0e8a858dd2d11a9bc7c26a0634eaff2dd638eab4c6c615

@solarcurve your technical explanation of the steps that will happen is phenomenal. Thanks very much

1 Like

What do you mean by this? Are you implying governance has no power to change the protocol swap fee?

No, sorry im saying that we arent changing anything from the current environment with this rollout. Ofc it can be changed by govenance in the future, i didnt want people to freak out that we were introducing a new fee.