Balancer pool management

I just wanted to get the ball rolling for the management of the balancer pools. We need to decide the swap fees and the weights for the stable pool and the volatile pool.

1. Swap fee

0.3% seems pretty standard. Any reason for it being higher or lower? A higher swap fee would make the fees compound faster .

2. Weights

Stable pool
DAI, USDC, and USDT. Evenly weighted they would be 33.33% each.

Volatile pool
ETH, WBTC, LINK, YFI, BZRX, MKR, LEND and KNC. Evenly weighted they would be 12.5% each.

Should they be weighted evenly or should the higher volume tokens be weighted higher at the expense of the lower volume ones?

1 Like

Any reason for it being higher or lower? A higher swap fee would make the fees compound faster .

Yes, there is strategy behind potentially raising it higher. Recommended reading:

Should they be weighted evenly or should the higher volume tokens be weighted higher at the expense of the lower volume ones?

I would add that we should consider weighting them by relative risk in addition to volume.

Points for further discussion

  1. Should we consider adding a stable asset to the volatile pool? I think this has an affect on the liquidity utilization of the pool itself, as it would allow the liquidity to be tapped into for trades between the volatiles and DAI for example.
  2. Should we consider adding BAL as an asset in the pool? Pools containing BAL get higher BAL emissions from the balancer liquidity mining. It would also give the DAO/stakers a governance representation in the Balancer platform.
1 Like

Regarding the staking pool fee of 0,2%, this is really too low.

After reading the article posted above, the tendency is to put it at 10%. Although you would miss retail trades and get less volume, it’s still highly lucrative according to the article and we won’t really need to compete with other pools since there’s only 1 pool which can be staked.

But the idea is to reward LP stakers extra for the liquidity they provide and some additional risk they take. A 10% fee will not help liquidity much, price discovery will have a latency of 10% in respect to the market price.

Also the BAL rewards drop significantly with fees > 1%.

Therefore I like to propose a swap fee of 1% for the LP stakers pool.

About the other 2 pools, the original idea was a stablecoin pool and the ERC20 pool.

Stablecoin pools should be weighed the same, because they all should be worth 1 usd and have low risk of collapsing (except usdt…). Their fee should be competitive with similar pools otherwise they won’t be used. Low risk, low fees, propose: 0,05%. You’ll be farming mostly BAL rewards with the high volume.

The ERC20 have each very different risk levels associated with them. You might consider putting USDT in here as well, to have a stable asset in your volatile pool for increased liquidity and optionally out of the stablecoin pool. Swap fee would be much higher, I propose the maximum possible, which is 10%, I’ll explain now why.

For their weights, there’s something important to realise:

Every time the feeSweep() function is called, it’s sweeping the fees into one of two Balancer pools. This also means that all the ERC20 fees are market sold off if they are creating a surplus in the balancer pool. This can happen a lot and we won’t have any control over it. It’s the traders/borrowers who will decide which ERC20 fees we get.

Arbitrage can come in and run away with the profits. When we put the fee at 10%, at least we will have some compensation for that loss.

Another reason for the high fee is the following.
The feeSweep() function is permissionless and people will want to do that before collecting their fees. When people want to collect their fees and only choose one asset, again it’ll market sell the rest and backrunning bots will run away with the profits. A high fee will prevent people to withdraw only certain assets, and stimulate them to withdraw all assets, because then it’ll be without fee.

It’s a nice option to collect the fees in your favourite coin, but the rest will be left behind with less desirable coins. Therefore the 10% swap fee as compensation. It’ll still be cheap for them, because otherwise they’ll have to do minimum 8 trades to get everything in their favourite coin.

About putting BAL into the pools for the higher BAL emissions, I couldn’t find any info on that, but I’m open for it if it’ll be worth it.

1 Like

Very interesting discussion here - learning a lot by reading it.

So to go a bit high-level, there are 3 separate pools:

  1. The LP staker pool (ie, the BZRX/ETH pool)
  2. The stablecoin fees pool (where stablecoins paid as fees by traders are kept until stakers claim their rewards)
  3. The non-stablecoin fees pool (where other tokens paid as fees by traders are kept until stakers claim their rewards).

The DAO will be responsible for setting governance parameters for these pools including trading fee, mix of assets etc.

The main goal is to minimize costs and maximize returns (in Balancer trading fees and BAL) for all pools.

Keeping the above points in mind, the suggestions by both @audax and @gorg make sense to me, but I haven’t really done enough research on Balancer to understand the ins and outs - the varying weights and mix of assets and other issues make it quite different to Uniswap.

Does the Balancer community have some kind of “guide to creating a liquidity pool” thing with different strategies and recommendations of what to think about (other than the articles already posted by the co-founder)? Or is it just a question of reading their Discord and Reddit and learning it by experience?

Does the Balancer community have some kind of “guide to creating a liquidity pool” thing with different strategies and recommendations of what to think about (other than the articles already posted by the co-founder)? Or is it just a question of reading their Discord and Reddit and learning it by experience?

Their docs can be found here: https://docs.balancer.finance/

I just need to say that balancer allows a maximum of 8 assets per pool, and bZx currently has 8 volatile assets listed. If we decide to put a stablecoin and/or BAL into our non-stablecoin pool we would need to create an additional one. We would need to do this eventually anyway to accommodate new listings.

I just need to say that balancer allows a maximum of 8 assets per pool, and bZx currently has 8 volatile assets listed.

It is unlikely it will stay at 8 assets. We should be planning to have several Volatile pools, long term. I think each of them should have ETH and 1 stablecoin, plus 6 volatile assets.

Having both ETH and a stable in each volatile pool should mean the liquidity utilization remains high. I think it’s absolutely key to keep ETH in every pool at a bare minimum to keep the pool APY from swap fees reasonable.

We are having very low liquidity at the beginning since there aren’t many fees paid at the moment. If one big whale pays a huge amount of LINK, it’ll crash the price of link in our little pool. Arbitrage will come in and “steal” a big portion of our fees, that’s why I’m still thinking 10% should be the initial swap fee for those pools until they’re getting more liquid. Changing swap fees can be done if we opt for a private balancer pool, governed by the DAO.

Bankless made a fantastic article with the following information that we should take into account, although not everything is applicable to us, it’s too good not to share:

"Here are a few of the factors that you should keep in mind when you’re hunting for the best yield on Balancer:

  1. ratioFactor = Since Balancer LPs can provide liquidity to pools with different weights, like an 80/20 or 95/5 (rather than strictly 50/50), combined with the fact that these types of pools tend to support lower trading volumes, the ratioFactor reduces BAL rewards for highly imbalanced pools. The larger the pool skews towards one asset, the higher the ratioFactor, and the lower the BAL rewards.

  2. feeFactor = The feeFactor allocates rewards based on the pool’s swap fee. The lower the pool’s swap fees, the higher the BAL rewards (and vice versa). So if you’re looking at two identical pools, make sure to pick the one with the lower fees!

  3. wrapFactor = Since pools with pegged token pairs don’t contribute as much to trading volumes, these liquidity pools have been given a wrapFactor. Hard-pegged assets like sETH + WETH have a wrapFactor of 0.1, resulting in 10x lower rewards vs normal pairs whereas soft pegged asset pools like DAI & USDC have a wrapFactor of 0.7, making the reward penalty significantly less harsh. With that said, having pegged token pairs minimizes your chance to incur impermanent loss!

  4. balFactor = The balFactor was the most recent factor to be implemented into the liquidity protocol. In order to help bootstrap and incentivize liquidity for BAL, all Balancer pools featuring the native asset receive a 1.5x multiplier on rewards. For those that are bullish on BAL, the balFactor is indispensable for stacking BAL week-in & week-out."

I really liked this make and burn model. https://www.placeholder.vc/blog/2020/9/17/stop-burning-tokens-buyback-and-make-instead

This conversation is now kind of obsolete with the new Staking rewards proposal: