Adding liquidity manually

for farm bots with low existing liquidity (making zap-ins infeasible)

If you're hoping to add liquidity the easiest way possible, check out our new UI for that and see if it meets your needs. (It should be sufficient for anyone who is just trying to add liquidity for a farm bot listed on our zap page.)

If, however, you're hoping to add liquidity for a farm bot that *isn't yet listed on our zap page* (probably due to low existing liquidity), then you've come to the right place!

For these instructions I will use the PACT-CELO farm bot as an example. However, they should generalize well to other kinds of farm bots.

Step 0: decide how much liquidity you want to add

Self-explanatory. Just decide how much $$ you want to spend on adding liquidity. Consider the risks.

Step 1: get LPs for the underlying pool

For this step, use the DEX for the farm you want to add liquidity for. (For now, this is probably Ubeswap, though we'll add Sushi and others soon.)

First, take half the $ you want to invest. Swap half of this (so about a quarter of your total investment) for token A in your underlying pool-- for the example, this is PACT. Swap the other half (again, a quarter of the total) for token B (Celo).

Next, navigate to the "add liquidity" page on your DEX (on Ubeswap that's here) and add liquidity for the pair of tokens you just purchased (e.g. PACT-CELO).

When you're done adding liquidity, you should have LP tokens for the pair. Yipee!

Step 2: deposit your LPs in a Farm Bot

Here's the fun part, you get to deposit your LPs in an auto-compounding rewards contract.

First locate the LP token address of your liquidity pool. One easy way of finding this is to look at the Celo explorer page for your wallet address and find the address of the ULP you just received (should be under "token transfers"). Or if you're following along the PACT-CELO example, you can find it here. (More generally, you can use the pairFor method on a Router contract to find the pair, such as Ubeswap's router here.)

Next locate the address of the farm bot you hope to deposit in. Currently we have two that are ready for action, one for a mcUSD-mcEUR Ubeswap farm and one for a PACT-CELO Ubeswap farm.

We don't yet have a UI for the deposit step yet, but there's a script that should make it easy. It lives here. To avoid the hassle of getting the build to work (hardhat/typechain makes this painful), I recommend running it with ts-node. Also, you'll need to paste in your LP token address and FP token address here (lame, I know-- working on it). Also, remember to define PRIVATE_KEY and LP_AMOUNT as environment variables.

Once you've run the script, you should receive some RFP tokens representing your share in the farm bot.

Step 3: add liquidity!

The next step is to add your RFP to a liquidity pool. Currently, all Revo zap-in pools consist of mcUSD plus an RFP token. We chose mcUSD because it's interest-bearing but relatively stable in value, and has good liquidity to most other tokens on Ubeswap.

First, swap the half of $$ you set aside for adding liquidity for mcUSD.

Then navigate to your DEX's add liquidity page again. Tap "add liquidity", select mcUSD for one side, and type in the amount. Then hit the selection dropdown for the other side of the pair. You'll need to add a custom token for this part, since RFP's are not listed on any DEX. To do this on Ubeswap, tap "manage", then "tokens", and paste in the Farm Bot address (that is the same as your RFP address).

Select "max" for the RFP. If it leaves you with a lot of RFP left over, contact a Revo developer on discord and alert them to this (or conduct arbitrage yourself!).

Step 4: tell a Revo dev

If you added enough liquidity to get us to about $6,500 in total in the liquidity pool, we'll consider adding the farm bot to our homepage to let other users zap in! (With $6500 in the pool we can support zap-ins for up to $100 for less than 3% price impact.)

Please let a Revo developer know on Discord so we can get the change in. You can tag @dev and we'll see it. (Or better yet, submit a PR to our UI repo! Look here and here.)

Last updated