RFC: Disconnecting Avax Prize Pool

PoolTogether V4 operates as a prize pool network. This means all prize pools share a prize distribution, management of functions, and prize liquidity. As of today, there has been no process established to add or remove a prize pool from the network.

We are going to need a process to do both. This outlines why I believe the Avax prize pool should be removed from the network and suggests an initial process to make it happen.

What would removing a prize pool mean?

Removing (or adding) a prize pool should not be seen as something dramatic. It will need to happen quite a lot for different reasons (yield source needs to be changed, asset no longer supported, etc.)

Removing the Avax prize pool would have no impact on the security of deposits in the Avax prize pool. It would simply mean 1). the Avax pool would no longer share prizes for the network (meaning their prizes would JUST be based on yield from their pool). 2). The protocol would no longer provide prize liqudity or award the prizes.

Why should the Avax prize pool be disconnected:

  • The Avax pool is using USDC.e, a bridged version of USDC that is a riskier asset to hold (see all the recent bridge hacks)
  • Avax prize pool is using Aave V2 for yield, this is the older version of the Aave protocol
  • Avax prize pool is small, it only has $431,000 in deposits
  • The yield on the Avax prize pool is incredibly low, currently 0.57% ($7 per day)
  • There is no POOL token on the Avax network
  • The protocol has gotten very limited support from the Avax team

It is feasible that the current Avax prize pool could be removed and a new one on Avalanche could be created but to put it shortly – due to Avax not focusing on being an Ethereum Layer 2 and the lack of support we’ve gotten I think it makes more sense to leave the blockchain completely.

For all the reasons above, I do not think the Avax prize pool is worth the cost of up keeping it. Furthermore, removing it from the network would free up resources to focus on Ethereum L2s that can have the POOL token like Arbitrum.

Next Steps:
Although I think removing (or adding) a prize pool should not be something dramatic. It also is something that needs a clear process around it. Right now, we have no process.

For the disconnection of this Avax pool I recommend having a PTIP and vote. This could also be paired with a vote to authorize deployment on Arbitrum.

Going into the future, onboarding and offboarding pools could potentially happen dynamically (using signaling from POOL token staking) or there could be a team dedicated to it.

Would love thoughts and feedback!

6 Likes

Good topic, thanks for the post.

I agree with all of these points: USDC.e and Aave V2 are stale. Avax is drying up. Migrating from this pool to Optimism is cheap and easy. The yield stinks. Avax team has not supported us.

I don’t see the prize subsidy over the yield as a big cost necessarily. For context on the $7 per day yield, the network has been awarding Avalanche a couple of $17 day in prizes. Which we can generalize is on par with the networks average prize yield of ~3%. Of course with a little luck these Poolers can tap into the bigger prizes, but I don’t think they are leeching subsidy any differently than say Polygon where the Aave yield is even lower.

.57% => $7 yield in ~~ 3% => $34 prize out

There are 1,514 Poolers deposited to Avalanche. Worth considering.

I have an idea about operational costs but maybe @Pierrick can give us the exact report. I’m guessing awarding the pool is less than $1 per day. Does it require its own LINK or it uses the RNG from mainnet? Are there other costs?

Is there a mechanism like V3 where the yield can directly be cropped into the prize? I thought with V4 we had to specify the prize distribution? One $7 prize per day?

Would we add a function to the UI for users to award the pool?

For the process I think a PTIP like you mentioned and an offchain Snapshot would suffice. And Arbitrum, YES!

1 Like

Like other pools, it’s using the RNG from mainnet, so there is only the cost of pushing and locking the draw on Avalanche, which cost approximately $0.30 per transaction, so it’s negligible.

1 Like

Full disclosure: Leighton and I have already discussed this and we believe we should transition from Avalanche to Arbitrum. I want to add a bit more background in terms of my motivations:

The primary reason for this transition is that it lays the groundwork for V5. The next version of PoolTogether will require participation from POOL token holders to function, so we’ll need to make sure the token is supported on chains we deploy to. Avalanche doesn’t have native support for bridging the POOL token.

Arbitrum is an L2 of Ethereum, so it can bridge the POOL token with very high security standards. It also has ERC20 support out-of-the-box, just like Optimism.

Moving to Arbitrum will set us up for greater protocol improvement in the future!

Transitioning from Avalanche to Arbitrum won’t actually reduce any costs- it will just shift them from one chain to another.

3 Likes

I aired some of this in discord. This has sort of reinforced my train of thought on bridging the POOL token. Originally I was really gung-ho for POOL across chains, but with more and more bridges becoming a massive attack vector, I’ve grown apprehensive. At this stage I’m not sure if even having POOL on Polygon is a wise choice from a security standpoint.

Now I’m not saying tear down PoolTogether on Polygon, or even Avalanche. Is there a way to earn our prizes and incentivize them too? What if we unwind POOL on Polygon, but keep the Prize Pool Network there - and while we’re at it keep it on Avalanche too.

POOL is only staked on Mainnet and true L2’s so we don’t need to have some convoluted oracle and bridge combo for POOL to operate like we’d need on Avalanche. But, when staking you’re able to signal which chain and pool you want incentivized in the Prize Pool Network. In other words through the PoolTogether Prize Pool Network UI you connect to say Optimism and you stake your POOL to increase the chances for the AVAX Prize Pool on Avalanche.

Is this technically possible? Is it an utter headache to develop on the backend? I don’t know. But it seems to allow us to stay maximally multi-chain without spreading our POOL too thin and without subjecting POOL to too much bridge risk, and thus letting the Prize Pool Network thrive across all the chains without needing POOL there. Also bonus, we don’t need to figure out cross-chain governance as deeply.

2 Likes

It would be possible but we would have to run a Defender autotask off-chain that would compute the amount of POOL staked and then push it onto Avalanche. Which is something we want to avoid since we would rely on an external “oracle” and this autotask would be controlled by a centralized entity cause the Defender account is currently owned and operated by PoolTogether Inc.

2 Likes

In general I think being present on as many chains as possible, even if they are low TVL, is a good thing.
Still, considering the Cons you mentioned @Leighton , especially Avalanche not having the POOL Token which could be a problem in V5, I‘m fine with „Disconnecting“ it from the Prize Pool.

Wouldn’t the network already rely on an external oracle or some other type of centralized messaging since we have multiple chains; isn’t pick space distribution an off chain mechanism controlled by a centralized entity? Then trying to share weighted gauged information across chains is going to lead need that as well?

@Leighton
I am not in favor of disconnecting AND deprecating the AVAX prize pool. I like being on multiple chains, Avalanche is EVM compatible, and they have an architecture with subnets that has some potential I think we could use in the future.

Using USDC.e is a concern, but we can upgrade that pool to host USDC native instead. Ironically this would be disconnecting and depracting the USDC.e pool, but we would still have an Avalanche pool to quell the USDC.e concern.

Ethereum also uses the V2 pool for yield, I don’t know how that makes it more of a riskier asset, would you mind expanding on that a little more?

Avax prize pool being small does not seem like a fair argument imo. Pooltogether has a concept where different geographic locations have different incomes. A 1$ means a lot to some people–> means half a million means 500,000 times more to those same people. Furthermore, with a multi chain protocol, it shouldn’t matter how large a pool is, thats what the pick space does. Avax fees are miniscule compared to Ethereum so running those txns can’t outweigh the cost of hosting the pool. I’m happy to help with the Avax operations team if we need more people to do this.

The yield on Avax in Aave V3 is, rewards+yield second only to OP. Yield only on V3, it is second only to OP. All yield sources on V2 are sub 0.6%, so all area low. If we were to upgrade that contract to V3 along with upgrading the USDC.e to USDC deposits…that will benefit us greatly. This would be the optimum route, instead of just doing away with the chain.

As far as the POOL token being on Avax; V5 still needs to be voted on. There are plenty of unanswered questions and concerns about getting a governance token on multiple chains and the viability long term of V5. Furthermore, @Taliskye 's post and my response above to Pierrick, we can secure the gov token and have weighted staking gauging with someone like PTinc. running the information where exec team is still in control of those contracts in case of bad actors.

The protocol has indeed gotten very limited support from the Avax team. I have no idea what went on there, but we have multiple professionals on our marketing team who have the ability and experience to deal with this issue. Also, please understand, Avalanche has the 4th largest TVL compared to ALL chains; behind only Ethereum, BSC, and Tron. I know what your thinking, “DaBoom, Tron has double the TVL so maybe we should just hop on Tron too.” No, Tron only has 10 protocols on it, Avalanche has 245, behind ONLY Ethereum(531) BSC(440) Polygon(284) Fanton (255).

I vote we reestablish contact with Avax team, bring in our marketing team and keep PT on Avax.

1 Like

Currently yes, the random number is computed on-chain on Ethereum and then we use autotasks to push this random number and the total TVL onto other chains.
That’s also why we started to migrate to Chainlink VRF 2.0, to be able to compute a random number on each chain and not have to rely on autotasks to push the mainnet one onto other chains.

Regarding V5, I’ll let @Brendan answer.

If we were to migrate to Aave V3 on Avalanche, people would have to withdraw and then redeposit in the new pool, so we would have to deprecate this pool anyway and then redeploy a new one. So even more work than just deprecating the current pool.

1 Like

Some AVAX drama