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 · 2 comments
Open

Fiat Donations in Grants Stack #3658

haonchon opened this issue Sep 29, 2024 · 2 comments

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

@marsrobertson
Copy link

We think people with exact same legal name will happen infrequently.

Same with people who have two different legal names in different jurisidiction :)

I fully support this proposal. Native integration makes so much sense. Realistically speaking, the timing is tight, it might be problematic to release it before GG22, on the other hand Gitcoin attracts the best 🧠 super coders in the Web3 - it might still possible if properly prioritized.

image

(screenshot from proposal on the forum)

Basic integration MVP: priority obviously

Longer term I would like to suggest / discuss / propose (not sure what's the best place / form / factor) some additional features in the Grant Stack, areas adjacent to accepting PayPal / credit cards:

  • Donor CRM (customer relationship management). Easier to follow up with existing donors, as opposed to fundraising / sales pipeline from scratch. This can help grow the GMV (gross marketplace value). Could be as simple as opt-in email.
  • Not just PayPal / credit cards but Venmo / WeChat / any other payment system / we are not toxic maxis / we are open for business
  • Not just accepting a donation but creating wallet on the backend, a tool / platform / framework that does something like this: https://www.privy.io/
  • Airdrop POAP and $5 in gas on cheap L2 / L3 to users onboarded in this way
  • Airdrop $DON (like receipt of donation, or Don Corleone the big boss) for each $1 donated, it's a genuine flex, beyond just feel good. Or maybe the exact opposite is true, once receiving something in appreciation of the gift, the intrinsic motivation is gone?

Also some field standarisation. Some fields are exactly the same between the rounds. It would be nicer if they lived on the project level (same across multiple rounds) as opposed to application level. Currently Twitter and GitHub are on the project level, here are some other common fields:

  • Karma GAP
  • Link to legal structures registry in your jurisdiction (for incorporated entities)
  • Link to public chat

And for completeness here is even more feedback: https://gov.gitcoin.co/t/feature-request-feedback-and-donor-notes/19239

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

2 participants