How to add RAI to the Seed Pool

The vote has passed to add RAI to our seed pool, so now we have to actually do it! There are two possible ways to do this. I’ll start with option two as it’s simpler although less likely.

2. Recreate our pool in Balancer V2

This would be the simplest way to do this. It also comes with the advantages of access to the killer features of V2, and not having to worry about getting the 20% RAI all at once. Instead it would grow dynamically as people redeposit.

The obvious disadvantage is that we would need everyone to exit our V1 pool, and redeposit into the V2 pool. With how inactive most of our patrons are, it’s unlikely this would happen in a reasonable time-frame; giving us even less liquidity than we have currently, and to some extent mitigating the improvements of adding RAI and the treasury funds.

1. Add RAI to our current pool: making it 60% SEED, 20% Eth, and 20% RAI

This should be our best option. We set-up our Balancer pool as a smart pool, so that we could do things just like this. Unfortunately, adding a new token is the one thing not covered by the Balancer UI. This means someone would need to do this by manually interacting with the smart contract. I’ve been talking with endymionjkb from Balancer, who provided the following instructions:

I’m afraid it’s a little tricky, since you’re already at the max denorm weight of 50 (35/15).
You want to get to 60/20/20, which could be 30/10/10 denorm weights.
So what you could do is first change the weights from 35/15 to 30/10 with the direct updateWeight. This will transfer tokens as needed to keep the prices identical (since it will now be 75/25).
If you don’t have enough BPT to do that - lowering both weights will burn BPT and transfer tokens from the pool to your wallet - you’d have to do a gradual weight change (fastest = 100 blocks), which has a risk of arbitrage since that does change prices. (You could set the swap fee to 10% during it.)
You can also withdraw whatever your BPT allows single-sided, to make the prices match as close as you can.
Now, with “room” to add a token, go to https://etherscan.io/token/0x34a01c0a95b0592cc818cd846c3cf285d6c85a31#writeContract.
To call owner functions from Etherscan, you’ll need to transfer control from your DSProxy to the account you’re using to do this (with the setController function, through the GUI). You can do it through the GUI - make sure you note the address of your DSProxy, since you’ll probably want to transfer control back afterward so you can continue to control it from the GUI.
When your EOA has control and you’ve connected web3 on Etherscan.io,
call commitAddToken with the RAI token: 0x03ab458634910aad20ef5f1c8ee96f1d6ac54919, the initial balance (in wei, so 35167 = 35167000000000000000000), and the denorm weight of 10 (again in wei: so 10 = 10000000000000000000).
With 422k total liquidity that should then be 80% of the final pool, the total would be 529k, so ~107k of RAI. Balances would then be:
SEED 11.9k ~ 292k ~ 55%
WETH 52 ~ 129k ~ 25%
RAI 35,167 ~ 107k ~ 20%
This isn’t 60/20/20, because your pool isn’t exactly 70/30. You can burn some BPT to withdraw WETH, or deposit more SEED to make it equal out. Sorry, there’s some math here, and how you do it depends on your BPT supply, funds available, etc.
Now you have to wait 100 blocks for the timelock to expire (20 more minutes).
Finally, call applyAddToken. You will now have a 60/20/20 SEED/WETH/RAI pool. If you want to control it from the GUI again, call setController back to the address of your DSProxy.

To do this we would need 107k USD worth of RAI to deposit to get to 20%. Reflexer has been super nice in offering us a loan of 40k USD worth of RAI to jumpstart this. We also approved adding our treasury monies to the pool, so we could add 50k(USD) of that in RAI. This leaves 17k to make up amongst ourselves. I know I’m good for 2-3k, so as long as we get a few others we’ll be good.

This does also have the disadvantage of using a significant amount of our treasury to stabilize our Seed price instead of pumping it as we originally proposed. This disadvantage should be offset however due to the attention and profitability that will be brought to our pool via the Reflexer FLX rewards. This may actually stand to grow our treasury, as it will be collecting swap fees and FLX rewards.

7 Likes

Yh I agree, I think we should just add RAI to the pool! Happy to add 1k myself.

2 Likes

quick maffs
thank you broski bacon, for doing this immense research

I feel like moving to V2 is the better choice. People will still be able to swap SEEDs across both pools, esp if they are using a DEX aggregator like matcha.xyz.

Its more future proof and also less difficult to setup, and lets people opt in to moving there in case some LPs dont want it

1 Like

That’s all true, but then we’d have even lower liquidity than we currently do. Also, we’d then have two different pSeed tokens, which would be awkward.

1 Like

Minor correction; I originally stated that we’d need 107k of RAI when actually need 107k USD worth of RAI. Sorry for any confusion and I’ve updated the post.

1 Like

Hey everyone, to clarify how Reflexer can help:

  • We can LP $40K worth of RAI for 3 months (90 days) in your Balancer pool
  • We can also offer FLX incentives for 2 months (60 days) for those who deposit in the pool besides us
3 Likes

Is adding RAI still something being thought about or?

Yes, it’s still the plan. Currently we’re looking at doing it on Polygon.

1 Like

Or arbitrum?

Not after that vote, lol.

Depends how long vote is up and who sees it. And when we have two choices, why can we vote for both?

Lol, that’s a question for sesh, not me. Unless three’s some command/argument I don’t know.

Yay for success on this. Thanks for your push to make it happen. Woo hoo for Polygon!