FunditWID is a blockchain-based crowdfunding application that allows users to create campaigns, donate using ERC20 Stablecoins (USDC), and track their contributions transparently. Built for the Web3 community to ensure secure, uncapped, and transparent fundraising.
Repo Link: https://github.com/rayeberechi/funditwid-crowdfund-dapp.git
Live Link: FunditWID
- Create Campaigns: Users can launch fundraising campaigns with a Title, Description, Image, Goal (in USDC), and Duration.
- ERC20 Donations: Supports stablecoin contributions (simulated USDC) instead of volatile ETH.
- Real-Time Dashboard: Track your active campaigns, total raised, and recent platform activity.
- Transparent History: "My Donations" page tracks every contribution on the blockchain.
- Live Currency Rates: Auto-converts USDC balances to NGN/USD using live CoinGecko APIs.
| Explore Page | Dashboard Page |
|---|---|
![]() |
![]() |
- Frontend: React, Vite, Tailwind CSS, Lucide Icons
- Blockchain Interaction: Ethers.js v6
- Smart Contracts: Solidity (Hardhat Environment)
- Token Standard: ERC20 (MockUSDC for testing)
Follow these steps to set up the project on your machine.
- Node.js (v18+)
- MetaMask Wallet Extension
git clone https://github.com/rayeberechi/funditwid-crowdfund-dapp.git
cd funditwid-crowdfund-dapp- Open a terminal and navigate to the backend folder:
cd backend
npm install- Start the Local Blockchain:
npx hardhat nodeKeep this terminal running! It gives you 20 test accounts with fake ETH.
- Deploy Smart Contracts: Open a second terminal inside backend:
npx hardhat run scripts/deploy.js --network localhostThis will generate the contract-address.json and ABIs needed for the frontend.
- Open a third terminal and navigate to the frontend folder:
cd ../frontend
npm install
npm run devOpen the localhost link (usually http://localhost:5173) in your browser.
- Open MetaMask and switch network to Localhost 8545.
- Chain ID: 31337
- Currency Symbol: ETH
- Import an Account from the npx hardhat node terminal (use the Private Key of Account #0).
-
Crowdfunding.sol: Handles campaign creation, donations, and withdrawals.
-
MockToken.sol: A standard ERC20 token minted to the deployer to simulate USDC.
-
Fork the repo
-
Create your feature branch (git checkout -b feature/AmazingFeature)
-
Commit your changes (git commit -m 'Add some AmazingFeature')
-
Push to the branch (git push origin feature/AmazingFeature)
-
Open a Pull Request
- Smart Contract: Defi Nurse
- Frontend: Jemmy & Faithy
- Integration: Faithy
- Documentation: Jumoke


