[DRAFT] [GF: PHASE 1 PROPOSAL] JustCause

Project name: JustCause

Author name and contact info (please provide a reliable point of contact for the project):

John Smith, email: smeee23@gmail.com

I understand that I will be required to provide additional KYC information to the Optimism Foundation to receive this grant:
Yes

L2 recipient address:
N/A, we are not requesting custody of funds.

Which Voting Cycle are you applying for?:
Cycle 6

Grant category:
Phase 1

Is this proposal applicable to a specific committee? [y/n, link to committee]
No

Project description (please explain how your project works):

JustCause is a crowdfunding application that allows users to leverage the power of defi to fund causes that are important to them without spending their hard earned crypto. We use an innovative funding mechanism to allow users to contribute to public goods, charitable organizations, DAOs, local/global/personal causes, and much more.

Users are able to participate as either Contributors or Pool Creators. Pool Creators generate JustCause Pools representing a cause in need of funding. To create a pool, users provide a name for the pool, receiving address, description, uploaded image (optional), and select which tokens the pool will accept as deposits. Contributors deposit tokens into JustCause Pools which in turn deposit them into Aave’s lending protocol. The interest earned is donated to the cause associated with the Pool. When Contributors need access to their funds, they simply withdraw their original deposit and the interest accrued is left behind for the cause.

JustCause will have two types of pools: Verified Pools and Unverified pools. Verified pools are created by the team, and the recipient of the funds will be verified before pool creation. An example of such a pool would be a Coin Center Pool, where the recipient is a well known charity or organization. Unverified pools are created by users of the protocol. The recipient of the funds will not be verified by the team before creation. We want to make it so ANYONE can create and fund a pool on JustCause. In our opinion, being permissionless is fundamental to the protocol sustaining in the long term. We appreciate that allowing anyone to create a pool raises an issue regarding the pseudonymous nature of blockchains. However, through integration with social media such as Aave’s new Lens protocol, we believe JustCause has the potential to be the crowdfunding platform of the future.

Another unique feature of JustCause is that the deposit information for the users is stored on-chain in the form of an ERC721 token (NFT). A Pool Creator has the option of uploading an image at the time of pool creation. This image is stored on IPFS and an NFT is generated for the Contributor’s to the pool. The Contributor’s token stores information regarding the funds deposited in the Pool. The NFT acts as an on-chain receipt for the pools. This allows Pool Creators to potentially reward Contributors to their JustCause pools.

JustCause is an open source, permissionless and non-custodial protocol. This means that anyone has the freedom to create or contribute to pools or interact directly with the smart contracts on the blockchain. This freedom lies at the heart of the difference between permissioned (closed), and permissionless (open) systems.

Project links:
• Website: Just Cause (pilot project is live on Polygon POS using Fleek/IPFS)
• Twitter: @JustCauseDev
• Discord/Discourse/Community: As evidenced by our Twitter, this aspect of the project remains a work in progress.
• Please include all other relevant links below:
Links to repo, audits, twitter, documentation etc. can be found on homepage (FWIW this submission does not allow multiple links)

Additional team member info (please link):
We are a small but dedicated team. Our frontend developer has over 10 years of experience in software engineering. They have a wide range of experience from working at small start-ups to large multinational corporations such as Alphabet. Our Full stack developer has prior experience working as a machine learning engineer.

Please link to any previous projects the team has meaningfully contributed to:
N/A

Relevant usage metrics (TVL, transactions, volume, unique addresses, etc. Optimism metrics preferred; please link to public sources such as Dune Analytics, etc.):
We currently have ~19.5 WETH deposited into our 3 verified pools on Polygon POS.

Competitors, peers, or similar projects (please link):
GoFundMe.

Is/will this project be open sourced?
Yes, this is the way.

Optimism native?:
We are not sure how to answer this question. We are looking to expand onto Optimism because:

  1. Optimism is a true L2 unlike Polygon POS
  2. We need inexpensive transactions for our app to be useful

Date of deployment/expected deployment on Optimism:
We will have to make a few small changes to our contracts because AAVE Pool contracts implement L2’s slightly different. This will require another review from our auditors. We estimate that we could launch in 1 month.

Ecosystem Value Proposition:
What is the problem statement this proposal hopes to solve for the Optimism ecosystem?

We want our app to bring new users into the ecosystem.

How does your proposal offer a value proposition solving the above problem?

Most of the apps we see deployed on chains are gaming, defi, or NFT based. This is something new and different, and it has the potential to bring a new user base into the Optimism ecosystem.

Why will this solution be a source of growth for the Optimism ecosystem?
We are passionate about distributed systems that give humans to the ability to interact in new ways. The concept of allowing users to donate to causes while at the same time preserving their initial capital has the potential to change the world.

Has your project previously applied for an OP grant? If successful, please link to your previous grant proposal and provide a brief update on milestones achieved with the grant. If unsuccessful, and this is a resubmission, please specify how you have incorporated significant changes in accordance with feedback.
No, this is our first request for an OP grant.

Number of OP tokens requested:
We are not requesting funds be distributed to us directly. We are asking for the Optimism Collective to agree to deposit funds into our verified pools for 1 year. These funds can then be recovered in full at the end of the year.

We are asking for 100,000 OP to be allocated to each verified pool with a maximum of 5 pools. Currently we have pools for Gitcoin Grants, Unchain Fund, and Coin Center.

We understand that this amount of money is a large amount. However, for our donation scheme to work we need a large amount of TVL in order for the donations to be meaningful.

Our protocol takes a fee of 0.2% from the donations as they are withdrawn. However, our contracts allow this to be adjusted between 0 – 0.4% (our contracts are immutable and the fee is restricted to these ranges). If the Collective agrees to fund the causes we will turn the fee mechanism to 0% while the OP from the Collective is deposited in the pools. Our main goal is to get users engaged and using the protocol.

Did the project apply for or receive OP tokens through the Foundation Partner Fund?: Yes/No/In Process
No

If OP tokens were requested from the Foundation Partner Fund, what was the amount?:
How much will your project match in co-incentives? (not required but recommended, when applicable):
N/A

Proposal for token distribution:
How will the OP tokens be distributed? (please include % allocated to different initiatives such as user rewards/marketing/liquidity mining. Please also include a justification as to why each of these initiatives align with the problem statement this proposal is solving.)

100% deposited into our verified pools.

Over what period of time will the tokens be distributed for each initiative? Shorter timelines are preferable to longer timelines. Shorter timelines (on the order of weeks) allow teams to quickly demonstrate achievement of milestones, better facilitating additional grants via subsequent proposals.

We are requesting funds be held in the pools for at least 1 year, but in reality they can be withdrawn at anytime in full.

Please list the milestones/KPIs you expect to achieve for each initiative, considering how each relates to incentivizing sustainable usage and liquidity on Optimism. Please keep in mind that progress towards these milestones/KPIs should be trackable.

We worked hard to get this far, but we have a long way to go. The following is a rough outline of our progress and future goals for the protocol:

  • Develop and deploy proof of concept front-end
  • Develop and deploy proof of concept JustCause smart contracts integrating Aave V2 & V3
  • Set up hosting with Fleek and cloudflare on IPFS
  • Deploy proof of concept on IPFS
  • Smart contract testing framework
  • initial phase of protocol documentation
  • Finalize contracts for audit
  • Obtain smart contract audits
  • Finalize front-end (early version)
  • Launch protocol on Polygon POS network
  • Launch protocol on Optimism L2 <=== We are here
  • Implement The Graph protocol for pool analytics such as pool details over time and user donation calculation etc.
  • Implement new features:
    • subscriptions and hosting creator content
    • JustCauseDao

Why will incentivise users and liquidity on Optimism remain after incentives dry up?
If users can create and fund causes that they are passionate about incentives will not matter.

Please provide any additional information that will facilitate accountability:(smart contracts addresses relevant to the proposal, relevant organizational wallet addresses, etc.)
We have a multisig address on Polygon. This is the only address that can create verified pools and change the fee from 0% to 0.4%. It also receives the protocol fee and controls the protocol’s treasury (currently deposited into the verified pools).

Here are some more links we could not add above.

Solidity Contracts: just_cause/contracts/polygon at main · smeee23/just_cause · GitHub
Example JCP Contributor NFT (Coin Center): https://opensea.io/assets/matic/0x46af1d793b8b47e42102b5288418a2a824bcd0ff/87339992446536270908096776423865952504575486949400733342654083106793575490191