Coupon-based Grant System
Coupon
Grant category
- Developer tools / services
Description
I would like to make a smart contract that allows entities to send tokens (like $FLOW) to a specific project/DApp that are only able to be used inside of that DApp. Here is an example:
The Dapper team wants to give a grant to Flovatar community members, but wants to make sure that the grant given to those community members is only spent within that community. Meaning, those community members couldn’t go and use that $FLOW to purchase a Goated Goat, rather they would have to spend their “coupon” (as I call it) on Flovatar itself.
Problem statement
-
Target audience The target audience is actually larger entities like Dapper and Flow who give grants to communities for whatever purpose they desire. However, this could easily be used by any project to give grants or funding to other communities/DApps. It could also be used for simple donations to community members.
-
Evidence for the need Right now there is no way to ensure grants are spent in a correct manner. This would fix that problem. In addition, creating a coupon system may increase user acquisition to dapps, and further encourage developers to build products on Flow if they have a mechanism of attracting users with a controlled financial incentive.
Proposed solution
My proposed solution is a contract that allows communities/DApps to set up a “Vault”. This Vault will have a system that tracks token balances per each user in that community. For example: Emerald City sets up a Vault in their account that looks like: Jacob Tucker -> $FLOW -> 10.0 -> $STARLY -> 50.0 Person 2 -> $FLOW -> 5.0 -> $STARLY -> 0.0
Then, when Emerald City sets up a DApp that requires users to purchase something, we will embed a call to this contract inside of our transaction that will handle purchases automatically. So instead of simply withdrawing X amount from a user’s vault and depositing it to our community’s Vault, it will:
- Go through the coupon Vault
- Check to see if the user has any available coupons for the token in question
- Use whatever coupons available
- Continue the purchase normally
Impact
- In what ways does this benefit the broader Flow developer ecosystem? It will make it much easier for Dapper, Flow, and other grant-giving entities to ensure that grant $ is spent in a way that is intended, rather than transferring tons of $ to a community and risking it being used elsewhere. The tool will be used to increase revenue to Flow dapps, with the potential to increase daily transacting users and transaction volume on Flow. If we can offer this tool to developers outside of the ecosystem, we may be able to attract them to Flow.
Milestones and funding
| Milestone | Deliverables | Timeline | Risks | USD proposal |
|---|---|---|---|---|
| 1 - MVP | Smart Contract, Transactions and Scripts | 2 weeks | - | 10,000 |
| 2 - Adoption | Creating tutorials (written/video) for Dapper to give coupons to communities, and tutorials (written/video) for projects to integrate the coupon system | 1 week | - | 1,500 |
| 3 - Maintenance | This is to maintain the contract in a proper manner given frequent Cadence updates | Indefinitely | - | 1,000 |
| 4 - TBD Website | (Only if found beneficial) This would be to create a website to allow users to view their coupon balances across different projects, and also allow communities/DApps to view their users' balances in their community. This funding would go to the Emerald City developer community to build the website and get developers involved in real-world DApp building. | 3 weeks | - | 10,000 |
Team
| Name | Role | Bio | Contact |
|---|---|---|---|
| Jacob Tucker | Smart Contract Developer | ... | [email protected] |
thanks for the submission @jacob-tucker, we'll review and get back to you soon
Hi @jacob-tucker! Just wanted to send a quick update that we're still working through the review of this proposal - apologies for the long lead time on this one and aiming to have an update for you soon.
No worries @chrisackermann - thank you for keeping me in the loop :)
Hi there @chrisackermann ! Just wanted to check if the team still had interest in this proposal. Thank you, and happy holidays 🥳
This is extremely necessary.
Would still love to make it @Itahand , wondering if there is still a need on Flow side
I know from first hand experience that there is. I don't know if this solution exactly, but there's definitely a need to make sure/verify that grants are used in the most ethical/efficient way.