Inspiration:
The lack of transparency of how funds are used is a leading problem with a lot of charities. Ever so often we hear of charities turning to be scams. Building an on-chain charitable entity will allow users to not only track funds but also be able to understand how funds are being utilized.
Goal:
To build a fully decentralized charity organization like GoFundMe which is able to accept donations in crypto or fiat currencies.
Features and Discovery Questions
| Feature |
Questions |
Answers |
Tech We Could Use |
TBC in v1 (EthOnline) |
Helpful Links |
| チャリティーイベントの募金活動を可能にする。 |
チャリティイベントを作成したユーザーは、投票がクリアされた時点でお金を受け取るアカウントと同じになるのでしょうか? |
|
|
|
|
| GoFundMeのように、3種類の資金提供を認めるべきでしょうか。チャリティ、個人、受益者の3種類の資金提供を認めるべきでしょうか?それとも、チャリティに特化したものにするのでしょうか?チャリティに特化する場合は、非営利団体に直接資金を送金するのがベストだと思います。 |
3つのシナリオを認めるべきと思います。1. 資金調達が個人のためのもので、チャリティイベントキャンペーン作成者が直接資金を受け取る 2. 資金調達が友人や家族のためのもので、チャリティイベントキャンペーン作成者が直接資金を受け取る受益者を招待するか、彼らに代わって資金を受け取り自分で分配する 3. 資金調達が非営利の慈善事業のためのもので、資金は非営利団体に直接送付される |
- polygon |
|
|
|
- lens for profile creation
- web3.storage (ipfs/filecoin) to store photos and text files
- livepeer for video hosting
-Login/Connect Wallet with ENS option?
- EPNS for push notifications and
- TheGraph for getting data on chain to display in dapp AND for EPNS push notifications
- superfluid for real-time payments
| | - livepeer
- lens
- thegraph
- thegraph and EPNS |
| Accept stablecoins for charity | - Which stablecoins are supported. Should we just go with USDC/USDT to begin with.
- Should a user be given the option to choose a stablecoin they would like? | USDC and USDT since we’ll be using polygon. although from a development perspective it might be hard to get ahold on some testnet USDC and USDT, maybe now we just allow MATIC (assuming we’re using polygon)? We can always add stablecoin support if there’s time. | | | |
| Accept crypto for charity | - Are we gonna allow storage of ERC20 tokens in smart contracts or should they be converted to a stablecoin | it’s tricky with respect to setting a goal amount upon campaign creation because since crypto is volatile, the value of the donations made could be different at the end of the campaign. i think to allow for using any crypto, we’d have to convert it to a stablecoin when it’s donated? we could get creative and have a treasury that stores the collateral for any given non-stable crypto that is donated, and at the time of payout make the conversion. this could allow us to take advantage of price fluctuations in the underlying asset in certain cases, but obviously would leave us exposed if there was a plummet in the price before the end of the campaign. Maybe for now we keep it simple by allowing users to pay only with stables? | | | |
| Accept fiat for charity | - Which 3rd party platform should we choose. Banxa, MoonPay, Plaid (If I’m not wrong stripe offers payments too but in select countries). Maybe a first option should be to select a provider which services most countries? | Good question! Maybe we only allow them to donate with crypto, but offer a way for them to buy crypto in-app? I wish there was a sponsor for this (it’d make it easier to decide), but my gut is telling me MoonPay since they offer the option to buy crypto with a CC or a bank account in 160+ countries. | MoonPay? | | https://www.moonpay.com/business/onramps |
| Direct to Charity transactions | - Verified charities will be given a direct to charity option where they won’t need a voting process.
- Future scope: Set an open-source process that allows community members to vet a project and then add it into the website | heck yeah! | superfluid!
| | |
| Charity DAO - Allow users who fund a project to vote to release more funds based on milestones achieved by the project. | - What is the voting process that will be followed
- How often should a check in be? Should this be something the project creator should be allowed to set or do we set arbitrary check in points (e.g. 4) | * 4 check ins imo
- We could use the Quadradic DAO voting mechanism, where every member has the right to repeatedly vote on a proposal, where the cost of the vote is the square of the number of votes a member wishes to acquire. Instead of basing it off of tokens held, base it off of dollars donated. E.g. if they donated $100 they can have 10 votes (square root of 100 is 10).
However, participation of a fake identity in the voting process could lead to unfair results, which is why proof of identity is a key necessity with quadratic voting. (solve with kyc?)
- Another option: Multisig voting is a DAO voting mechanism aimed at creating a balance between central authority and decentralization in an organization. Under this model, DAO members have the power to signal on proposals, while a centralized and predetermined committee executes the vote on the suggested proposal. This model is one of the fastest voting mechanisms and could be appropriate in cases, where urgent action is key to the survival of the DAO. However, there are risks of the centralized authority taking advantage of their position and voting in a way that is now in the best interest of the larger portion of the DAO community.
| lens can be used for this too
| | https://limechain.tech/blog/dao-voting-mechanisms-explained-2022-guide/ |
| Use POAPs, NFTS to build on chain reputation | - Should Poaps be used or is there a better way to do this. Probably using lens? | yeah, lens since they’re a sponsor ;) | lens protocol | | |
| Use EPNS to send push notifications to users about upcoming votes, milestone updates | | | | | |
| Send users emails about upcoming votes, milestone updates | | | | | |
| Cross chain utility | - Should we support l2s ? | Yeah! but in the future scope perhaps? | | | |
| Matching donations by sponsors (e.g. a sponsor could match 50% of all donations up to a certain amount) | | | - Superfluid could be used to make real time payments | | |
| Accept crypto as a form of payment and donate it directly as USD/ native currency to verified charities | | | | | |
| Allow payouts in USD | | Probably a future extention. Users will be able to transfer to their wallet and then receive payouts | | |
|
| Allow fundraiser creator the ability to toggle a feature on their account that automatically converts non-stable crypto to stable crypto. | | | | | |
| Add a dashboard that allows users to see how funds are managed by the owner of the contract etc. | | | | | |
Competition Research
What makes us stand out?
- Allows users to directly donate directly to the blockchain
- DAO voting mechanism to allow donors the ability to monitor the progress of a fundraising objective and vote to release funds to the org/individual based on the achievement of milestones set for the project
The Giving Dao Token
Need to add more information on this.
DAO Voting Mechanism
This would require some experimentation to find an optimized way to make the dao work.
- During donation to a charity, a donor will be asked what should be done with the money incase a proposal fails. There will be two options (Fallback options)
- Return the money back
- Donate to a charity that will be chosen by a multi sig wallet belonging to the team(later community)
- Donate money to a reserve contract that will be used in case of catastropic events. Floods, Earthquakes etc.