PTIP-56: V3 Transitions

PTIP-56

Simple Summary

Optimize parameters on the V3 pools for the transition to V4.

Motivation

PoolTogether V4 offers depositors a radically improved experience over the V3 protocol. As of now, there are no new deposits into PoolTogether V3 contracts.

However, the PoolTogether protocol is non-custodial which means the deposits in V3 can not be moved by the protocol, POOL holders, or anyone else. Additionally, it means the pools cannot be shut down. They will run forever.

Although the deposits can not be moved and the pools will run forever, there are certain parameters that governance can control. These parameters can be optimized for 1) the smoothest and best experience for the remaining V3 depositors and 2) minimization of costs to the protocol for operations.

Specification

This PTIP proposes a two phase approach, phase one stops new deposits and minimizes operations. Phase two leaves continued pool operations up to the community.

For phase one, the following parameter adjustments are proposed for the USDC, Dai, COMP, GUSD, and UNI pools on Ethereum.

  • Set liquidity cap to $0 (this will prevent future deposits)

This one is pretty self-explanatory, setting the liquidity cap to $0 means any newly attempted deposits will fail. This will prevent new deposits so people can deposit into V4.

  • Set reserve rates to 0%

The purpose of the reserves is fueling the “perpetual growth” machine of the protocol. The reserves were turned on for this specific purpose. PTIP-54 moved the v3 reserves to V4. Because all growth and reserves are now in V4 it makes sense and is most fair to depositors to correspondingly turn off the reserves on V3.

  • Set RNG to blockhash

The prizes are so low that the Chainlink VRF is no longer needed. Setting the RNG to the future blockhash will be sufficient, and will save us time and remove the need to stock the strategies with LINK.

  • Reduce number of winners to 1

This will radically lower the cost of awarding the pools.

Rationale

In combination, these settings will

  1. Ensure no new deposits can be made
  2. Ensure legacy depositors are treated in the most fair way possible
  3. Greatly reduce the transaction fees needed to award the pools
  4. Set the stage for the protocol to turn awarding over to the community

Status

  • Support
  • Oppose

0 voters

UPDATE:
Based on feedback below and technical considerations for the proposal (the maximum number of transactions per proposal). This proposal will initially move forward with solely 1) liquidity cap and 2) RNG to blockchash. That will then set the stage to implement the other elements of this proposal when the awarding is stopped and therefore the reserves will not need to cover it.

2 Likes

I don’t see any reason to lower the reserve rate on the V3 pools. These V3 pools cost to upkeep and without a reserve there is nothing to offset that and the retained TVL is of no benefit. The cashflow we get from the V3 pools with the reserve rate turned on can be used to benefit depositors elsewhere within the protocol. Everything else makes sense other than turning off the reserve.

TWG post upcoming!

6 Likes

Agree with Tuna here. I like it all except the reserve rate to 0.
Reserve should at least aim to cover gas costs of awarding.

3 Likes

I agree with Tuna but would also like to add what is the point of a trustless setup when you can set the liquidity cap to $0 so people’s transactions fail (maybe I’m not getting it)?

If people want to deposit to v3 they should be free to do so, incentives on the v4 side should be good enough on their own for people to stop using v3, otherwise, the v4 protocol is failing at doing its job, of course, a big UI/UX preference to use v4 should be used.

1 Like

100%, CELO and DAI are V3 only still, and I totally get why a DAI user would rather keep using V3 than to have to convert their funds into a centralized currency in order to use V4…

As far as I understand this will prepare the pools to be manually awarded by the players, so they would also cover the gas costs, which were aiming to reduce as well.

I hear where you are coming from! A few thoughts:

These V3 pools cost to upkeep and without a reserve there is nothing to offset that and the retained TVL is of no benefit.

The idea behind this proposal is to set the stage so that the protocol no longer manages them. So in the very near future these costs will be $0.

The cashflow we get from the V3 pools with the reserve rate turned on can be used to benefit depositors elsewhere within the protocol.

I think it’s important that we honor the V3 depositors. The reserve was turned on for two primary reasons 1) because the value of tokens being distributed to all depositors was far GREATER than the reserve and 2) to build the perpetual growth machine. Both those things are no longer true and as such, I think it’s important to adjust the reserve to match the new reality.

That’s a good point on Dai. To be clear, this proposal covers:

USDC, Dai, UNI, COMP, and GUSD on Ethereum. So the celo pools would remain.

The goal here would be that this would set the stage so that the protocol can stop covering the awarding in the near future.

As I mentioned to Tuna, the reserve was turned on for two primary reasons 1) because the value of tokens being distributed to all depositors was far GREATER than the reserve and 2) to build the perpetual growth machine. Both those things are no longer true and as such, I think it’s important to adjust the reserve to match the new reality. Assuming the protocol will stop covering the awarding soon I think that also strengthens the case to lower it.

I threw support for everything except for setting liq cap to 0. If we are creating a system that is fully community funded instead of POOL running it, then disallowing deposits is a no go for me

Fully support the proposal. To me it makes perfect sense. For many smaller depositors it just is not possible to withdraw due to gas fees and therefore they are stuck. By concentrating prizes on one winner, I expect the winners to one by one leave the pool and migrate to V4. Agree with @TheRealTuna and @Torgin though that a small reserve would still be okay.

Treasury Working Group thoughts on PTIP-56

Deposit Concentration

In V3, two addresses make up 86.91% of the USDC prize pool deposits. PoolTogether V3 is still dominated by whales. Both wallets combined have deposits totalling 14,337,795.70 USDC.

0x8084…9267. = 10,243,187.00
0x8f64…129e = 4,094,608.7

The DAI prize pool in V3 has one wallet that represents 35.71% of total deposits in the pool, with 1,000,000 DAI deposited from that wallet and roughly 2,800,000 DAI as the pool’s TVL.

Reducing reserves will only create a greater incentive for whales to continue to dominate and it does not offer a solution for smaller depositors. Outside of airdropping users compensation for gas costs, we can’t solve this issue. Nobody has made any complaints about the reserve rate as is and Pooltogether treasury recouping some funds should be a bigger priority than feeding more prizes to the whales who seem to still be thriving in V3.

All things held equal with current rates, we’ve got the following:

PoolTogether V3

USDC TVL: 20,298,907
TVL less reserves and sponsorship: 16,496,936.76
Aave Mainnet Yield: 1.47%
16,496,936.76 USDC @ 1.47% = 242,504.97 USDC
Annual Reserves Earned: 121,252.48 USDC

20,298,907 USDC @ 1.47% = 298,393.93 USDC
Annual Reserves Earned: 149,196.97 USDC

Annual Difference: 55,888.96 USDC

V4 TVL
TOTAL: 31,411,873

POLY: 25,809,345 | Aave APY: 1.76% | Annual Yield: 454,244.47 USDC
ETH: 2,878,798 | Aave APY: 1.47% | Annual Yield: 42,318.33 USDC
AVAX: 2,723,729 | Aave APY: 1.54% | Annual Yield: 41,945.43 USDC

Total yield across prize pool network: 538,508.23 USDC

Total annual prize costs @ average daily claimed prizes: 3,150,315 USDC
^ Average of 8,631 USDC claimed in prizes per day
[Data pulled from @drcpu’s data here, assuming 90% claim rate.]

Net projected annual cost, all things held equal: 2,611,806.77 USDC
Total USDC + DAI reserves/treasury holdings: 4,285,123.74 (USDC + DAI)

Annual cost as representation of our current treasury holdings: 60.95%

Cost of USDC Prize Distribution

0.2093754955 ETH in total gas costs on 22 Feb 2022
Roughly 76.42 ETH ($199,671.70 at current prices) on an annual basis.

Divided by a factor of five:
And x365 = 15.28 ETH ($39,923.88 at current costs)

I’m sure it’s not approximate but it’s a rough guess. @Brendan can likely give us better insight into the potential gas savings, but I use the figure here to demonstrate the cost for just the USDC prize pool.

TL;DR: Removing reserve and sponsorship capital reduces prizes for V3 depositors by $1,074.78 a week, while turning off reserves in V3 costs the DAO $2,331.78, while we’re losing $7,155.63 a day given current prize subsidies.

V3 USDC reserves currently offset daily losses by $333.11, which is 4.66% a day. V3 reserves also offset the cost of prize distribution, which is $109.38/day or 32.83% of daily V3 USDC reserves earned.

Reducing any cash flow while we’re subsidizing prize pools and earning no revenue in V4 does not make fiscal sense.

The rationale in this PTIP is fairness, but the overall aim of the PTIP is to incentivize deposits in V4, which means we’d want it to be more favorable to deposit in V4 instead of V3. We’re already proposing to reduce the total number of prizes to 1, which is to save on gas costs. If we’re optimizing the number of prizes for cost, we ought to optimize reserves for the cost of V4, which means they either stay the same or increase. Increasing wouldn’t be fair but keeping reserves the same as when users first deposited is in line with the status quo at the time of deposit.

Currently, we’re seeing growth rates drop off, and we’re losing money each day. Cutting costs is not ideal, as we don’t want to reduce the incentive to deposit in V4 but we can’t afford to lose any more funds.

It’s clear that something has to change, but reducing cashflow at such a delicate time in the PoolTogether product lifecycle would be detrimental, as it would shift an additional $121,252.48 onto the DAO and reduce current treasury holdings by an additional 2.83%. Total loss to the stablecoins in the treasury after a year with no significant growth: 63.78%

Important to note: we’re only using the numbers from the USDC prize pool, as it has the most TVL of any stable pool. The total opportunity cost of turning off reserves in V3 would be more given we have the USDC, Dai, COMP, GUSD, and UNI pools on Ethereum.

On this point alone, we disagree with the PTIP but the TWG would be in favour of the PTIP should the provision to turn off reserves be taken out.

10 Likes

Thank you for writing this up @TheRealTuna! You raise some great points. We do need to take into account the need for the protocol to support these.

I will work on this!

2 Likes

Bumping this thread. I think there are a lot of good moves here and the real contention revolves around the reserve rate. What if we proceed for now without changing the reserve rate?

In the past month there has been some pretty good low gas opportunities for depositors to exit these pools. Looking here Im seeing a lot of withdraws from the USDC pool

It’s also relevant to note that the 10 million whale withdrew. I do not think we should close deposits on the contract by changing the liquidity cap. I think we should simply not offer any UI for new deposit to the pools.

Most importantly I think we should reduce the number of winners and change to blockhash to reduce costs.

6 Likes