[BIP-77] Friendly Balancer Protocol Fees for Integrators

Motivation

This guideline is meant to bring clarity to how projects building on Balancer should consider paying protocol fees to the Balancer DAO. The policy’s cornerstone is that Balancer DAO is always 100% aligned with the integrator in that Balancer only gets fees if the integrator is also making fees. More often than not, protocols don’t want to start charging fees from day 1 to avoid stifling traction and growth. In this case Balancer DAO should also not get any fees.

There are two concrete changes this policy proposes relative to how other protocols have been paying fees to Balancer so far. If approved by governance it would allow integrators to:

  1. have the option to discuss and agree with Balancer DAO on the percentage of protocol fees they pay to Balancer protocol: this should be done considering the specifics of the protocol and how it integrates with Balancer.
  2. add a Balancer protocol fee “kill-switch” on their side, protecting them from being rug-pulled by Balancer governance (e.g. setting a high-fee unilaterally). Even though Balancer governance is trusted, this is definitely a concern integrators have when deciding whether to build on Balancer.

These two changes should make Balancer a lot more attractive as a destination for AMM innovation as well as protocols creating other non-AMM programmable liquidity solutions.

Proposal

Benefits of building on Balancer

Balancer is fully open source and can be used by other teams without any payment of fees. However, Balancer DAO believes Balancer Protocol has very strong potential to improve and grow. This cannot be done without a sustainable model where the DAO generates revenues to pay for service providers to work for the protocol.

These revenues come today mostly from pools that are created by Balancer Labs (stable and weighted pools). However, if Balancer protocol is to scale, in the future most of the revenue should come from a variety of protocols using Balancer. But if they can build on Balancer without paying any fees why should they pay any fees after all? What’s in it for them? These are the main advantages of paying fees to Balancer protocol, which should be more than enough to justify the voluntary fee payment by integrators (once they start charging fees themselves):

  • Active support by the various service providers in the Balancer ecosystem in areas like Software development, Marketing, biz-dev etc.
  • Inclusion in the Balancer SDK, SOR (smart order router) and subgraph, making the integrator’s liquidity visible for all existing consumers of the SDK/SOR/subgraph.
  • Streamlined integration with leading liquidity aggregators like 1Inch, CowSwap, 0x and ParaSwap.

ProtocolFeePercentagesProvider

These advantages already resulted in numerous integrations in different categories:

  • Fixed rate token markets: Element, Tempus, Sense
  • TWAMMs: CRON, XS Finance
  • Stablecoins: Gyroscope
  • Indices: Index Coop, Beethoven

Additionally, new pool types and products are being created by Balancer SPs. This results in a growing number of ways Balancer charges protocol fees.

Because of this increasing variety, Balancer Labs recently deployed the ProtocolFeePercentagesProvider. This registry should be used as the ground truth on what the protocol fee percentages to be paid by integrators will be.

Implementation

The fee provider should contain a different entry for each new integrator, whose percentage should be discussed and agreed upon by the Balancer DAO and the integrator, ideally ratified by both communities through governance votes. That new entry can only be added by Balancer governance, and the integrator will hook their Balancer Fee paying logic to that, so they can read that value.

The kill-switch can be implemented by integrators in such a way that avoids two SLOADS: only read the kill-switch if the ProtocolFeePercentagesProvider indicates a non-zero fee. The control over setting the kill-switch lies completely with the integrator so there is zero risk of them being rug-pulled.

Future work & open questions

Fairness across different integrators

The choice of how much each integration pays in fees is complex and can be very subjective. Ideally there will be guidelines for different types of integrations so that some teams don’t feel disadvantaged relative to others. This is going to be an ongoing process.

Integrators that have already deployed code and are already paying fees

To be fair to protocols that were first movers and built on Balancer like Element Finance, the proposal is to reimburse them with any fees that they pay to Balancer DAO but would not be paying under this new policy. This refund would be active from the moment this proposal passes, given the protocol fees paid in the past have already been distributed/allocated. At the first possible occasion/upgrade they should be encouraged to switch to this new model.

Specification

This proposal has no explicit specification to be run onchain. It’s meant to be a clarification signed off on by Balancer DAO on how the DAO views the process for integrators to pay fees for Balancer protocol.

10 Likes

It’s important that projects building on Balancer or considering to build on Balancer know that our 50% protocol fee on swaps and yield is not mandatory. There’s no need to pay Balancer DAO any fee at all while your project is in its early stages. You decide when to turn fees on, how to charge a fee, and can work with us to determine what split makes sense.

People see a 50% protocol fee and think we’re trying to max extract value from users and projects building on us but that couldn’t be further from the truth. We’re so early that most projects paying us a fee doesn’t make any sense. Growth is the priority when it comes to developers building cool stuff, not rent extraction.

The reason we even have a 50% protocol fee is to help accelerate the flywheel and thus value accrual of veBAL. The 50% number is only relevant when emissions are involved. If you don’t need or want emissions there is zero reason to pay 50% - and you clearly don’t have to as Fernando points out. Pay no fees, focus on building and growth, when YOU think a fee makes sense we have the infrastructure in place to support any kind of fee and what split makes sense.

11 Likes

In support of both comments. If approved by Balancer DAO, this information should be made easily accessible to potential partners so they aren’t misinformed about fees.

As Solar explained, if its the case that people are deterred from fees that Balancer DAO doesn’t currently employ, then it’s a misunderstanding that needs to be clarified.

4 Likes

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

This is very important clarification. I was under the impression that the 50% protocol fee is fixed. Maybe we should consider putting this somewhere in the developer docs?

Thanks for your suggestion @0xb2p! We are going to spend a lot of time improving/overhauling our documentation in the next months and we will definitely add this clarification to it.

I’m curious if you are building or considered building on Balancer? What project are you working on?

Cheers,
Fernando

2 Likes

That’s great! Looking forward to the improved documentation. I think it will also be useful if important decisions being made in BIPs are included in the doc. For example, BIP-50 sets protocol fee on Yield to be 50% and it should be documented somewhere.

I’m curious if you are building or considered building on Balancer?

I am not building on Balancer right now. I have been mostly learning the protocol lately and reading through the past BIPs. But if you have any interesting ideas to build for Balancer, I am also happy to learn about them.

What project are you working on?

I am not been actively working on any projects right now. Mostly still learning broadly in the web3 space. But I was exploring MEV last month and created some small tools. You can check out bap2pecs · GitHub if you are interested :slight_smile:

1 Like

Thanks for yet another good feedback on the docs. I’m CCing @Mkflow27 as he will be helping with documentation going forward.

I am not building on Balancer right now. I have been mostly learning the protocol lately and reading through the past BIPs. But if you have any interesting ideas to build for Balancer, I am also happy to learn about them.

This is how many of our contributors started :slight_smile: Maybe the Balancer Maxis (cc @solarcurve) can give you some interesting ideas/topics to explore and you could get more and more involved. We definitely need help to get Balancer to be used by more projects in the space.

2 Likes