# \[BIP-50\] Set Protocol Fee on Yield

**URL:** https://forum.balancer.fi/t/bip-50-set-protocol-fee-on-yield/3614
**Category:** General Proposal
**Created:** [August 19, 2022, 6:22pm UTC](https://forum.balancer.fi/t/bip-50-set-protocol-fee-on-yield/3614 "2022-08-19T18:22:51Z")
**Posts on this page:** 13
**Page:** 1

<div class="post-metadata">

### Author: ![solarcurve](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/solarcurve/32/1487_2.png) [@solarcurve](https://forum.balancer.fi/u/solarcurve)
#### Post date: [August 19, 2022, 6:22pm UTC](https://forum.balancer.fi/t/bip-50-set-protocol-fee-on-yield/3614/1 "2022-08-19T18:22:51Z")

</div>

### 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](https://github.com/balancer-labs/balancer-v2-monorepo/blob/master/pkg/deployments/action-ids/mainnet/action-ids.json#L43).

Account: `0x97207B095e4D5C9a6e4cfbfcd2C3358E03B90c4A`

This is the address for the [`ProtocolFeePercentagesProvider`](https://github.com/balancer-labs/balancer-v2-monorepo/blob/master/pkg/deployments/tasks/20220725-protocol-fee-percentages-provider/output/mainnet.json). 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](https://github.com/balancer-labs/balancer-v2-monorepo/blob/master/pkg/deployments/action-ids/mainnet/action-ids.json#L719).

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](https://github.com/balancer-labs/balancer-v2-monorepo/blob/master/pkg/interfaces/contracts/standalone-utils/IProtocolFeePercentagesProvider.sol#L89).

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](https://github.com/balancer-labs/balancer-v2-monorepo/blob/master/pkg/deployments/action-ids/polygon/action-ids.json#L43).

Account: `0x42AC0e6FA47385D55Aff070d79eF0079868C48a6`

This is the address for the [`ProtocolFeePercentagesProvider`](https://github.com/balancer-labs/balancer-v2-monorepo/blob/master/pkg/deployments/tasks/20220725-protocol-fee-percentages-provider/output/polygon.json). 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](https://github.com/balancer-labs/balancer-v2-monorepo/blob/master/pkg/deployments/action-ids/polygon/action-ids.json#L429).

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](https://github.com/balancer-labs/balancer-v2-monorepo/blob/master/pkg/interfaces/contracts/standalone-utils/IProtocolFeePercentagesProvider.sol#L89).

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](https://github.com/balancer-labs/balancer-v2-monorepo/blob/master/pkg/deployments/action-ids/arbitrum/action-ids.json#L46).

Account: `0x5ef4c5352882b10893b70DbcaA0C000965bd23c5`

This is the address for the [`ProtocolFeePercentagesProvider`](https://github.com/balancer-labs/balancer-v2-monorepo/blob/master/pkg/deployments/tasks/20220725-protocol-fee-percentages-provider/output/arbitrum.json). 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](https://github.com/balancer-labs/balancer-v2-monorepo/blob/master/pkg/deployments/action-ids/arbitrum/action-ids.json#L339).

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](https://github.com/balancer-labs/balancer-v2-monorepo/blob/master/pkg/interfaces/contracts/standalone-utils/IProtocolFeePercentagesProvider.sol#L89).

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](https://github.com/balancer-labs/balancer-v2-monorepo/blob/master/pkg/deployments/action-ids/optimism/action-ids.json#L46).

Account: `0xacAaC3e6D6Df918Bf3c809DFC7d42de0e4a72d4C`

This is the address for the [`ProtocolFeePercentagesProvider`](https://github.com/balancer-labs/balancer-v2-monorepo/blob/master/pkg/deployments/tasks/20220725-protocol-fee-percentages-provider/output/optimism.json). 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](https://github.com/balancer-labs/balancer-v2-monorepo/blob/master/pkg/deployments/action-ids/optimism/action-ids.json#L229).

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](https://github.com/balancer-labs/balancer-v2-monorepo/blob/master/pkg/interfaces/contracts/standalone-utils/IProtocolFeePercentagesProvider.sol#L89).

newValue: `500000000000000000`

This sets the fee on yield to 50%

---

<div class="post-metadata">

### Author: ![zekraken](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/zekraken/32/823_2.png) [@zekraken](https://forum.balancer.fi/u/zekraken)
#### Post date: [August 19, 2022, 6:30pm UTC](https://forum.balancer.fi/t/bip-50-set-protocol-fee-on-yield/3614/2 "2022-08-19T18:30:25Z")

</div>

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

---

<div class="post-metadata">

### Author: ![Xeonus](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/xeonus/32/3621_2.png) [@Xeonus](https://forum.balancer.fi/u/Xeonus)
#### Post date: [August 19, 2022, 7:03pm UTC](https://forum.balancer.fi/t/bip-50-set-protocol-fee-on-yield/3614/3 "2022-08-19T19:03:31Z")

</div>

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!

---

<div class="post-metadata">

### Author: ![0xMaki](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/0xmaki/32/1134_2.png) [@0xMaki](https://forum.balancer.fi/u/0xMaki)
#### Post date: [August 23, 2022, 12:55am UTC](https://forum.balancer.fi/t/bip-50-set-protocol-fee-on-yield/3614/4 "2022-08-23T00:55:13Z")

</div>

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

---

<div class="post-metadata">

### Author: ![Bobbay\_StableLab](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/bobbay_stablelab/32/2180_2.png) [@Bobbay\_StableLab](https://forum.balancer.fi/u/Bobbay_StableLab)
#### Post date: [August 23, 2022, 6:42am UTC](https://forum.balancer.fi/t/bip-50-set-protocol-fee-on-yield/3614/5 "2022-08-23T06:42:53Z")

</div>

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

---

<div class="post-metadata">

### Author: ![solarcurve](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/solarcurve/32/1487_2.png) [@solarcurve](https://forum.balancer.fi/u/solarcurve)
#### Post date: [August 23, 2022, 1:56pm UTC](https://forum.balancer.fi/t/bip-50-set-protocol-fee-on-yield/3614/6 "2022-08-23T13:56:04Z")

</div>

FYI updated to include the specification for L2’s

---

<div class="post-metadata">

### Author: ![sabrinaaround](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/sabrinaaround/32/1720_2.png) [@sabrinaaround](https://forum.balancer.fi/u/sabrinaaround)
#### Post date: [August 23, 2022, 4:39pm UTC](https://forum.balancer.fi/t/bip-50-set-protocol-fee-on-yield/3614/7 "2022-08-23T16:39:06Z")

</div>

> [@solarcurve](#):
>
> I propose also initiating the protocol fee on yield to 50%

That’s too much, man!

---

<div class="post-metadata">

### Author: ![zekraken](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/zekraken/32/823_2.png) [@zekraken](https://forum.balancer.fi/u/zekraken)
#### Post date: [August 23, 2022, 4:49pm UTC](https://forum.balancer.fi/t/bip-50-set-protocol-fee-on-yield/3614/8 "2022-08-23T16:49:44Z")

</div>

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

---

<div class="post-metadata">

### Author: ![FamousOlSpiced](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/famousolspiced/32/1758_2.png) [@FamousOlSpiced](https://forum.balancer.fi/u/FamousOlSpiced)
#### Post date: [August 23, 2022, 6:55pm UTC](https://forum.balancer.fi/t/bip-50-set-protocol-fee-on-yield/3614/9 "2022-08-23T18:55:20Z")

</div>

Makes sense, I support it

---

<div class="post-metadata">

### Author: ![solarcurve](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/solarcurve/32/1487_2.png) [@solarcurve](https://forum.balancer.fi/u/solarcurve)
#### Post date: [August 25, 2022, 3:42pm UTC](https://forum.balancer.fi/t/bip-50-set-protocol-fee-on-yield/3614/10 "2022-08-25T15:42:16Z")

</div>

[https://snapshot.org/#/balancer.eth/proposal/0x935810bbd647a46e8e0e8a858dd2d11a9bc7c26a0634eaff2dd638eab4c6c615](https://snapshot.org/#/balancer.eth/proposal/0x935810bbd647a46e8e0e8a858dd2d11a9bc7c26a0634eaff2dd638eab4c6c615)

---

<div class="post-metadata">

### Author: ![John\_TV\_Locke](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/john_tv_locke/32/1414_2.png) [@John\_TV\_Locke](https://forum.balancer.fi/u/John_TV_Locke)
#### Post date: [August 31, 2022, 1:08pm UTC](https://forum.balancer.fi/t/bip-50-set-protocol-fee-on-yield/3614/11 "2022-08-31T13:08:04Z")

</div>

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

---

<div class="post-metadata">

### Author: ![gerg](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/gerg/32/200_2.png) [@gerg](https://forum.balancer.fi/u/gerg)
#### Post date: [August 31, 2022, 1:19pm UTC](https://forum.balancer.fi/t/bip-50-set-protocol-fee-on-yield/3614/12 "2022-08-31T13:19:27Z")

</div>

> [@zekraken](#):
>
> 50% is in-line with today. only difference here is we will be able to toggle it in the future.

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

---

<div class="post-metadata">

### Author: ![zekraken](https://yyz1.discourse-cdn.com/flex027/user_avatar/forum.balancer.fi/zekraken/32/823_2.png) [@zekraken](https://forum.balancer.fi/u/zekraken)
#### Post date: [September 1, 2022, 12:25am UTC](https://forum.balancer.fi/t/bip-50-set-protocol-fee-on-yield/3614/13 "2022-09-01T00:25:57Z")

</div>

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.
