A decentralized crowdfunding protocol built in Solidity β the smart contract infrastructure behind my personal Everest summit fundraise.
In April 2027 I'm attempting to summit Mount Everest. The goal is $69,000. No bank, no Kickstarter, no middleman β the funds are held on-chain, contributors get auto-refunds if the goal isn't met by the deadline.
This protocol is what makes that possible. It started as a single crowdfund contract for the EverestOrBust campaign. It grew into a full protocol suite with a factory and milestone-based fund releases as standalone portfolio pieces, alongside EverestOrBust as the real, deployed campaign.
EverestOrBust.sol β the actual campaign contract, on Avalanche C-Chain. USDC and USDT only. $6.9 cap per address. $69,000 goal, 10,000 contributors. 69-day campaign (Dec 10 2026 β Feb 17 2027). Auto-refund if goal not met. Contributions close automatically once the goal is reached. No price oracle β stablecoins only.
CrowdFund.sol β general-purpose single campaign escrow. ETH or any ERC20 token. Auto-refund if the goal isn't met by the deadline. Chain-agnostic, standalone.
CrowdFundFactory.sol β CREATE2 deployer. Predictable addresses, per-creator campaign tracking, ETH and ERC20 variants. Chain-agnostic.
MilestoneCrowdFund.sol β milestone-based fund release with contributor voting. The creator requests each milestone; contributors vote to approve or reject. Rejected milestones trigger a pro-rata refund of the remaining pool. Standalone β not used by EverestOrBust, which is a simpler one-time all-or-nothing campaign.
- Solidity ^0.8.20 + Foundry
- Avalanche C-Chain (Fuji testnet β mainnet)
forge install
forge build
forge test206 tests passing β unit, fuzz (1000 runs/property), and invariant (500,000 calls/invariant). Every custom error has an explicit revert test. Reentrancy guards verified by execution trace against malicious token and creator contracts.
Five real defects found and fixed during self-audit, including a denial-of-service where a single blacklisted USDC/USDT address could trap a contributor's entire refund. Full findings in docs/AUDIT.md. A professional third-party audit is planned before mainnet deployment.
- Architecture β design decisions and contract relationships
- Audit β self-audit checklist and findings
- Deployment Guide β step-by-step deployment instructions
- Security Policy β vulnerability disclosure process
- Slither Findings β static analysis results and notes
- Coverage Report β per-contract test coverage breakdown
See CONTRIBUTING.md for dev setup, code standards, and PR process.
See CHANGELOG.md for a full version history.