AI-powered blockchain donation platform built for Seedify Vibecoins Hackathon on DoraHacks
Cointribute is a transparent, AI-vetted charity donation platform built on Base (Ethereum L2). It combines smart contracts, artificial intelligence, and blockchain technology to create trust and transparency in charitable giving.
- π€ Fully Automatic AI Verification: Charities verified and approved in 5-10 seconds
- AI scores 0-100 using GPT-4
- Score >= 60 β Automatic approval β
- Score < 60 β Automatic rejection β
- πΈ Image Upload & AI Vision Analysis: Charities can upload campaign images
- Up to 5 images per charity (JPG, PNG, WebP)
- GPT-4 Vision API analyzes image relevance and quality
- Social media-style image galleries on all pages
- Automatic image optimization and processing
- π Smart Fund Escrow: Donations held securely until release
- Funds released when goal reached OR deadline passed
- Transparent fund tracking per campaign
- Platform fee (2.5%) deducted at release
- β° Required Campaign Deadlines: All campaigns must set a target deadline
- Ensures accountability and time-bound goals
- Automatic fund release on deadline
- π Smart Contract Donations: Transparent, immutable donation tracking
- π’ Multi-Charity Support: Same wallet can register multiple charities
- 3-month cooldown between registrations
- Smart anti-spam protection
- π Vibe Coins (VIBE): Impact verification tokens rewarding donors
- π¨ Impact NFTs: Dynamic NFTs for major contributors
- π Real-Time Tracking: Live donation flow visualization
- π Donor Reputation: Build your philanthropic portfolio
cointribute/
βββ contracts/ # Solidity smart contracts (Hardhat)
β βββ contracts/ # Contract source files
β βββ scripts/ # Deployment scripts
β βββ test/ # Contract tests
βββ frontend/ # Next.js 14 + TypeScript web app
βββ backend/ # Node.js API + AI integration
βββ ai-prompts/ # AI prompt documentation
βββ docs/ # Additional documentation
βββ README.md
- Chain: Base (Ethereum L2)
- Framework: Hardhat
- Language: Solidity ^0.8.20
- Standards: ERC20, ERC721, ERC165
- Framework: Next.js 14 (App Router)
- Language: TypeScript
- Styling: Tailwind CSS
- Web3: Wagmi + RainbowKit
- State: Zustand
- Runtime: Node.js + Express
- Database: PostgreSQL
- Cache: Redis
- Storage: IPFS (Pinata)
- AI: OpenAI API
- Alchemy/QuickNode RPC
- The Graph Protocol
- Push Protocol
- Dune Analytics
Manages charity registration, verification, and AI vetting scores.
Handles donation processing with smart escrow, automatic fund releases when goal reached or deadline passed, and platform fee collection.
ERC20 governance and reward token with staking capabilities.
ERC721 NFTs for high-impact donors with dynamic metadata.
Network: Base Sepolia Testnet Version: v4.1 - Image Upload & Display System Status: β FULLY OPERATIONAL Last Updated: November 26, 2025
CharityRegistry: 0x3c921FCB6E75bDD7C0386D14CA5594030D7e6df0
VibeToken: 0x5d1475a5afA0Ac0350a4FA58049E3F0C466d3c47
ImpactNFT: 0x4cf4C4af3c8A2bacE821Ddc720248CEfd3d51213
DonationManager: 0xF2B1F17C3695cea507CE9F1fe76598c834bf3fb2
- β Smart Fund Escrow - Donations held until goal OR deadline
- β Dual Release Mechanism - Automatic release when either condition met
- β Required Deadlines - All campaigns must set a deadline
- β Transparent Fund Tracking - View held funds per charity
- β Fully automatic AI verification - No manual approval needed!
- β 5-10 second approval time - Lightning fast
- β Multi-charity per wallet - With smart 3-month cooldown
- β Gas optimized - Only ~343k gas per registration
View CharityRegistry on Basescan β View DonationManager on Basescan β
- Node.js >= 18
- pnpm >= 8
- Docker (optional)
# Clone repository
git clone https://github.com/emlanis/cointribute.git
cd cointribute
# Install dependencies
pnpm install
# Set up environment variables
cp .env.example .env# Terminal 1: Backend (with AI verification)
cd backend
npm run dev
# Terminal 2: Frontend
cd frontend
npm run dev
# Frontend will be available at http://localhost:3000
# Backend API at http://localhost:3001-
Register a Charity
- Go to http://localhost:3000/register-charity
- Connect your wallet (Base Sepolia)
- Fill in charity details
- Submit transaction
-
Watch AI Verification (in backend terminal)
- AI analyzes charity
- Scores 0-100
- Automatically approves if >= 60
-
View Results
- Refresh http://localhost:3000/causes
- Charity should be approved within 5-10 seconds!
# Deploy all contracts to Base Sepolia
cd contracts
npx hardhat run scripts/deploy.js --network baseSepolia
# Update contract addresses in:
# - frontend/lib/contracts/addresses.ts
# - backend/src/config/contracts.ts
# Copy ABIs
cp contracts/artifacts/contracts/CharityRegistry.sol/CharityRegistry.json \
frontend/lib/contracts/CharityRegistry.json
# Restart services to pick up changescd contracts
pnpm hardhat run scripts/deploy.ts --network base-sepoliacd contracts
pnpm hardhat run scripts/deploy.ts --network base-mainnet- 2.5% platform fee on donations
- Premium charity verification
- Sponsored placements
- Vibe Coin staking rewards
- NFT marketplace royalties
- Data analytics API
- OpenZeppelin contracts
- Multi-sig governance
- Comprehensive test coverage
- External audits (planned)
- PROGRESS.md - Development progress and recent achievements
- DEPLOYMENT.md - Deployment guide and contract addresses
- PROJECT_STATUS.md - Current project status and metrics
This project is built for the Seedify Vibecoins Hackathon. For contributions after the hackathon, please see CONTRIBUTING.md.
MIT License - see LICENSE for details.
Event: Seedify Vibecoins Hackathon @ DoraHacks Category: DeFi / Social Impact Built With: AI-assisted development (Vibe Coding)
Built with π using AI-assisted development for the Seedify Vibecoins Hackathon