Anonymous Crowdfunding for the Privacy-First Era
FundAGoal is a revolutionary decentralized crowdfunding platform that empowers creators to launch funding campaigns while protecting the privacy of both themselves and their supporters. Its built on Midnight Blockchain Network, combining the transparency of blockchain with the anonymity that backers deserve.
This project is built on the Midnight Network.
FundAGoal reimagines crowdfunding by solving one of the biggest problems in traditional platforms: backer's privacy. While campaigns remain transparent and verifiable, the identity and contribution details of supporters are completely anonymous through advanced zero-knowledge cryptography.
Your supporters can fund campaigns without revealing:
- Their identity
- Their contribution amount
- Their funding patterns
- Any personal information
Unlike traditional crowdfunding platforms where backer lists are public, FundAGoal ensures that supporters remain completely anonymous while still providing cryptographic proof of their contributions.
- Create Your Campaign: Set your funding goal, duration, and campaign details
- Track Progress: Monitor your campaign's progress in real-time
- Withdraw Funds: Securely collect funds when your goal is reached
- Stay in Control: Update, cancel, or close your campaign anytime
- Browse Campaigns: Discover projects that matter to you
- Fund Anonymously: Support campaigns without revealing your identity
- Stay Private: Your contributions are completely confidential
- Get Refunds: Request refunds under certain conditions if needed
- Verify Impact: Know your contribution counts without exposing yourself
- Community initiatives
- Environmental projects
- Educational programs
- Humanitarian efforts
- Startup ideas
- Research projects
- Technology development
- Social enterprises
- Political movements
- Whistleblower support
- Controversial but legal causes
- Personal causes requiring discretion
- Anonymous Backing: Support projects without revealing your identity
- Secure Fund Management: Smart contracts protect both creators and backers
- Flexible Campaigns: Set goals, durations, and update as needed
- Refund System: Built-in mechanisms for refunds when appropriate
- Zero Censorship: Decentralized architecture resists takedowns
- Zero-Knowledge Proofs: Verify contributions without revealing details
Pre-requisite
Install compactc compiler (Guide): [https://docs.midnight.network/develop/tutorial/building/]#midnight-compact-compiler
Install proof server from midnight: [https://docs.midnight.network/develop/tutorial/using/proof-server]
Install prebaked proof server version (RECOMMENDED): [https://github.com/bricktowers/midnight-proof-server]
Token Aquisation: [https://docs.midnight.network/develop/tutorial/using/proof-server]
Lace wallet setup: [https://docs.midnight.network/develop/tutorial/using/chrome-ext]
Contract Documentation: [https://github.com/codeBigInt/fundagoal/blob/main/packages/contract/README.md]
NOTE: This project is a monorepo that utilizes turborepo.
/* Running the DApp locally */// Clone the repository locallygitclone"https://github.com/codeBigInt/fundagoal.git"// Ensure your have the latest version or node version >=22node-v// Install dependenciesyarninstall// Build each workspace as theis project is a monoreapo (BUikt using turbo repo)cdpackages/contractnpxturborunbuild// Compiles the smart contract and build using compactc copiler and builds the contract workspace// Build the api workspacecd..&&cdpackages/apinpxturborunbuild// To run the cli DApp instancecd..&&cdpackages/clinpxturborunbuild// You can either run the cli DApp testnet mode or in undeployed modeyarntestnet-remote// For testnet-modeyarnstandalone// For undeployed mode/* To run the frontend user interface *//* * Create a .env file in the root of the ui folder * Add these env variables, it is REQUIRED for the frontend to work */VITE_NETWORK_ID=TestNetVITE_LOGGING_LEVEL=traceVITE_CONTRACT_ADDRESS=0200db8f26a22a2cd1812ef06bc6bb6c7d82a211a00a2472a806b125f50d6bc8f2fbcd..&&cdpackages/uinpxturborunbuildyarnstart// Starts the application at https://localhost:8080