PoolTogether

RFC: Enable POOL voting on L2s and non-Ethereum L1s

Polygon users want to participate in PoolTogether governance. Soon we’ll be launching on Avalanche, and those users will want to participate as well.

POOL tokens that have been bridged to Polygon do not have any voting power. This is because tokens that have been bridged are held in the Polygon token bridge contract; their voting power cannot be delegated.

We chose to use the default token bridges because it’s a simple no-code way to bridge ERC20 tokens to another chain. We saved a lot of development effort.

Here I present a new strategy to enable Snapshot voting across all L1s and L2s.

sPOOL: POOL that has Snapshot voting powers

We want to delegate the voting power of bridged POOL tokens and still use the default token bridge tooling. The tooling saves us a ton of time, and will make adding new chains and L2s much easier.

We can do this by introducing a POOL wrapper token called sPOOL:

  1. Users deposit POOL into the sPOOL contract on Ethereum, and get sPOOL 1:1 in return.
  2. Governance delegates the POOL held by the sPOOL contract to a multi-sig
  3. Users signal their votes for proposals through Snapshot, and the delegate votes accordingly.

If we bridge and promote sPOOL across all chains, then users will always be able to participate with free voting.

Advantages

  • Simple wrapper: sPOOL = POOL
  • Easy to bridge; we can use existing token bridge code
  • Free voting

Disadvantages

  • Centralizes voting control in the delegate.
  • People may still buy POOL, so we may need to provide a swap app or liquidity.

Open Questions

  • Since we are introducing a derivative, should we add more features, like interest? This means it won’t trade 1:1 but people will want to hold it.

Summary

I believe putting sPOOL tokens on all chains will allow us to engage with POOL holders everywhere. Their votes will have concrete voting power. While users may still trade POOL, we can create a simple sPOOL <-> POOL swap section in our app.

I’d like to hear everyone’s thoughts on this.

8 Likes

This sounds like it would solve a lot of problems. I would like sPOOL to be an autocompounding interest bearing token, like what bBadger is to Badger.

5 Likes

Out of curiosity, would the delegate need to manually send the votes in the snapshot? How this will be done? Once when the time is finishing cast 1 vote with the corresponding amount for the Yes and 1 vote with the corresponding amount to the No?

Apart from that doubt. I think this is great news to hear and would help a lot with participation!

1 Like

I am all for a cross chain POOL token future. That being said, we need to make it clear on which chain the token will be supported and also which wallets support these chains.
Dharma had to warn their users about not bridging their gOHM tokens to Avalanche cause their wallet does not support the Avalanche network. Something we need to keep in mind as we roll out sPOOL.

3 Likes

Out of curiosity, would the delegate need to manually send the votes in the snapshot?

Yes, and that’s how the current Snapshot vote works too. There is a Safe to which the votes are delegated.

Once when the time is finishing cast 1 vote with the corresponding amount for the Yes and 1 vote with the corresponding amount to the No?

No, voting is all or nothing: if there are 100,000 POOL tokens deposited and 25% say no and 30% say yes, then all 100,000 POOL tokens vote “yes”. So votes can be leveraged. It’s not ideal.

2 Likes

And I’m assuming building/rebuilding the mechanism so that the delegate(s) can vote in proportion to the snap shot vote is off the table? Either too difficult to build or just not able to be done yet?

For instance; In your example, 25% vote no in snapshot means the delegate votes a 25% share of the 100,000 POOL…and 35% the other way etc…

And if the answer to above is yes, too difficult…etc, could it be achieved with two multisig wallets? One for yes and one for no?

I think the only way this works is being able to account for both the yays and the nays, at least in a proportional sense. Otherwise it may defeat the purpose of the exercise, “Giving the people a voice”

1 Like

Allowing the multisig to split votes is not technically possible, unfortunately.

1 Like

I am all in for a solution that allows our governance to grow with the protocol. If our governance token is on other chains, voting should be there, too.

I understand the concern with the leveraging of votes, but I don’t have the expertise to evaluate any alternatives to be honest.

Would this basically also allow $sPOOL to be bridged to any evm compatible chain?

1 Like

I would like to have a pool to add some POOL every month to boost up my governance. BUT do I still need to deposit on Ethereum every month or I can just buy sPOOL from some exchange on Polygon?

1 Like

I imagine governance would supply liquidity on Polygon and Avalanche, so you would be able to buy sPOOL on exchanges.

2 Likes

Its a good solution and much better than we have now but centralizing that much POOL into huge delegates per chain is kinda scary. We could end up in a situation where there is almost no native POOL voting on mainnet and the entire protocol rests upon the votes of 3-4 whale delegates.

That being said, our current votes are decided by a single whale delegate so, same same there :joy:

If PoolTogether was to deploy the POOL token today, im taking bets it probably wouldn’t happen on mainnet?

Heres an insane idea. Bridge the entire treasury to an L2 or sidechain, give the same 1-1 POOL-sPOOL conversion and we can operate governance in a much less restricting manner from a chain that allows users to vote natively and cheaply without relying on delegates? Basically a complete redeployment of governance and dont know if this is theoretically even possible.

1 Like

Seeing as the eth-gas situation is here to stay, moving away from mainnet just sounds more reasonable each day…

Would users have to pay eth gas fees every time they want to bridge and participate in governance? I’m all for moving governance to other chains, but if people have to pay gas fees every time they want to bridge I’m not sure it solves the inherent problem.

I understood it as sPOOL was able to be swapped for on L2s. Then with sPOOL we could free snapshot vote. Any existing pool in mainnet could be deposited into the sPOOL contract for a “fraction of the cost” of depositing into the Pool Pool in mainnet (which also enables gasless voting).

Does this change anything?

Snapshot is a gasless vote-via-signature mechanism usually used for less serious votes (“should we make this a proposal”). It doesn’t edit data on Ethereum. http://Uni.vote aggregates many people’s votes for on-chain proposals in 1 transaction (and pays 1 gas fee)
They’re supplementary because they serve different use cases - Snapshot for less serious votes, http://uni.vote (and http://comp.vote) for serious votes for specific DAOs

2 Likes

This thread has gone quiet for a while, that’s why I wanted to bring it back up again.
I understand this as one of the core features of our tokenomics, no matter which direction we will go in the end. What would be the next questions we need to answer or steps we need to take to get this on the way?
Are there any dependencies that need to be taken into consideration before going forward?

This gets even more exciting with Rari Fuse pools coming to L2.

3 Likes