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.
Screenshots



Problem Statement
MicroVest: Democratizing Web3 Investments with Verified PoolsWhat 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 Features1. Seamless OnboardingLogin with Google to get an instant Web3 walletNo seed phrases or complex wallet setups requiredGasless transactions for better user experienceInstant access to investment opportunities2. Verified Investment PoolsCreate or join investment pools with full transparencyEach pool is verified through Sign Protocol attestationsReal-time price feeds from Chronicle oraclesSmart contract-based security and automationLow minimum investments (starting at 0.1 ETH)3. Smart Pool ManagementAutomated investment trackingReal-time portfolio valuationTransparent fee structuresCustomizable investment parametersAutomated distribution of returns4. Security & VerificationKYC/AML compliance through Web3AuthAll pools are backed by verifiable attestationsReal-time price validation through Chronicle oraclesMulti-signature security for large transactionsEmergency withdrawal mechanismsTechnical ImplementationSmart ContractsERC721 for pool tokenizationAccount abstraction for gasless transactionsIntegration with Chronicle price feedsSign Protocol for pool attestationsMulti-signature functionality for securityPrice Oracle IntegrationReal-time price feeds from ChroniclePrice verification mechanismsAutomatic price updatesHistorical price trackingPrice deviation protectionAuthentication & VerificationWeb3Auth integration for seamless loginSign Protocol attestations for pool verificationOn-chain verification of investmentsKYC/AML complianceAutomated verification processesUser BenefitsFor InvestorsStart investing with minimal barriersAccess verified investment opportunitiesTrack investments in real-timeAutomatic portfolio rebalancingTransparent fee structureEasy withdrawal processFor Pool CreatorsSimple pool creation processAutomated management toolsVerifiable track recordCustomizable pool parametersAccess to a wider investor baseFuture RoadmapPhase 1: Launch (Current)Basic pool creation and managementGoogle login integrationBasic investment featuresInitial security measuresPhase 2: EnhancementAdditional login methodsAdvanced portfolio analyticsMobile app developmentCross-chain supportAdvanced automation featuresPhase 3: ExpansionDEX integrationAdditional asset typesAdvanced trading featuresDAO governance implementationInstitutional featuresSocial ImpactMicroVest aims to democratize access to Web3 investments by:Reducing technical barriersLowering minimum investment requirementsProviding educational resourcesEnsuring transparency and securityBuilding a trusted investment ecosystemTechnical ArchitectureFrontend: Next.js with TypeScriptSmart Contracts: SolidityAuthentication: Web3AuthPrice Feeds: Chronicle ProtocolAttestations: Sign ProtocolState Management: React Context/ReduxStyling: Tailwind CSSSecurity MeasuresSmart contract auditsReal-time monitoringMulti-signature walletsEmergency pause functionalityRegular security updatesPrice feed validationAttestation verificationBy combining these elements, MicroVest creates a secure, accessible, and user-friendly platform for Web3 investments, bridging the gap between traditional finance and decentralized opportunities.
Solution
Core Technologies & Integration1. Authentication & Wallet Management// 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// 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// 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 Architecture1. Core Contracts// 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// 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 Architecture1. Responsive Layout with Tailwind// 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 & Solutions1. Price Feed OptimizationImplemented caching layer for Chronicle price feedsUsed WebSocket connections for real-time updatesAdded fallback mechanisms for price feed failures2. Gas OptimizationBatch processing for multiple investmentsUsed events for off-chain data trackingImplemented proxy patterns for contract upgrades3. Frontend PerformanceImplemented virtualized lists for large pool displaysUsed React.memo for optimized renderingAdded progressive loading for investment dataPartner Technology BenefitsWeb3AuthReduced onboarding friction significantlyEnabled gasless transactionsProvided secure wallet creationChronicle ProtocolReliable price feedsReal-time price updatesPrice deviation protectionSign ProtocolVerifiable pool attestationsInvestment verificationTransparent track recordDevelopment WorkflowSmart Contract Development & Testing (Hardhat)Frontend Development (Next.js + TypeScript)Integration Testing with Partner TechnologiesSecurity Audits & OptimizationsDeployment & MonitoringFuture Technical ImprovementsImplement cross-chain supportAdd advanced analytics dashboardEnhance automation capabilitiesImplement more partner integrationsThis 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.
Hackathon
ETHGlobal Bangkok
2024
Prizes
- 🏆
Chronicle Pool Prize
Chronicle Protocol
Contributors
- PrabalParihar
11 contributions
- 0xnehasingh
2 contributions