You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on May 29, 2025. It is now read-only.
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.
Coupon
Grant category
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:
Impact
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
Team