An Overview of Gelato's Automated Rebalancing Strategy G-UNI

Introducing Gelato’s Automated Rebalancing Strategy G-UNI

G-UNI is a system for easily making Uniswap V3 Positions fungible. Fungible LP Tokens have many uses as a “money lego” in DeFi products (staking rewards, collateral in lending/borrowing markets, and more). Uniswap V3 LP tokens are non fungible and G-UNI is a relatively generic wrapper that makes it possible to “make any UniswapV3 position fungible”. What does that really mean? We’ll see below.

First, what is a Uniswap V3 LP Position?
It is when you provide liquidity to a certain token pair listed on the Uniswap V3 Decentralized Exchange. In practice this means locking some of both assets in the token pair in a smart contract (where the assets are traded according to an algorithm which sets the price for traders and earns the asset providers some fees on each trade). What is new about V3 Positions is Liquidity Providers must also specify the price range within which they want their assets to be used for trading and earn fees (outside of that price range the smart contract knows that it can no longer use that provider’s assets in the liquidity pool, but also the provider no longer gets a cut of the fees on any trades). Since everyone can choose a different price range within which they want the liquidity pool to use their assets and earn them fees, every position is unique and two positions on the same trading pair with different price ranges are not directly fungible with one another. This is different than in the simpler V1/V2 where LPs could not specify a specific price range and every LP received a token representing their “share” of the uniswap pool (these were fungible).

So how do we make Uniswap v3 Positions fungible?
Well two different positions are intrinsically non fungible with one another as stated above, but we can still end up with a fungible asset as an LP by taking a single Uniswap V3 position and breaking it into shares or “fractionalizing” it. A “share” or proportion of some Position would be fungible with any other share of that same position (think: “I added 10% of the liquidity to the position so I own 10% of the pool”). G-UNI is essentially a system for participating in (or deploying and managing your own) public, shared Uniswap v3 positions. Anyone can mint more "shares’ of a G-UNI position by providing more of the underlying assets into the position’s price range. You can burn your shares to receive that percentage of the position’s current holdings including any earned fees.

Automated fee reinvestment: One perk of G-UNIs fungible wrapper is that by default fees earned by the shared position are automatically reinvested into the position by gelato bots. This helps make earnings more competitive since fees earned by the position will also earn fees (compounding effect). This is the ONLY thing gelato bots can control about G-UNI positions - they cannot alter the price range or do anything else with the capital in a G-UNI pool, the only operation that can be triggered automatically by gelato bots is simply taking any earned fees and investing them into the existing position. Gelato takes a small (1%) fee on all the fees earned in the pool to incentivize this automation.

Manager and Executive Rebalances: Each G-UNI pool has a “manager” - this manager account is the only one who has the power to set (or alter) the price range of the underlying Uniswap position. The manager also has control over certain metaparameters, like how many fees must be earned before bots can reinvest them, and setting a manager fee (% of all pool earned fees that go to the manager). Gelato will expose a number of “gelato managed” pools which will set appropriate, conservative ranges and will only update them in a transparent manner and with community support (eventually managerial control will go to a GelatoDAO to make this even further decentralized). Nothing stops anyone else from deploying G-UNI positions that they manage themselves, and potentially employing a more active strategy for rebalancing the ranges, but note this requires some trust in the manager (whether the manager is a single central party or any arbitrary governance smart contract). Active rebalancing is not automated by gelato bots because there is no clear default strategy for adjusting ranges - countless strategies, more or less risky, could be attempted and there is no guarantee whether a strategy will be profitable or a money drain. Manager powers can also be fully renounced, making the range fixed for all time (no entity has the power to adjust the range). TLDR anyone can deploy and manage G-UNI pools but don’t trust any G-UNI pool if you don’t know who/what-entity is the manager - they could rug you with their powers by surprise hiking up the manager fee (taking all the fees earned by the pool for themselves) or rebalance the range in a way that hurts the pool participants (completely out of range, for example).