Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Coupon-based Grant System #69

Closed
jacob-tucker opened this issue Aug 12, 2022 · 8 comments
Closed

Coupon-based Grant System #69

jacob-tucker opened this issue Aug 12, 2022 · 8 comments
Assignees

Comments

@jacob-tucker
Copy link

jacob-tucker commented Aug 12, 2022

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:

  1. Go through the coupon Vault
  2. Check to see if the user has any available coupons for the token in question
  3. Use whatever coupons available
  4. 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]
@alxflw
Copy link
Contributor

alxflw commented Aug 12, 2022

thanks for the submission @jacob-tucker, we'll review and get back to you soon

@chrisackermann
Copy link

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.

@jacob-tucker
Copy link
Author

No worries @chrisackermann - thank you for keeping me in the loop :)

@jacob-tucker
Copy link
Author

Hi there @chrisackermann ! Just wanted to check if the team still had interest in this proposal. Thank you, and happy holidays 🥳

@Itahand
Copy link

Itahand commented Mar 28, 2023

This is extremely necessary.

@jacob-tucker
Copy link
Author

Would still love to make it @Itahand , wondering if there is still a need on Flow side

@Itahand
Copy link

Itahand commented Mar 28, 2023

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.

@Aliserag
Copy link
Collaborator

Aliserag commented Dec 19, 2024

Nicest grant number. We appreciate your proposal and taking the time to fill it out. Given the time since this has been submitted I'm closing this down, especially because it seems like it was already incorporated in Toucans. Please reach out to me if you feel this was a mistake :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants