# Wrapture: A Technical Overview
*An overview of two possible implementations of FWB's upgraded membership model and the technical implications of each.*
___
## **Model 1 - Wrapped Membership**
This model proposes wrapping the native erc20 token inside of a non-transferrable erc721 NFT that may be unwrapped at any time.
**Pros:**
- Allows membership to be abstracted away from the token into an NFT that represents identity - deprioritizing the financialized aspects of membership, and prioritizing the social.
- Creates a sink which will lock up a portion of the token supply and reduce the circulating supply.
- Generates a revenue stream for the via a small fee to wrap and unwrap the NFT.
- This allows FWB to explore a new membership/token model in a non-destructive way.
- If the model is not successful, the NFT can be unwrapped and the tokens return.
- If the model is successful, the community could vote to disable the unwrap function in the smart contract and lock the NFTs in place, creating a permanent sink for the token supply.
**Cons:**
- Heavy technical and educational lift to implement/maintain - this would be the most ambitious project FWB has ever undertaken.
- Any adjustment to the threshold for membership would require all members to unwrap and rewrap their tokens.
- Requires the development of a custom smart contract/snapshot module/front end to manage the wrapping/unwrapping of the NFTs.
- Risk of bugs + exploits that could result in permanent loss of member funds.
- Potentially creates confusion around the relationship between the token/nft and their respective functions in membership/governance processes.
- Unless a majority of our current members to onboard to the new model, we risk having to maintain two separate membership models in parallel. This would be a significant burden on the community and the team.
### Technical Requirements
#### **Smart Contract Development**
- **Swap**
- **Does not currently exist**. All functionality will need to be implemented by the FWB team:
- Query the Uniswap V2 Router to get the current price of FWB tokens in ETH.
- Calculate the amount of ETH required to purchase the desired amount of FWB tokens.
- Transfer the ETH from the user to the contract.
- Swap the ETH for FWB tokens using the Uniswap V2 Router.
- Pass FWB to wrapping function.
- **Wrap**
- **Does exist** mostly. Wrapping/Unwrapping and Transferrability already implemented in MultiWrap and should work vanilla.
- Contract will need to be modified to charge a small ETH fee to wrap and unwrap the NFT.
- Requires product to build an wrapping/unwrapping frontend for members.
- **Audit**
- The FWB team will need to hire an independent auditor (ideally two) to clear the smart contract and ensure that it is secure and bug-free.
#### **Application/Onboarding**
- Requires product to rebuild onboarding from ground up to support the new membership model.
- Users only able to mint NFTs if they have been approved via application process
#### **Governance**
- Requires a new governance framework to support an updated membership model where some members are wrapped and some are unwrapped.
- Members will need to be able to vote on proposals using their NFTs as well as their tokens.
- Requires us to build a custom snapshot module that enables members to vote on proposals with either.
#### **Community**
- Updating and maintaining all FWB surfaces/gates/events to recognize the new NFT as a valid proof of membership
- Educating all current and new members to make sure they fully understand the new membership model and how it works.
### Resources
| Resources Needed | Description |
| :--- | :----: |
| Lead Solidity Developer | Contract |
| Contract Auditor | Contract |
| Frontend Developer | Site |
| Design | Site |
| Developer (Snapshot Module) | Governance |
**Timeline:** 3-6 weeks of development time, 1 week of testing time, 2 weeks of audit time.
**Rough estimation of cost (including salaried FT hours):** $50,000 - $100,000
---
## Model 2: Token + NFT Membership
This model proposes an erc721 membership NFT that is non-transferrable and only valid while holding 75 FWB tokens.
- If a member holds 75 FWB tokens, they can mint an erc721 NFT that represents their identity in FWB.
- If at any time a member holds less than 75 FWB tokens, this NFT will be deactivated.
**Pros:**
- This model is much simpler to implement and maintain than Wrapped and is already functional in the FWB ecosystem.
- No risk of bugs/exploits that could result in permanent loss of member funds.
- Far lower overhead - we avoid having to develop custom smart contracts/snapshot modules/new onboarding flows.
- No immediate need to overhaul onboarding/governance in parallel as all members will still be holding their FWB tokens.
- Allows us to slowly add incentives for minting a membership card to encourage members to join.
- Nicely upgradeable - we can easily tweak the number of FWB tokens required to mint/maintain membership without having to refactor our entire smart contract/swap code.
- Allows us to airdrop membership NFTs to existing members to incentivize them to join directory.
**Cons:**
- This model does not create a sink for token supply or generate revenue for the DAO in it's current state.
- Compared to Wrapped, this would not reframe membership as meaningfully as Wrapped would.
- This leaves inactive NFT's on the market, though that could be mitigated by adding a burn function to the NFT contract that we call periodically.
## **Model 3 - Staked Membership**
This model is most similar to Model 1, but instead of wrapping the token in an NFT, we stake the token in a smart contract that grants access to mint the membership NFT.
**Pros:**
- This model is very similar to Wrapped Membership in that it creates a sink for token supply, generates revenue for the DAO, and allows us to explore a new membership model in a non-destructive way.
- Less smart contract lift than Wrapped Membership - we can use an off the shelf staking contract without having to do much custom development.
- Removes tokens from circulation, and reframes membership as a social identity rather than a financialized asset.
**Cons:**
- Overall I think staking is a bad fit for FWB unless we intend to provide staking rewards in some way or another. Yield is a
- Requires the development of a custom smart contract/snapshot module/front end to manage the staking/unstaking of the tokens.
- Risk of bugs + exploits that could result in permanent loss of member funds - while this is less likely when using an off the shelf staking contract, it is still a risk.
- Making members burn their NFT to unstake their tokens doesn't feel like a great user experience, but it's the only way to ensure that the NFT is only valid while the tokens are staked.
- Collab.land can't check for traits on an nft, or the balance of tokens in a smart contract. Snapshot can, via custom module.
- Results in fuzzy membership - some members will be staked and some will not unless we demand that all members stake their tokens to retain access. In a bear market?
- Can you access the discord if you've been accepted, hold 75 $FWB, but haven't staked yet?
- What if you unstake your tokens, but don't sell them? Still a member?
### Technical Requirements
- **Smart Contract Development**
- Customize an off the shelf staking contract to charge a small ETH fee to stake and unstake the tokens and mint and burn the NFT.
- Audit
- The FWB team will need to hire an independent auditor to clear the smart contract and ensure that it is secure and bug-free before user funds are deposited.
- **Application/Onboarding**
- Requires product + membership to rebuild onboarding from ground up to support an entire new membership model.
- Users may only mint NFTs if they have been approved via application process, so we will need to build a new system that supports this.
- **Governance**
- Requires a new governance framework to support an updated membership model where some members are staked and some are not.
- Members will have to be able to vote on proposals using their NFTs as well as additional tokens they hold. Unstaked members need to be able to vote as well. This will need to be clearly communicated to members.
- Requires us to build a custom snapshot module that enables members to vote on proposals with either.
- **Community**
- Updating and maintaining all FWB surfaces/gates/events to recognize the new NFT as a valid proof of membership as well as unstaked tokens
- Educating all current and new members to make sure they fully understand the new membership model and how it works.
### Resources
| Resources Needed | Description |
| :--- | :----: |
| Lead Solidity Developer | Contract |
| Contract Auditor | Contract |
| Frontend Developer | Site |
| Design | Site |
| Developer (Snapshot Module) | Governance |
Timeline: If all corners are kicked and this is executable, it's at least 8 weeks of FT development, 2 weeks of testing/bugfix, 2 weeks of audit time.
## Overall thoughts:
The more I've thought about this, the more I actually don't think staking aligns with the spirit of what we're doing on a fundamental level. Staking tokens is linked tightly to the expectation of recurring yield/rewards, and I believe members first thought when they hear "staking" is "what will I be getting in return?", which has been a major point of contention in the FWB community already. On top of that, it will take nearly the same lift as wrapping to pull off in terms of a full overhaul of membership and governance.
The clearer the app becomes, the more hesitant I am to put boundaries in front of it. With our current nft model, we could flip a switch and airdrop all of our approved members directory nfts, and they would be able to access the app immediately to set up their profiles. This feels fun.
If our goal is to onboard as many FWB members as possible to directory/app, I think we should prioritize that over the creation of a metric (% of tokens staked) that could very well work against us if members are hesitant to stake their tokens.
I think that we risk overextending ourselves on an issue that likely has a much softer fix - focus our energy on making directory and the app undeniably fun and engage the community through things like crowd sourced badge hackathons in figma, etc. - harness fest energy to make everyone feel like they own a little piece of this when it's released. That feels like something we're good at, and a much safer use of our resources.
The time we would spend on this project could be better spent shipping high impact projects and features that will have a much more immediate impact on FWB and the community experience. They haven't been properly introduced to member directory, and most members can't mint a profile anyways because they don't have the tokens as is. We haven't told them that this is the NFT yet, so they dont think this is the NFT.
Is staking worth pulling resources and energy from:
- The FWB App
- Merch Table
- Fair Share
- Directory
My gut says no.