[RFC] PTBR-7: Generation Software Q4 2023

PTBR-7: Generation Software Q4 2023

Start Date Oct 1st, 2023
Timeline for Deliverables 3 months
Budget $512,000 USD (approx)

Generation Software (GS) was formed to unlock new human behaviours using innovative technology. We believe that the PoolTogether V5 hyperstructure is the most accessible way to incentivize wealth building, and wish to help it achieve widespread adoption.

Our Team

Our company is comprised of PoolTogether community members and ex-employees of PoolTogether Inc. who hold deep knowledge of the technology, our history, and the vision for the future. In the past we’ve made core contributions to the protocol, so we have direct hands-on experience.

Our Values

We are dedicated to:

  • The research, application and innovation of new technologies that benefit people.
  • Work in harmony and alignment, while maintaining a high degree of autonomy. We work together, but also encourage the individual to excel.
  • Continuously improve everything we do; whether it’s improving the way we work, trying out new ideas, or learning new technology.
  • Contributing to the fields in which we operate. We open source our technology whenever possible, contribute to new standards and ideas, and help others who wish to learn and engage with our products.

Motivation

We are deeply aligned with PoolTogether’s mission of making saving money fun using trustless, decentralized technology.

Review of Previous Scope of Work

In PTBR-2 for Q3 2023 we requested funds to develop and deploy PoolTogether V5. Our deliverables included:

Stewarding the audit, and applying mitigations for the core protocol

We’ve now completed three audits:

Mitigations have been applied and the code is currently undergoing final review.

Building and hosting apps

We’ve built three open-source apps:

  • Vault App: interact with vaults
  • Vault Factory App: create vaults
  • Vault List App: create vault lists to plug into the Vault App.

These are published under the MIT license and the source code is available on Github.

These apps are branded and hosted under the umbrella brand “Cabana”. We’ve done this to signify that these are open-source tools hosted by an entity that isn’t PoolTogether. The Cabana apps are third-party tools, and anyone can fork and build their own under a different name.

You can find them at cabana.fi.

We’ve also created a docs site to help people get started docs.cabana.fi

Infrastructure

At launch we’ll have a suite of bots that allow users to provide value to the protocol by running critical arbitrage:

  • Liquidation Bot: converts yield to prizes
  • Prize Claimer Bot: auto-claims prizes for users
  • Draw Bot: triggers new draws

These bots, along with other testnet bots, are open source and available on Github.

We will also have tutorials and documentation ready for the production launch.

Deployment

Our original plan was to launch across Optimism, Arbitrum, zkSync, Ethereum and Base. However, after consulting with the PoolTogether community we’ve decided to focus our efforts on a single chain and assist the community in launching first on Optimism.

Generation has been collaborating with the Growth and Community Teams on designing our Beta Launch. This launch will be a test of the protocols functionality and will take place on Optimism.

The ad-hoc “Beta Launch Team” together decided it made more sense for us to focus on one chain before deploying to others, so Generation is going to delay other chain deployments and instead focus on the Beta Launch and supporting infrastructure.

We’re excited to launch on Arbitrum and others, but we need to prove the system functions as intended on one chain before deploying everywhere.

Communications Campaign

As mentioned above, Generation is collaborating with the PoolTogether community to deliver marketing communications and visuals. More to come here!

Bonus Deliverables

The Beta Launch demands some additional mechanisms in order for it to be successful:

  • Multi-Delegator dapp: allows a user to delegate to any number of users. This means the Growth and Community teams can easily delegate to hundreds of people for the Beta Launch.
  • Vault Boosts: the protocol needs a minimum amount of liquidity so that it “turns over”, and the vault boost contract will provide a means with which we can both test the liquidation system and ensure there is sufficient volume moving through the system.

Analyzing the performance of the Beta Launch is essential, so we are also going to build a dashboard to analyze the protocol performance. Including:

  • Draw completion analytics: auction times, amounts
  • Liquidation analytics: yield liquidation frequency, efficiency, amounts
  • Prize claim analytics: claim frequency, fee amounts, missed claims

These analytics will help us evaluate whether the beta launch was a success.

Scope of Work

Goal

Our goal is to get PoolTogether V5 into production and prepare the infrastructure needed to execute on the Big Head Growth Strategy.

We will:

  1. Launch PoolTogether V5
  2. Develop and deploy a general-purpose reward mechanism
  3. Formalize and expand on the PoolTogether headless brand to enable consistency across the PT ecosystem.
  4. Help push volume to AMMs to make the protocol more efficient

Deliverables

Public Launch

We plan to launch the final PoolTogether V5 contracts on October 18th on Optimism. This launch will be virtually identical to the Beta launch, but with a number of bug fixes and improvements.

The community can decide whether it wants to boost the vaults as was done with the Beta launch.

Token Branding Guidelines

There will be many prize assets, as anything can be wrapped with prizes. To encourage a consistent experience we will create token branding guidelines. These guidelines will include recommendations for the token image, name, and symbol.

Brand Identity Kit

Expand the brand kit to include the new visual design direction of PoolTogether.com, and create a series of social/marketing templates that can be remixed by the community to create new campaigns on the fly as new assets and chains are added to the protocol. This would include breaking up a bunch of the visual elements into small independent graphics and animations, and making new layouts to support different communication needs.

App Design Kit

Clean up the Cabana App Figma file and release a simplified version that makes it easy for builders to fork off of the existing design system when designing and building their own PoolTogether related tools.

Rewards App

We need the ability to reward prize asset holders, prize asset LPs, and any other token holders that are providing value. We will build a new rewards system that will allow anyone to setup periodic rewards for various tokens.

The system will include:

  • Staking contract for ERC20 tokens (such as LP tokens) that tracks balances using the Twab Controller
  • Reward contract to distribute rewards via the Twab Controller. (will work for prize assets and the staked tokens above)
  • App to view and claim rewards

The rewards system will be audited by C4.

Liquidity Improvements

A key element of the Big Head Growth Strategy is to shift prize asset volume to AMMs. Pushing volume to secondary markets will make the user experience much more capital efficient.

If we encourage POOL/WETH and like-asset prize pairs such as USDC/PTUSDC, then:

  • Users could easily swap POOL back into prize assets to increase their chances of winning
  • Liquidation bots can arb directly against AMMs by flash swapping

More volume will bring more LPs, which will make the markets more efficient.

There are two thing we will do to help encourage this behaviour:

  1. Update the Cabana app to encourage users to use external AMMs if it is advantageous to them. If prize assets have been arb’d, then it may be a good time to buy or sell them.
  2. Research a flash liquidation strategy that bots can use to arb yield. This means bots don’t need to hold any liquidity; they simply run a transaction that returns a profit. We could even make a simple dapp that displays the current reward for running the arb transaction.

The first point will be very easy to achieve once there is liquidity available in AMMs. The flash liquidation strategy will depend on where liquidity is available, so it’ll take more time to flesh out and research.

Additional Yield Sources

We will be coordinating with the Rocket Pool team and the ERC4626 Alliance to deliver a Rocket Pool integration. The conversation has just started, but we have a soft-commitment from them to see an integration audited in November. We will help shepard it through.

Improvements

Improve the landing pages, docs and and communications around the Lists app and the Factory app, with the goal of getting more partners to deploy and promote vaults.

Testnets

We will deploy PoolTogether V5 to the Arbitrum and Base testnets to get a feel for how the system operates on those chains. This will help lay the groundwork to build relationships and integrations.

Support

We will continue to support the community and coordinate with the Council of teams. In particular:

  • Ensure apps are functioning and bugs are fixed
  • Release documentation, tutorials and videos and answer questions in the PoolTogether Discord.

Timeline

Date Description
Oct 18 Public Launch on Optimism
Dec 1 Rewards App Live

Budget

Note: the budget includes the $52k auditing cost for the rewards system.

Amount Token
467,000 USDC
80,827 POOL
5 Likes

Appreciate the detail provided on the deliverables and am excited to see it all come together. Could you provide more details on how the budget is being spent? We were provided lots of details for Q2-2023 but we did not get the same detailed breakdown in Q3 and Q4. I understand Dylan is no longer a team member which would reduce some cost and is the $250,000 auditing a recurring quarterly cost? If you don’t want to go into detail on team salaries publicly then at least a breakdown of team expenses would be appreciated.

Q2-2023 $511,242 USDC + 54,458 POOL
Q3-2023 $460,000 USDC
Q4-2023 $467,000 USDC + 80,827 POOL

Q2 Budget for reference
Q2-2023 PT Inc Team:
Q2 Team Salaries
Brendan $32,775 USDC (POOL covered until end of Quarter)
Pierrick $34,750 USDC 17,688 POOL
Dylan $33,936 USDC 16,240 POOL
Chuck $26,220 USDC (POOL covered until mid of Q4)
Alex $33,936 USDC 16,240 POOL
Ncookie $20,625 USDC 4,290 POOL

Totals: 182,242 USDC 54,458 POOL

Team Expenses:
SAAS/Infra Services $9,000 USD
Security Bounties $50,000 USD
Contractors $20,000 USD
Auditing $250,000 USD
Total Team expenses $329,000 USDC

3 Likes

Can you provide a little bit more insight on what this means? Or provide an example of what this entails?

This is definitely something I am very excited for. What would fall under the “token holders that are providing value” category? I know that at the moment we’re focusing on the largest, safest assets such as stables and ether, however when can we see other ERC-20 tokens being utilized?

Would this be an opportunity to put other tokens to use in V5 in some way? I loved being able to deposit $SUSHI or $UNI into V3. For the moment, it still isn’t apparent to me how we can deposit any assets into V5. I know a lot of it depends on 4626 yield sources, but that flies over my head…

I only know a handful of yield bearing tokens, one of which is $CRV. Would that be relatively easier to incorporate into V5 than lets say $GRT?

The bulk of costs are payroll and the overhead of running the company. We’ve since hired trmid and adjusted everyone’s compensation. SaaS, accounting, legal all remain significant expenses. This budget has an additional $52k allocated to auditing.

The token branding is really about establishing conventions for:

  • The token image. How does it look?

  • The token symbol. What is the pattern we’re going to use for the short “ticker” symbol?

  • The token name. What is the convention we’re going to use for the token name? Ideally it’s brief but descriptive enough.

By having a consistent look and naming for our prize assets, it makes PoolTogether a more consistent brand.

I foresee AMM LP tokens as being the most immediate value-add, but it could be anything. It’s up to the PoolTogether community.

The volume of UNI is $1.83m per day on Uniswap. The volume of Ether is $362m per day on Uniswap. We’re going to focus first on the “Big Head” assets vs the long tail assets you are referring to. This is detailed in the Big Head Strategy.

Also, @atomicnuclei, you asked about POOL staking in the Big Head post, but I want to post my response here because it’s probably the most significant change to the PTBR.

We’ve decided to create a flash liquidation strategy before considering POOL staking

The POOL staking idea that I’ve spoken about before allowed POOL token holders to earn flash loan fees. These fees would be paid by yield liquidation bots.

However, the POOL staking system would only be useful if we had a flash yield liquidation strategy: a smart contract that leverages on-chain liquidity so that bots don’t need to hold any capital; bots just run a transaction and receive funds.

Since we need the flash liquidation strategy anyway, we decided to start with the strategy. Once we have a working strategy we can explore how POOL staking would fit in.

1 Like

That makes sense!

That’s totally the right call!

Yep, I just need patience, lol. It’s totally rational to make PT as successful as it can be by focusing on the “Big Head” assets first. That’s what PT excels at.

1 Like

While it is important to make our non POOL assets last as long as we can, I don’t feel comfortable distributing more POOL tokens to the team. Currently all POOL is going to team and contributors and the direction is headed towards centralizing the protocol. There are many issues that need to be resolved around the future of the protocol but halting POOL to the team is a quick and important pivot that we can make to avoid compounding deeper issues.

I agree that there’s some concentration of POOL forming in the GS team. The question comes does the actively voting community have the power to outvote the GS Team?

If the community can outvote GS then I don’t think we have a problem. Eyeballing Tally (getting an export of the past say dozen votes doesn’t look easy)) from a strict numbers perspective, it looks like the community still has the capability to outvote GS.

But there’s some caveats here, I believe much of the community has delegations from GS or legacy PT Inc. members - if these delegation get pulled the community has no recourse. The other caveat being that the votership is a tad bit more inconsistent in the “bear” market cycle, so the community voting body may be stunted in different votes.

I don’t know the right answer here, as GS should have a vested interest in PoolTogether, the easiest way to ensure that is to increase their allocation of POOL. But I do agree we’ve either already surpassed the threshold for centralized power structure or are walking that tightrope currently.

2 Likes

Thanks for the feedback @therealtuna and @taliskye. In addition to your replies, I’ve received several DMs concerned about the POOL distribution.

With PoolTogether V5 the POOL token is transforming from a governance token to a utility token, but the community has not yet clearly defined the transition strategy or the new token narrative.

The builders of the protocol want to receive a portion of their compensation in POOL; because they believe in it and want to be a bigger part of it. However, there is a clear signal that people want to pause POOL distribution until we determine our token strategy.

As a consequence, I’m going to reduce the POOL portion of our compensation to zero. Compensation will instead be fully in stables. When the POOL portions were calculated they were based on a POOL valuation of $0.55, so I will add $44,454 USD to the stablecoin portion of the PTBR and remove the POOL request.

It’s important that we have maximal consensus for this proposal, because it is by far the largest. I’m happy to make this change in order to have a clean foundation for the new token narrative.

I will put this on-chain tomorrow, as Generation needs to move quickly on this.

5 Likes

This is another fantastic point Brendan, the migration from governance to utility.

What this looks like and how quickly the token will migrate is widely unknown. As are the downstream impacts of whether some amount of governance must be retained.

I’ve been assuming that there will always be some modicum of governance attached to the token. So even if we are passing much of the items historically voted on liquidity/drip, PTBRs, other distributions, etc. to a team or organization - such as a formalized legal DAO through MIDAO. Fundamental code changes and perhaps quarterly/annual budgets for the legal DAO would still require governance. The former out of necessity, the latter out of bureaucratic tracking.
Hmm, maybe that’s a topic for another thread…