Note: The description of a loan request can be seen be clicking on the project name. This is not shown in the demo.
Borrow4Good is an on-chain, reputation-based financing platform that enables Web3 projects to raise community-backed loans using GoodDollar (G$).
Instead of collateral, loan credibility is determined by votes from GoodDollar-verified users, turning community trust into a new form of social collateral.
- Borrowers — create loan requests based on their project’s reputation.
- Voters — verified GoodDollar citizens who signal trust by voting on projects (limited to 3 active votes each).
- Lenders — fund approved loans, earning a 5% return after one year.
Each loan carries a 10% total interest rate, split evenly:
- 5% goes to the lender as interest.
- 5% is distributed equally among the voters who supported that loan.
There is no formal enforcement mechanism — repayment relies on community pressure and reputation accountability.
When a loan is successfully repaid, voters recover their votes and receive their share of the reward.
Borrow4Good transforms community reputation into an on-chain credit signal, fostering trust-based lending, financial inclusion, and a sustainable Web3 reputation economy.
- This project supports GoodDollar on Celo.
- There is a working prototype on https://borrow4good-nextjs.vercel.app.
- Voters are required to be GoodDollar-verified at the smart-contract level to be able to vote.
- Users can become GoodDollar-verified from our frontend which integrates the
IdentitySDKclass from the@goodsdks/citizen-sdkmodule. - Loans are given and repaid in G$ tokens. Voter rewards are also in G$ tokens.
- There is a short demo of this project here https://youtu.be/iexxUTdVmm8.
- This project is open-source.
Borrow4Good operates through community-backed, reputation-based lending using GoodDollar (G$) tokens.
There are three main participant roles and four distinct loan stages.
-
Pending:
A borrower creates a new loan request. Community members (verified GoodDollar users) can vote to support it. -
Approved:
When a loan gathers many votes, it becomes more attractive for funding.
A lender contributes G$ tokens to meet the requested amount. -
Claimed:
Once funded, the borrower can claim the loan amount and start building their project.
Repayment (with 10% interest) is expected after one year. -
Repaid:
When repayment is completed:- The lender receives their principal + 5% interest.
- The voters share the remaining 5% interest equally as a reward.
- The voters’ votes are released and can be used again for new projects.
| Role | Description |
|---|---|
| Borrowers | Any verified project can request a loan, specifying amount, duration, and purpose. Credibility depends on how many GoodDollar citizens vote to endorse it. |
| Voters | GoodDollar-verified users who use their limited votes (max 3 active) to support trusted projects. Votes act as “social collateral.” |
| Lenders | Fund approved loans, earning 5% annual return. Their capital helps projects grow while aligning incentives across the community. |
💡 Example Walkthrough (click to expand)
Let’s see how a full loan cycle works step by step 👇
-
Alex’s Project – "SolarDAO"
- Alex, a Web3 builder, creates a loan request for 1,000 G$ to fund a decentralized solar project.
- She explains the use of funds and repayment plan in her project description.
-
Community Voting (Pending Stage)
- Ben, Chloe, and Jim, all GoodDollar-verified users, review SolarDAO’s proposal.
- Each decides to vote for it, using 1 of their 3 available votes.
- With 50+ total votes, SolarDAO gains enough community credibility to move from Pending → Approved.
-
Loan Funding (Approved Stage)
- Eli, a lender, sees SolarDAO’s strong community backing and funds the full 1,000 G$ loan.
- The smart contract marks the loan as Claimed.
- Alex receives 1,000 G$ to begin work.
-
Repayment (Claimed → Repaid Stage)
- After one year, Alex repays 1,100 G$ (principal + 10% interest).
- The smart contract automatically distributes:
- 1,050 G$ → Eli (loan + 5% interest)
- 50 G$ → Shared equally among all voters who supported the project
-
Vote Recovery
- Ben, Chloe, and Jim get their votes back to support new projects.
- Their wallets reflect their G$ rewards, incentivizing continued participation in trustworthy lending.
| Participant | Action | Reward |
|---|---|---|
| Borrower | Receives loan without collateral | Access to fair, reputation-based funding |
| Voter | Votes on credible projects | Equal share of 5% interest + recovered vote |
| Lender | Provides capital for approved loans | 5% annual return |
This walkthrough illustrates how Borrow4Good transforms trust and reputation into a tangible, on-chain financial mechanism — making decentralized micro-lending both inclusive and incentive-aligned.
Access to capital remains one of the biggest barriers for emerging Web3 projects and decentralized communities.
While traditional finance relies on credit history and collateral, most on-chain projects—especially early-stage or community-driven ones—lack these.
Existing DeFi lending protocols depend heavily on over-collateralization, locking out most small projects that need funds the most.
At the same time, community reputation and trust—the social capital that fuels Web3 ecosystems—are not yet leveraged effectively in decentralized lending.
There’s no mechanism for reputation-based credit that allows credible but under-resourced builders to raise micro-loans from the community.
Borrow4Good introduces a community-driven, on-chain lending platform where reputation replaces collateral.
It enables Web3 protocols and projects to request loans in GoodDollar (G$), backed by the collective endorsement of GoodDollar-verified users.
- Borrowers: Create loan requests with a repayment plan.
- Voters: (GoodDollar-verified users) stake their limited votes on the projects they trust most, signaling credibility.
- Lenders: Fund the approved loans, earning a 5% return after one year.
- Upon successful repayment, voters share the remaining 5% interest as a reward for their role in credit assessment.
This system creates a trust-based, socially coordinated credit mechanism—enabling transparent, reputation-driven microfinance without relying on collateral or centralized enforcement.
- Financial Inclusion: Empowers underfunded Web3 projects to access fair financing through community support rather than traditional credit metrics.
- Reputation Economy: Builds an on-chain reputation layer for decentralized lending, where verified user support signals trust and accountability.
- Community Engagement: Incentivizes active participation by rewarding GoodDollar citizens for good judgment and due diligence.
- Sustainable Ecosystem: Circulates G$ tokens productively—funding innovation while rewarding the community for responsible coordination.
- Scalability: The same model could expand beyond GoodDollar to other social-impact DAOs or identity-based ecosystems, creating a new paradigm for social collateral lending in Web3.
Built using NextJS, RainbowKit, Foundry, Wagmi, Viem, and Typescript.
Before you begin, you need to install the following tools:
- Node (>= v20.18.3)
- Yarn (v1 or v2+)
- Git
- Foundry
To get started with Borrow4Good, follow the steps below:
- Install dependencies if it was skipped in CLI:
git clone https://github.com/spyros-zikos/borrow4good
cd borrow4good
yarn install
- Start the NextJS frontend:
yarn start
- If you want to redeploy the contract run:
cd packages/foundry
make deploy-celo
node scripts-js/generateTsAbis.js
Run smart contract test with yarn foundry:test