🛠️

RFPs, Challenges & Opportunities

The Balancer Grants Program provides support and funding for projects and individuals that are building using Balancer. The following are Requests For Product (RFP) and Bounties that are pre-approved for funding (in BAL) and we are looking for developers and teams to build - we encourage you to apply!

💡RFPs

These are typically ideas for new applications/tools that build on top of the core Balancer protocol or data (think of Coppers Fair Launch UI). These ideas are sourced from the community so are already something that people want and will use.

Applications/Interfaces:

Trading view style charts for Balancer v2

Think advanced trading type views from places like Coinbase Pro.

Custom UI focused on indexes

The original idea for Balancer was to allow anyone to turn their own portfolio into an index fund: except the individual contributing capital would earn fees instead of paying a fund manager, as happens in traditional finance. There is still lots of room to explore interfaces that focus on Balancers Index power.

Custom UI using internal balances.

Use the internal balances feature of Balancer v2 to allow users to join, exit, swap, or create pools using internal balances. Include a way to deposit/withdraw.

Minimal and alternative opensource/community Balancer UI/interface

One use case for this would be as a backup incase the Balancer hosted front-end went down, allowing users to still interact with the Balancer Protocol. Functionality could include pool join/exit, swapping, and pool creation and it should be easy to run locally. Could be super basic text boxes, but feature complete.

Join/Exit Pool recipies/alternative UI

Get creative with ways to join/exit pools - i.e. instead of joining with the pools underlying tokens allow join with any token by using the SOR (or an aggregator) to swap first. This would be especially awesome to have a proof of concept on Polygon where fees are low.

Balancer POAP creative use cases

Balancer has some of the best POAPs out there and a community of collectors. Looking for creative uses or ways to display.

Flashbot style trading using Balancer pools

Submit Balancer swaps using Flashbot bundles to protect from MEV

RoboSets

Frontend/simple owner contract combo that would basically replicate TokenSet’s V1 RoboSets concept: Owner contracts query oracles at some rate (ex daily) and compute some specific price indicator (moving average, relative strength index, etc). If the indicator crosses some given threshold, the managed pool issues a gradual weight change to rebalance the pool.The pool then can shift between TokenXYZ and DAI for example, rebalancing to DAI when TokenXYZ is on its way down, and back to TokenXYZ if it’s doing well.

Python Front End

Build resiliency for Balancer by creating an open source front end. The Python SDK should be useful for this (and if there's missing functionality there that can be a Grant too!)

Backend:

A backend fallback system for if the Subgraph is down

Uses a combination of cached pools (maybe IPFS?) and on-chain calls to give the Balancer frontend and SOR all the data it needs without reliance on The Graph.

Experimental optimization algorithms for order routing

Balancer already has its own Smart Order Router but optimisations can be made to improve efficiency, path selection.

Protocol/Smart Contract:

Rebalancing pool

An LBP with public LPs where the weights are controlled by a smart contract calculating indicators.

TWAMM on Balancer V2

Implement the TWAMM concept on Balancer V2 using a Custom Pool.

Variable fee pools

Balancer Pools are extremely customizable, and each pool can have a different fee. Some pools already have dynamic fees set by Gauntlet. Analyse how these have performed and produce a report. Or alternatively create your own dynamic fee pools that are set by something like https://volmex.finance/.

Novel ideas for oracle feeds to be used in Metastable pools e.g. FX pools from USD to EUR/GBP using Chainlink

🎯 Bounties

Well specified issues/feature requests which are a good candidates for external contribution. These Bounties can be good for individual contributors and can be a great way to get to know the Balancer protocol in more detail. Also Balancer is always on the look out for great developers and completing Bounties are a great way to demonstrate your skills while getting paid!

Javascript SDK:

The JavaScript SDK provides commonly used utilties for interacting with Balancer Protocol V2.

Add Coingecko Service

Balancer Front End has a well defined Coingecko Service. We would like to add similar functionality to the Javascript SDK as a new service. SwapsService can be used as an example of how services are added to the SDK and the Contributing Guidelines detail the process to follow while working on the bounty.

Python SDK:

Make balpy feature complete with the Vault

balPy is still missing Vault features and we would be happy to pay a Bounty for someone to add them (especially pool exits)

LBP/ManagedPool control

Add balpy functionality for LBP/ManagedPools - pausing, weightshifting, etc

Integrate SOR

Balancer SOR is an JS package. It would be great if someone implemented a way to use this to get orders in Python. i.e. launching a background SOR and making calls to it.

Application Process

  1. Pick a task you find interesting and make sure you have a good idea of how to approach it. Feel free to ask questions in the Balancer Discord, #dev channel if required.
  2. Fill out this form and in Step 3 mention you're applying for an RFP/Bounty along with the title of the task.
  3. In Step 5 add the estimated expense for you to complete the task, normally the full amount won't be paid until completion so make this as accurate as possible.
  4. Once you submitted the form a member of the Grants Committee will be in touch to follow up the next steps which normally involved a call with a Committee member to discuss the project.
  5. Thanks for applying!

If you have more RFPs in mind or ideas but lack the know how or time to build it yourself, just reach out to us at grants@balancer.community or contact us via Twitter. And remember if you have your own idea for a project you want to build you can apply here.