Decentralized Fundraising Platform is an innovative solution that democratizes capital raising for companies while providing enhanced security for investors via vesting wallets and decentralized governance.
Website URL (Ongoing)
Backend Repo (Ongoing)
- GovernorFactory Sepolia
- TreasuryFactory Sepolia
- Dao (Governor) Sepolia
- Treasury Sepolia
- TimeLock Sepolia
- VoteToken Sepolia
- Easy project creation: Companies can effortlessly launch fundraising campaigns on the platform.
- Investor protection: A linear treasury release model mitigates the risk of rug pulls, ensuring gradual and transparent fund distribution.
- Decentralized governance: Each project is associated with its own DAO, empowering investors with voting rights.
- Flexible fund management: Investors can withdraw their funds through a decentralized process, subject to DAO voting mechanisms.
- Vesting Wallet
- On-chain Governance
- Contract Factory (Create2)
- Timelock
- Advanced AccessControl
- Ethers.js
- Users can create customized DAOs and treasuries using GovernanceFactory and TreasuryFactory.
- Users can calculate the address of the created contracts (Dao, Treasury) based on the project name,company name, vote token address, and timelock address.
- Treasury and Dao information is stored in TreasuryFactory.
- Investors can vote on proposals and then retrieve left funds from the treasury if the company's performance doesn't meet their expectations.
- The treasury can release funds to the company with a linear release schedule.
- The treasury can mint vote tokens (For Dao) to investors who deposit fundtoken (Ex: USDT) to the treasury.
- The timelock can delay the execution of transactions for a certain period of time.
- Claim ETH from Alchemy.
- Fill in .env (private key, sepolia rpc url, etherscan api key).
- Install foundry.
- Run: forge install OpenZeppelin/openzeppelin-contracts
- Run: source .env
- Run: forge test --match-path test/Treasury.t.sol -vvv (Simulate whole process)
- Run: forge script script/Treasury.s.sol:TreasuryScript --rpc-url $SEPOLIA_RPC_URL --broadcast --verify -vvvv (Deploy contract)