GiveCredit
SCF #28 Community Award End-User Application $64,000 View in SCF
GiveCredit is a platform for crowdfunding environmental impact using tax-deductible donations, built on Soroban.
Team

Evan

Progress on Previous (Awarded) Submissions

[Deliverable 1] Wallet integrations for Stellar and Soroban on mobile (Android + iOS) and web

Status: Completed

GiveCredit uses Freighter Wallet and is fully integrated and functional on Soroban mainnet.


[Deliverable 2] User interface and frontend development for web app. 

Status: Completed

We created a new UI and frontend for GiveCredit including homepage, user profile/NFT wallet/donation records, donations, and NFT minting.

[Deliverable 3] Carbon Credit and Donation NFT and registry design expansion

Status: Completed

GiveCredit now has a registry to keep track of all donations to PublicNode, all carbon credit metadata from StellarCarbon, all NFT donation receipts minted on the platform, and all user and nonprofit wallet data.

[Deliverable 4] Soroban Smart Contract Automation

Status: Completed

For this deliverable, our core goal was to create a smart contract-based mechanism to automate donation processes and mint NFTs. We created Soroban smart contracts to split and organize donations together in order to meet minimum donation amounts (e.g. putting multiple donations together to retire a full carbon credit), and mint NFTs containing the carbon credit and donation metadata to nonprofit and user profiles. This was completed and all contracts are tested and working, and have been deployed to Soroban main net. 

[Deliverable 5] Credit Retirement Information Transfer

Status: Completed

We created for GiveCredit a system of automated data retrieval hooks based on cron jobs, which regularly call on outside databases (for example, StellarCarbon's database of retired carbon credits from Verra) in order to retrieve accurate and up-to-date information (in this case, carbon credit price and conservation project data) for incorporation in GiveCredit. This way, users can click on the initiative and nonprofit profiles to learn more about the specific carbon credits retired by donations, and the underlying conservation efforts they represent.

 [Deliverable 6] Visual Representation of Retired Credits

Status: Completed

Our goal was to create a mechanism to represent real-time progress on charitable initiatives as donations occurred, and we achieved this goal. As donations are made, progress is reflected in the user interface. 

(For example: Our goal for the PublicNode Green Blockchain Initiative is 173 carbon credits, to fully offset the roughly 173,000kg yearly Co2 emissions from the Stellar network- as each donation is made and carbon credits are retired, one of 173 blocks representing carbon credits is filled in).

Section

read

Technical Architecture Doc

https://drive.google.com/file/d/1_F9ur2Ih7q1bSZH0hZzOuSRQ46iGDf-K/

Project URL

https://givecredits.cfce.io/

Code URL

https://github.com/CollaborativeEconomics/give-credits

Video URL

https://youtu.be/32hLaopwyyw?si=pNsgN4QfYmhtpjeG

Pitch Deck URL

Project Categories

Project Type [If End-User Applications]

Section

read

Requested Budget in USD ($)

64000

Total Expected Roadmap

GiveCredit SCF Community Grant Road Map

July-August 2024 (0-1 months after award): 

-Complete initial round of testing and implement feedback for GiveCredit v1. 

Note: As of June 2024 we have deployed GiveCredit to Soroban mainnet. We are testing it internally and externally, making adjustments to the UI and adding documentation to the site. But we will continue with user testing as we slowly ramp up operations.

 

-Enable stablecoin donations in Stellar-USDC and enable donations in other Stellar network tokens according to nonprofit partner preference

 

August-September 2024: (1 month after award)

-Complete all rounds of external user testing (at least 2 rounds of 10 users with 45min zoom calls each) and implement feedback. Go live. 

 

-GiveCredit marketing, user tutorials in print and video, podcast and Twitter Spaces appearances promoting Green Blockchain Initiative. First donations.

 

-Soroban-Native NFT Receipt smart contract: Putting the process of minting donation receipt NFTs fully on-chain and the creation of a customizable standard smart contract template for attachment to nonprofit partner wallets.

 

-Working on: Dynamic NFTs for on-chain identity, admin dashboard, partnership research, on/off-ramp + token switching research.

 

September-October 2024: (2 months after award)

-Goal: first 100 users and $1000 in donations for Green Blockchain Initiative

 

-In-app access to Low-Barrier XLM->Stablecoin exchange + Fiat On/Offramp Services

Possibility of debuting this feature first in more crypto-friendly regions. Highly dependent upon regulation. Investigate Moneygram integration. Can be initially accomplished with external links.

 

--Working on: Dynamic NFTs for on-chain identity, admin dashboard, partnership research, on/off-ramp + token switching research.

 

October-November 2024: (3-4 months after award)

-Complete First Green Blockchain Initiative: Achieve goal of 173 carbon credits retired for roughly $3400, offsetting one year of carbon dioxide emissions by the Stellar network

-Roll out dynamic NFT profile system for users, nonprofits and initiatives

-Roll out Connections between donation NFTs and Story NFTs to demonstrate concrete, transparent connections between money donated and impact generated

-Admin dashboard for data analytics 

-Announce new nonprofit partners and initiatives, second Green Blockchain Initiative

-Finalize contract with first corporate partner for Co2 removal crowdfunding

This will be GiveCredit's final SCF grant application. The plan is to use this Community grant to springboard into a fully built-out platform.

Realistically, GiveCredit will not be self-sustaining in the short term so once it is stable with metrics we can point to, we will start raising a pre-seed fundraising round among investors sourced from the climate tech/fintech/impact investment community.

This will allow us to expand our team and begin to target customer segments and business models which will allow GiveCredit to turn a profit: for example, integrations with large nonprofit tech providers, impact consultancies working with Fortune 500 corporations, and integrations with foundations and funds focusing on climate tech. But, our mantra is: one step at a time. 

Section

read

Public Entity Name

Center for Collaborative Economics, PBC

Entity Description

Founded to support nonprofits and other regenerative initiatives using blockchain and other innovative technologies.

Team bio

Evan Hudson, Founder and CEO: Inspired to start CFCE (parent company of GiveCredit) by his experience running a community health nonprofit, Evan realized that the nonprofit-industrial complex was ripe for disruption, and that blockchain was a perfect way to increase transparency, lower costs and put financial power in the hands of the people, where it belongs.

He is a member of the Council for Inclusive Capitalism and recently presented GiveCredit at the Green Blockchain Summit at COP28 in Dubai. 

https://www.linkedin.com/in/evan-hudson-479388255/

https://www.inclusivecapitalism.com/member/evan-hudson/

Julian Kingman, CTO: Julian is a "one-man band" full-stack developer with a background in product development, full-stack and mobile engineering, product design, and information architecture. He helped multiple startups at different stages to go from idea to MVP to scalable product. He is passionate about using technology to help humanity move towards a brighter future.

https://www.linkedin.com/in/juliankingman/

https://github.com/JulianKingman

George Nawa, Lead Developer: After decades working in corporate IT and database management in the United States, George moved back to his native Venezuela and decided to plunge into the world of blockchain and Web3. He joined the CFCE team after a string of hackathon successes across several different blockchains, including winning the "Stellar Network Build Challenge" hackathon in 2018.

He is the main architect of GiveCredit's back end/database architecture and has enjoyed working with Soroban throughout its different testnet incarnations. You might see him on the Stellar Developers Discord as "KuyawaKata." 

https://github.com/kuyawa

https://kuyawa.net/

Lawal Babatunde, Soroban Smart Contract Engineer: A ConsenSYS-certified Ethereum developer and newly-minted Stellar ambassador for the Nigerian developer community, Lawal is a skilled smart contract engineer with a passion for bringing the benefits of open-source technology to the people who need it most. Lawal was brought on the team to assist with Soroban smart contracts, as he is proficient in Rust from his time building apps with the Rust-based language Cairo on the Ethereum Layer2 StarkNet. He looks forward to participating in the new DFS Lab Africa-centered Stellar developer initiative.

https://github.com/utilitycoder

https://www.linkedin.com/in/lawalbabatunde/

Product & Architecture

GiveCredit is a platform for crowdfunding environmental impact, built on Soroban and already deployed on Soroban mainnet.

GiveCredit's pilot initiative is offsetting the total carbon dioxide emissions from the Stellar blockchain ecosystem, partnering with SCF grantees StellarCarbon (who are providing carbon credits sourced from Verra, a leading carbon credit provider) and PublicNode (a 501(c)3 nonprofit providing blockchain infrastructure accepting donations to make Stellar fully carbon neutral). 

GiveCredit solves different problems for different customer demographics.

1) For donors: It allows them to reduce crypto-related tax fees such as capital gains by making tax-deductible donations, while also making a verifiable positive impact on the environment.
2) For nonprofits: It opens a new source of funding, as well as enabling them to have a positive impact on the environment (such as offsetting the emissions from their work).
3) For corporations and foundations- it provides a way to crowdfund carbon dioxide removal (CDR) and other emissions offset initiatives.

4) For the planet and humanity: Donations through GiveCredit help fund ecosystem preservation and other forms of positive environmental impact.

How GiveCredit Works:

First, the user chooses a project in the GiveCredit app, and goes through the payment flow to send a cryptocurrency donation for the desired amount. At this point, the user can elect to mint an NFT containing the donation details in the metadata as well as to receive a receipt email for tax purposes. The NFT is minted on Soroban using a modified ERC-721 contract.

Second, the donation flows to the nonprofit, where it is then divided by Soroban smart contract. A portion, typically 10%, is retained by the nonprofit to cover administrative fees and overhead, and the remainder used to retire carbon credits. 

The remaining funds are sorted by Soroban smart contract into “buckets” corresponding to the price of one carbon credit, after which they are transmitted to the carbon credit provider (in this case, StellarCarbon).

Third, when funds are received by StellarCarbon, they retire carbon credits for the given amount and expose the retirement data in their API, to be accessed by GiveCredit.

Finally, GiveCredit’s hook system retrieves retirement information and mints it automatically by Soroban smart contract as an NFT under the appropriate initiative, forming a verifiable connection between the donation and the emissions offset.

Donation, donor identity, NFT, and carbon credit data are stored in GiveCredit's registry database to create a full record of all behavior, display up-to-date data (e.g. carbon credit price, initiative progress) and ensure reliable and efficient performance within the GiveCredit app.

Deliverables List

GiveCredit Deliverables:

Context: Using the SCF Activation Grant, GiveCredit moved from an idea with a minimum viable product to a functioning app, currently deployed on Soroban mainnet.

These deliverables are related to the technical part of bringing GiveCredit to market: user testing, bug fixing, incorporating feedback from beta testers, auditors, expert advisors and our legal counsel.

Deliverables Category 1: GiveCredit Rollout

1. Finish user testing, incorporate feedback: Reach our goal of two rounds of ten user testing sessions and one open beta testing round with minimum 25 participants, incorporating feedback and fixing bugs as they are found. 

Estimated time: 60 hours (20 user testing, 20 feedback implementation, 20 design/tech fixing)   

Task Allocation: Evan: conducting user testing rounds, Julian: implementing design/UI fixes, George and Lawal fixing technical issues with Julian in a project management role

Completion Criteria: Begin accepting donations with no downtime by 1 month from award

 

2. Initial roll-out: expert advise and consultation

Estimated time: 40 hours- Consultation with legal counsel: Charitable Allies (nonprofit tech experts), Bull Blockchain Law (blockchain legal experts). Consultation with nonprofit expert advisors: walkthrough, technical overview, Q&A session.

Task Allocation: Evan: interface with legal team and advisory board. Julian: coordinating the implementation of feedback.

Completion Criteria: Updated sign-off on GiveCredit model and smart contract integrations. Endorsement by board of advisors + implementation of feedback by 1 month from award date.

 

3. Initial Fundraising Goal: Offset 1 Year of Stellar Network emissions: GiveCredit’s pilot initiative with StellarCarbon and PublicNode is to retire 173 carbon credits, representing the estimated carbon emissions from Stellar + Horizon for 1 year according to www.stellar.org/sustainability. At roughly $20 per carbon credit as per StellarCarbon’s API, this will require a bit over $3300 for the entire initiative. We hope to accomplish this within 3 months, and in doing so onboard our first 300 users.  

Estimated time: 60 hours admin + oversight time, accomplished within 3 months from award date

Task Allocation: Evan to facilitate daily and weekly meetings and coordinate with partners as needed, Julian George and Lawal to keep GiveCredit operational with zero downtime and addressing obstacles as they occur while continuing development.

Daily stand-ups and weekly design meetings

Completion criteria: Offset 1 year of Stellar’s emissions (173 tons) by 3 months from award

 

Deliverable Category 2: Tech Development and Feature Build-Out

Context: The SCF Activation grant was used to build the initial version of GiveCredit and deploy to Soroban mainnet, with core features: wallet integration, donations, NFT minting, and information retrieval, with a database architecture keeping track of all activity across the platform. 

GiveCredit users can currently send donations, view NFTs and donations in the ir profile, and check initiative progress under nonprofit profiles. The goals in this section are related to building out other functions to improve user experience and expand utility by making use of Soroban’s capabilities.

 

1.  User Interface to track individual donation impact: Currently, we have NFTs tracking donations (receipt NFTs) and NFTs showing initiative progress (story NFTs). The next step is creating a connection between the two, so that individuals can track the impact generated by their donations. 

The proposed method is to create links between Donation Receipt NFT IDs and Story NFTs uploaded by nonprofits. This will add valuable functionality to user profiles + impact tracking- being able to verifiably connect donations with impact would add a great deal of value and potentially revolutionize philanthropy.

Estimated time: 60 hours: Project architecture and dimensions with consulting from nonprofit partners (10 hours), Implementation and debugging (50 hours) 

Task Allocation: Architecture: Julian with help from Evan, George, Lawal. Implementation: George with help from Lawal + Julian. Feedback from expert advisors in nonprofit industry.

Completion criteria: Ability to click on donation receipt NFT and see link to appropriate Story NFT (carbon credit retired with donation) within 3 months of award.

2. User and Initiative Impact Analysis Mechanism ("Impact Score"): a system for quantifying impact generated by nonprofit initiatives and individual donations. To be contained within User and Nonprofit profiles, represented by an “impact score.”

Estimated Time: 30 hours Design and architecture (Evan, George, Julian, Lawal): 10 hours Implementation: Julian, George, Lawal (20 hours)

Completion Criteria: In every nonprofit, initiative and user profile, there should be an "impact score" mechanism for quantifying how much impact has been generated (for example: # of carbon credits retired by donations). Users should have the option to keep this private, because privacy is a human right.

 

3. Dynamic NFTs to create on-chain identity + profiles for users, nonprofits and initiatives:

Currently, GiveCredit's users, nonprofits and initiatives live in tables in our Web2 database registry. GiveCredit plans to create on-chain identity for our users using Soroban NFTs. We will accomplish this by making a dynamic, or evolving, NFT for each user, nonprofit, and initiative (specifically, a Soroban implementation of ERC-6551 tokens, so that User NFTs can hold Donation receipts, and Nonprofit NFTs can hold Story NFTs, creating on-chain records of their behavior and representations of their identity).

Thus, all users and nonprofits will be represented by evolving tokens with records of the impact they generate (paving the way for interesting integrations later: being rewarded for impact, displaying impact on social media, or getting tax rebates for being a good citizen).

The goal of this function is to create an on-chain mirror of our existing record-keeping, using dynamic NFTs for identity. On-chain identity delivers value in ways Web2 databases cannot: transparent, trustworthy, and interoperable.

Estimated time: 90 hours: Project Requirements and Design: Evan, Julian, George and Lawal (20 hours) Technical Architecture: George and Julian (25 hours), Implementation: George, Julian and Lawal (25 hours) Testing and fixing: George (20 hours)

Completion Criteria: System of ERC-6551 dynamic soul-bound NFTs representing every user, nonprofit partner, and initiative (mirroring current registry system) tested and launched by 3 months from award, with ability to “opt-in” for existing users and migrate/copy existing Receipt and Story NFTs.

 

4. Enabling donations in USDC and other tokens: Currently GiveCredit only accepts XLM donations. We would like to enable donations in other tokens on the Stellar network- USDC first, and others later. 

Estimated time: 10 hours: Design: 3 hours: (Evan, Julian and George), implementation: 7 hours: George with support from Lawal as needed

Completion Criteria: The ability to donate in USDC within 1 month of award. Establishing a process for accepting donations in other Stellar Network tokens as needed. (For example: agreements with partner nonprofits about which token to accept).

 

5. Low-barrier/No-barrier token exchange and on/off-ramp: The biggest concern we have heard from nonprofits, foundations, investors and advisors is how to turn digital assets into fiat and protect against fluctuations in value. Stellar’s integration with MoneyGram and cheap, seamless Dex features make this cheaper and more convenient than other blockchains. 

We want to improve nonprofit partner experience by integrating intuitive token conversion (e.g. XLM→USDC) and On/Off-ramp functionality, to “meet people where they are at” to the greatest extent possible. The goal here is to make our system accessible to people who are not blockchain-native. (Internally, we refer to this as "the Grandma Test." For everything we build, we ask: "Could our Grandma figure this out?")

This could potentially be accomplished with external links and tutorials, or added functionality within the app. On/Off-ramps are dependent on regulation and highly likely to vary between regions/countries.

Estimated time: 40 hours: Design/integration research: 12 hours: Lawal, Julian, George + Evan, Platform+ website updates: 18 hours (Julian, George and Lawal), Legal advice from experts: 10 hours: Evan (actually only 1-2 hours, but lawyers are expensive) 

Completion Criteria: Nonprofit and customer needs are met by providing a simple, low-barrier way to exchange XLM for USDC and turn donations into fiat, either in-app or within seconds/minutes via external links (for example, to the Moneygram website/portal). To be completed within 2 months of award, incorporating feedback from our legal advisors.

 

5. Soroban-native donation receipt NFT smart contract template: Currently we use automated functions on our server to trigger the minting of ERC721 Soroban smart contracts for donation receipts. The goal here is to bring this process on-chain by minting an NFT automatically via smart contract when funds are sent to the nonprofit wallet.

It will be necessary to make not a single contract but a "menu" or "template" adjustable enough to meet the needs of different nonprofits and different initiatives- for example, some nonprofits will prefer to only interact with stablecoins, whereas others will accept donations in any fungible token. Security of donated funds will be paramount so we are allocating time for testing and auditing under this section

Estimated time: 60 hours: Design: 15 hours (George + Lawal), Implementation and testing: 35 hours (George and Lawal) with input from nonprofit industry expert advisors. 10 hours testing and auditing.

Completion Criteria: Donation NFT Receipts are minted automatically by Soroban smart contract using on-chain processes within 2 months of award.

 

6. Admin Dashboard/Data Analytics Center: Currently, to see what is happening on our platform (eg. recent donations), it is necessary to interact directly with our database. In order to provide value to nonprofit partners and simplify administration, we need to create a dashboard/UI for data analytics containing donation, user, initiative data and to create a version accessible to nonprofit partners, so they can see their donations, initiatives and export records.

Estimated time: 60 hours: 15 hours design (Julian and George): 35 hours implementation (George with assistance from Lawal) 10 hours working on roles, permissions and versioning for different user types (Julian)

Completion Criteria: Admin dashboard is live and functioning as required within 3 months of award.

 

Deliverable Category 3: Technical Partnerships

1. Three Techical Partnerships: GiveCredit’s mission is worldwide, and so is blockchain. GiveCredit should not only serve American customers. Following the successful completion of the first Green Blockchain initiative, offsetting Stellar’s emissions for 1 year, GiveCredit anticipates expanding to other initiatives (while maintaining and expanding the partnership with PublicNode). This will require technical partnerships and collaborative design processes similar to the one we pursued with StellarCarbon, integrating with their API. (Our partnerships with PublicNode and StellarCarbon will of course continue, and deepen).

 

To facilitate this, we seek to partner with at least 1 nonprofit partner from countries outside North America, and collaboratively design initiatives for positive environmental impact in those areas.

Estimated time: 60 hours: Outreach, onboarding, collaborative design sessions, and technical implementation. 

Task Allocation: Evan (outreach, customer relationship management), Technical implementation (George, Lawal and Julian)

Completion Criteria: At least three new nonprofit partners onboarded in three new countries outside the United States, each with a new co-designed initiative, within 3 months of award. Initiatives should make use of GiveCredit's unique features- for example, custom Soroban smart contracts and API integrations for NFT metadata.

 

2. Find corporate partner(s) seeking carbon removal services: GiveCredit aims to be a profitable business, and for this we need customers. We have identified corporations and foundations seeking carbon dioxide removal services as two target customer demographics.

It is our goal to find at least one initial corporate or foundation partner willing to pay to utilize GiveCredit to crowdfund their emissions offsets- for example, offsetting the emissions from their yearly travel, or the annual energy consumption from their offices. 

In order for this partnership to be successful, we will have to co-design an initiative to assess their needs and find a way to use Soroban's capabilities to add value to their existing sustainability processes (for example, generating the specific types of impact they are looking for, and using Soroban-based processes to verify, measure and report that impact).

Estimated time: 70 hours: Outreach, finding a corporation or foundation willing to partner with GiveCredit and PublicNode (or another suitable nonprofit), onboarding, and design/creation of an initiative, with advice+contracts from legal counsel.

Task Allocation: Evan

Completion Criteria: Partnership with one suitable entity, creation and debut of a co-designed environmental impact crowdfunding initiative within 4 months of award, with suitable legal documents. 

 

Total Requested Community Grant Amount: $64,000 

 

Final Goal: Investigate future opportunities for Impact on Soroban

-Research the following options to expand GiveCredit’s utility for retail and institutional customers, for the Stellar/Soroban ecosystem, and for the planet and every living being on it:

 

-Provide users with access to fractionalized, tokenized green bonds

-Utilize Stellar Disbursement Protocol for Retroactive Public Goods Funding on Soroban

-Facilitate “forward funding” for regenerative projects which are not yet listed on carbon markets (possibly in partnership with StellarCarbon) using donations via “tokenized promises.”

-Leverage blockchain for dMRV (decentralized measurement, reporting and verification) transparency for carbon/eco-credits (click a credit, see the trees/land/project it represents and related data)

 

Context for this section: To be very clear: our team is laser-focused on executing on GiveCredit’s current functions, but Stellar/Soroban’s potential to make a positive impact on the lives of millions of people is immense, and we feel strongly that there are new and exciting avenues for exploration.

 

Listed above are four different potential directions for progress. Throughout the course of this grant’s active phase we will be researching the feasibility of pursuing one or more of these directions for GiveCredit’s future development, after we finish executing on the current deliverables. In the meantime, anyone who reads this should feel free to use them, or reach out if you are interested in pursuing a collaboration.