Search projects, hackathons, sponsors and tech

    ← All projects

    MICROVEST

    A decentralized investment platform that democratizes access to verified investment pools. Connect with Google, get an instant Web3 wallet, and start investing with as little as 0.1 ETH. Built with Chronicle oracles for price feeds and Sign Protocol for verifiable attestations.

    Demo

    About

    # MicroVest: Democratizing Web3 Investments with Verified Pools ## What is MicroVest? MicroVest is a decentralized investment platform that bridges the gap between traditional investors and Web3 opportunities. By combining Web3Auth's seamless onboarding, Chronicle's reliable price feeds, and Sign Protocol's verifiable attestations, we've created a platform that makes Web3 investing accessible, secure, and transparent. ## Core Features ### 1. Seamless Onboarding - Login with Google to get an instant Web3 wallet - No seed phrases or complex wallet setups required - Gasless transactions for better user experience - Instant access to investment opportunities ### 2. Verified Investment Pools - Create or join investment pools with full transparency - Each pool is verified through Sign Protocol attestations - Real-time price feeds from Chronicle oracles - Smart contract-based security and automation - Low minimum investments (starting at 0.1 ETH) ### 3. Smart Pool Management - Automated investment tracking - Real-time portfolio valuation - Transparent fee structures - Customizable investment parameters - Automated distribution of returns ### 4. Security & Verification - KYC/AML compliance through Web3Auth - All pools are backed by verifiable attestations - Real-time price validation through Chronicle oracles - Multi-signature security for large transactions - Emergency withdrawal mechanisms ## Technical Implementation ### Smart Contracts - ERC721 for pool tokenization - Account abstraction for gasless transactions - Integration with Chronicle price feeds - Sign Protocol for pool attestations - Multi-signature functionality for security ### Price Oracle Integration - Real-time price feeds from Chronicle - Price verification mechanisms - Automatic price updates - Historical price tracking - Price deviation protection ### Authentication & Verification - Web3Auth integration for seamless login - Sign Protocol attestations for pool verification - On-chain verification of investments - KYC/AML compliance - Automated verification processes ## User Benefits ### For Investors - Start investing with minimal barriers - Access verified investment opportunities - Track investments in real-time - Automatic portfolio rebalancing - Transparent fee structure - Easy withdrawal process ### For Pool Creators - Simple pool creation process - Automated management tools - Verifiable track record - Customizable pool parameters - Access to a wider investor base ## Future Roadmap ### Phase 1: Launch (Current) - Basic pool creation and management - Google login integration - Basic investment features - Initial security measures ### Phase 2: Enhancement - Additional login methods - Advanced portfolio analytics - Mobile app development - Cross-chain support - Advanced automation features ### Phase 3: Expansion - DEX integration - Additional asset types - Advanced trading features - DAO governance implementation - Institutional features ## Social Impact MicroVest aims to democratize access to Web3 investments by: - Reducing technical barriers - Lowering minimum investment requirements - Providing educational resources - Ensuring transparency and security - Building a trusted investment ecosystem ## Technical Architecture - Frontend: Next.js with TypeScript - Smart Contracts: Solidity - Authentication: Web3Auth - Price Feeds: Chronicle Protocol - Attestations: Sign Protocol - State Management: React Context/Redux - Styling: Tailwind CSS ## Security Measures - Smart contract audits - Real-time monitoring - Multi-signature wallets - Emergency pause functionality - Regular security updates - Price feed validation - Attestation verification By combining these elements, MicroVest creates a secure, accessible, and user-friendly platform for Web3 investments, bridging the gap between traditional finance and decentralized opportunities.

    How it's made

    ## Core Technologies & Integration ### 1. Authentication & Wallet Management ```typescript // Web3Auth Integration for Seamless Onboarding - Implemented Single Factor Auth using Web3Auth - Firebase for authentication backend - Custom implementation with ethers.js for Web3 interactions // Key Integration const web3auth = new Web3Auth({ clientId: process.env.WEB3AUTH_CLIENT_ID, web3AuthNetwork: WEB3AUTH_NETWORK.SAPPHIRE_MAINNET, privateKeyProvider: new EthereumPrivateKeyProvider({ config: { chainConfig } }) }); // Google Authentication Flow const signInWithGoogle = async () => { const auth = getAuth(firebaseApp); const provider = new GoogleAuthProvider(); const result = await signInWithPopup(auth, provider); const idToken = await result.user.getIdToken(); return web3authProvider.connect({ verifier: "microvest-auth", verifierId: result.user.uid, idToken }); }; ``` ### 2. Price Oracle Integration ```solidity // Chronicle Protocol Integration for Real-time Price Feeds contract MicroVestPool { IChronicle public immutable oracle; function getAssetPrice(string memory symbol) public view returns (uint256) { (uint256 price, uint256 timestamp) = oracle.readWithAge(); require(block.timestamp - timestamp <= MAX_PRICE_AGE, "Stale price"); return price; } } ``` ### 3. Attestation System ```solidity // Sign Protocol Integration for Pool Verification contract PoolAttestation { ISP public signProtocol; function createPoolAttestation( address creator, uint256 poolId, string memory symbol, uint256 targetAmount ) external returns (uint64) { bytes[] memory recipients = new bytes[](1); recipients[0] = abi.encode(creator); bytes memory data = abi.encode( poolId, symbol, targetAmount, block.timestamp ); Attestation memory attestation = Attestation({ schemaId: poolSchemaId, attestTimestamp: uint64(block.timestamp), data: data, // ... other attestation fields }); return signProtocol.attest(attestation, "", "", ""); } } ``` ## Smart Contract Architecture ### 1. Core Contracts ```solidity // Pool Factory Pattern for Scalability contract MicroVestFactory { mapping(uint256 => address) public pools; uint256 public poolCounter; event PoolCreated(uint256 indexed poolId, address pool); function createPool( string memory symbol, uint256 targetAmount, uint256 minInvestment ) external returns (uint256 poolId) { poolId = ++poolCounter; address pool = address(new MicroVestPool( msg.sender, symbol, targetAmount, minInvestment )); pools[poolId] = pool; emit PoolCreated(poolId, pool); } } ``` ### 2. Investment Logic ```solidity // Innovative Investment Distribution contract MicroVestPool { struct Investment { uint256 amount; uint256 shares; uint256 entryPrice; uint64 attestationId; } mapping(address => Investment) public investments; function invest() external payable { require(msg.value >= minInvestment, "Below min"); uint256 price = getAssetPrice(symbol); uint256 shares = calculateShares(msg.value, price); investments[msg.sender] = Investment({ amount: msg.value, shares: shares, entryPrice: price, attestationId: createInvestmentAttestation( msg.sender, msg.value ) }); } } ``` ## Frontend Architecture ### 1. Responsive Layout with Tailwind ```tsx // Custom Hook for Web3 Integration const useWeb3 = () => { const [provider, setProvider] = useState<any>(null); const [address, setAddress] = useState<string>(''); const connect = async () => { const web3authProvider = await login(); const ethersProvider = new ethers.BrowserProvider(web3authProvider); const signer = await ethersProvider.getSigner(); const userAddress = await signer.getAddress(); setProvider(ethersProvider); setAddress(userAddress); }; return { provider, address, connect }; }; // Pool Component with Real-time Updates const PoolCard = ({ pool }) => { const { provider } = useWeb3(); const [currentPrice, setCurrentPrice] = useState<number>(0); useEffect(() => { const fetchPrice = async () => { const price = await getAssetPrice(pool.symbol); setCurrentPrice(price); }; const interval = setInterval(fetchPrice, 30000); return () => clearInterval(interval); }, [pool.symbol]); return ( <div className="bg-white rounded-xl shadow-sm p-6"> {/* Pool UI */} </div> ); }; ``` ## Notable Technical Challenges & Solutions ### 1. Price Feed Optimization - Implemented caching layer for Chronicle price feeds - Used WebSocket connections for real-time updates - Added fallback mechanisms for price feed failures ### 2. Gas Optimization - Batch processing for multiple investments - Used events for off-chain data tracking - Implemented proxy patterns for contract upgrades ### 3. Frontend Performance - Implemented virtualized lists for large pool displays - Used React.memo for optimized rendering - Added progressive loading for investment data ## Partner Technology Benefits 1. Web3Auth - Reduced onboarding friction significantly - Enabled gasless transactions - Provided secure wallet creation 2. Chronicle Protocol - Reliable price feeds - Real-time price updates - Price deviation protection 3. Sign Protocol - Verifiable pool attestations - Investment verification - Transparent track record ## Development Workflow 1. Smart Contract Development & Testing (Hardhat) 2. Frontend Development (Next.js + TypeScript) 3. Integration Testing with Partner Technologies 4. Security Audits & Optimizations 5. Deployment & Monitoring ## Future Technical Improvements 1. Implement cross-chain support 2. Add advanced analytics dashboard 3. Enhance automation capabilities 4. Implement more partner integrations ``` This project showcases the power of combining multiple Web3 technologies to create a user-friendly investment platform. The integration of Web3Auth, Chronicle Protocol, and Sign Protocol allowed us to solve key challenges in authentication, price feeds, and verification respectively, while maintaining a seamless user experience.