Search projects, hackathons, sponsors and tech

    ← All projects

    MoirPro

    Minimal Flutter template for Sepolia on-chain verification via Mopro & Noir.

    About

    This is a lean ZKP mobile application that demonstrates the integration of several tech stacks on cryptographic (ZK, Noir), blockchain (on-chain interaction), and mobile (Flutter) infra. 🎯 Project Overview This project is a Flutter mobile app that showcases: - Zero-Knowledge Proof generation using Noir circuits - Reown Appkit (WalletConnect) integration for blockchain wallet connectivity - On-chain proof verification on Ethereum Sepolia testnet - Cross-platform mobile ZKP capabilities (iOS & Android) The app allows users to generate cryptographic proofs on their mobile devices and verify them both locally and on-chain, all while maintaining privacy through zero-knowledge cryptography.

    How it's made

    ✅ Core Architecture - **Rust core** with ZK proving via Circom circuits using Groth16 proofs - **UniFFI bindings** auto-generate native mobile interfaces (iOS/Android) - **Flutter cross-platform** frontend with WalletConnect integration ✅ Key Technologies **ZK Proof Stack:** - **Circom/Groth16** for zero-knowledge circuits (multiplier2 example) - **Arkworks** backend for proof generation/verification - **rust-witness** macro transpiles WASM circuits to Rust at build time **Mobile Bridge:** - **UniFFI** generates type-safe bindings from Rust → Swift/Kotlin - **JNA** (Java Native Access) for Android FFI - **C headers** for iOS with XCFramework packaging **Mobile Integration:** - **ReownAppKit** (WalletConnect v2) for wallet connections - **Deep links** handle wallet callback responses - **Multi-chain support** (Ethereum, Polygon, Sepolia) ✅ Notable Implementation Details **Hacky/Clever Parts:** 1. **Build-time circuit compilation** - `build.rs` transpiles WASM circuits to native Rust witnesses 2. **UniFFI macro magic** - `mopro_ffi::app!()` auto-generates 6+ proof functions (Circom/Halo2/Noir) 3. **Flutter plugin structure** - Self-contained plugin with bundled native binaries 4. **Network security bypass** - Android config allows cleartext for WalletConnect relays **Architecture Flow:** 1. Flutter UI captures inputs → 2. Calls Rust via UniFFI → 3. Generates ZK proof with circuit witness → 4. Returns proof to Flutter → 5. WalletConnect integration for blockchain interaction