ETHGlobal Cannes

Ethereum Foundation

$5,000

About

Mopro is a developer-friendly toolkit that makes building native mobile apps simple and efficient. We believe native apps offer better performance and user experience than browser-based solutions, and we’re here to remove the friction of mobile development. Mopro provides: 🚀 Easy-to-use CLI tools 🧱 Ready-to-go templates 📚 Helpful documentation No need to be a mobile expert—just focus on your idea. We initially support zero-knowledge (ZK) proof systems including: Circom, Halo2 and Noir. Using UniFFI, you can also bring in any Rust crate and define the functions you want to run natively on mobile. Tap into native mobile capabilities—such as biometrics 🫆, GPS 📍, NFC 💳, camera 📸, photo gallery 🌅, Bluetooth 🛜, push notifications 🔔, and more—to expand what Web3 apps can do beyond the browser. Let’s redefine what’s possible on mobile!

Prizes

🥷🏻 Best use of ZK on Mopro$5,000
🥇
1st place
$2,500
🥈
2nd place
$1,500
🥉
3rd place
$1,000
Build a mobile-native ZK app using Mopro. We’re looking for projects that showcase seamless, user-friendly experiences that bring ZK into everyday mobile use. You’re free to choose any ZK circuit language—Circom, Halo2, Noir, or others—and any ZK protocol, such as Semaphore, MACI, zkEmail, Self Protocol, zkTLS, etc. Your app can be built in Swift, Kotlin, React Native, Flutter, or any other mobile framework. The only requirement is that the ZK proof must be generated client-side. Surprise us with your creativity—and show how ZK can feel invisible yet powerful to users.

Qualification Requirements

- Generate mobile-native bindings (iOS/Android) using the Mopro SDK. - All ZK proofs must be generated directly on the client (mobile device). Relaying proofs from a backend/server is not eligible. - You may build on top of an existing mobile app (e.g., Self Protocol), but must contribute new code to the mobile-native layer (Swift, Kotlin, React Native, Flutter, etc.). - Apps that generate ZK proofs through embedded webviews or browser-based contexts are not eligible. - Your app should be run on an iOS or Android simulator or physical device