MoirPro
Minimal Flutter template for Sepolia on-chain verification via Mopro & Noir.
Problem Statement
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 circuitsReown Appkit (WalletConnect) integration for blockchain wallet connectivityOn-chain proof verification on Ethereum Sepolia testnetCross-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.
Solution
✅ Core ArchitectureRust corewith ZK proving via Circom circuits using Groth16 proofsUniFFI bindingsauto-generate native mobile interfaces (iOS/Android)Flutter cross-platformfrontend with WalletConnect integration✅ Key TechnologiesZK Proof Stack:Circom/Groth16for zero-knowledge circuits (multiplier2 example)Arkworksbackend for proof generation/verificationrust-witnessmacro transpiles WASM circuits to Rust at build timeMobile Bridge:UniFFIgenerates type-safe bindings from Rust → Swift/KotlinJNA(Java Native Access) for Android FFIC headersfor iOS with XCFramework packagingMobile Integration:ReownAppKit(WalletConnect v2) for wallet connectionsDeep linkshandle wallet callback responsesMulti-chain support(Ethereum, Polygon, Sepolia)✅ Notable Implementation DetailsHacky/Clever Parts:Build-time circuit compilation-build.rstranspiles WASM circuits to native Rust witnessesUniFFI macro magic-mopro_ffi::app!()auto-generates 6+ proof functions (Circom/Halo2/Noir)Flutter plugin structure- Self-contained plugin with bundled native binariesNetwork security bypass- Android config allows cleartext for WalletConnect relaysArchitecture Flow:Flutter UI captures inputs →Calls Rust via UniFFI →Generates ZK proof with circuit witness →Returns proof to Flutter →WalletConnect integration for blockchain interaction
Hackathon
ETHGlobal Cannes
2025
Contributors
- moven0831
19 contributions