PTBR-7: Generation Software Q4 2023
Start Date | Oct 1st, 2023 |
Timeline for Deliverables | 3 months |
Budget | $511,454 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:
- Code Arena: PoolTogether V5: Core Contracts
- 0xMacro: [not yet public]
- Code Arena: PoolTogether V5: Part Deux
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:
- Launch PoolTogether V5
- Develop and deploy a general-purpose reward mechanism
- Formalize and expand on the PoolTogether headless brand to enable consistency across the PT ecosystem.
- 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:
- 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.
- 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 |
---|---|
115.13733535698077014 SUSHI = $66.5 | SUSHI |
9.175794388971038674 COMP = $386 | COMP |
601.377446 USDC = $601.377446 | USDC |
179.207908079489873654 UNI = $759.514 | UNI |
6526.012399999999803392 GTC = $5527.67 | GTC |
9417.274716957714921579 DAI = $9417.15 | DAI |
494695.78855399997 PTaUSDC | PTaUSDC |