project screenshot 1
project screenshot 2
project screenshot 3

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.

MICROVEST

Created At

ETHGlobal Bangkok

Winner of

Chronicle Protocol - Chronicle Pool Prize

Prize Pool

Project Description

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

// 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 Architecture

1. 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 Architecture

1. 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 & 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
  1. Chronicle Protocol
  • Reliable price feeds
  • Real-time price updates
  • Price deviation protection
  1. 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.
background image mobile

Join the mailing list

Get the latest news and updates