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

Fiat Donations in Grants Stack #3658

Open
haonchon opened this issue Sep 29, 2024 · 1 comment
Open

Fiat Donations in Grants Stack #3658

haonchon opened this issue Sep 29, 2024 · 1 comment

Comments

@haonchon
Copy link

haonchon commented Sep 29, 2024

User Story:
I was recommended to post this as an issue by Owocki.
As a user, I want Grants Stack to include fiat donations so that it is accessible to 100x as many people.
The Open Civics community has expressed this is one of their greatest needs that is preventing wider participation in their Gitcoin rounds. A majority of round operators during GG21 also requested help in setting up this feature. We believe the best solution would be to integrate the solution directly into Grants Stack.

Acceptance Criteria
GIVEN successful arrival of a sybil-resistant donation to a Gitcoin project
WHEN a user sends fiat funds
THEN send out matching funds accordingly

Product & Design Links:
See https://viaprize.org/qf/opencivics/explore for a previous round where we already built this successfully.
See https://gov.gitcoin.co/t/proposal-for-fiat-donations-in-grants-stack/19446 for the full proposal
All that Gitcoin would need to do is add a "Pay with Credit Card" button to the Grants Stack checkout page. The rest would be handled through a system that the viaPrize team has built. The time demand on the Gitcoin dev team would be minimal.

Tech Details:
The system works by generating a custodial wallet for each fiat user and sending stablecoins from a crypto reserve through the users’ wallet and into the smart contract.

From the user's perspective, it's the exact same process as what they're used to doing on any web2 platform.

For PayPal Sybil resistance, we check if the payment is not pending and that the account is "verified" meaning that it has a bank account linked to it. Someone can only link a bank account to one PayPal account. There is one wallet generated per PayPal account.

We've stress-tested this by opening multiple bank accounts to link to multiple PayPals with different names, and only some of the time did it work, and even then the payments would often show up as "pending" for the new account and sometimes it would flag it and say we need to submit gov ID showing if we're using a real name.

Full data on when we did this during GG21 here

Open Questions:
Can we switch to Visa card donations and bank transfers?
We have access to a Stripe API which allows us to check if a bank transfer is using someone's legal name.
Visa is slowly asking us for info so they can give us access to an API that does the same for Visa card transactions.

If we gain access to this in time, our Sybil resistance can be simpler by relying on people's legal names and we can remove PayPal. There would be one wallet generated per legal name. (We think people with exact same legal name will happen infrequently.)
If someone has privacy concerns, they can still just donate with crypto.

Notes/Assumptions:
We reviewed Allo 2.1 and this feature should not be affected by the transition to it.

Copy link

linear bot commented Sep 29, 2024

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

No branches or pull requests

1 participant