Skip to main content

Reflections on 2025: The Mopro Story

· 7 min read
Vivian Jeng
Developer on the Mopro Team

2025 has been a strong year for Mopro and the evolution of mobile proving. Over the past year, we showed that Mopro is not just a tool for advanced developers, but one that hackers and beginners can adopt with ease.

This progress was also showcased at DevConnect, where we presented Mopro’s approach to mobile proving and shared real-world learnings from building and deploying zk applications on mobile. You can watch the full talk.

The following milestones highlight what we accomplished.

Mobile SDK Management Solution

We realized that for most zk protocol developers, building a full frontend is not essential—especially when the goal is to demonstrate a proof of concept or integrate the protocol into an existing product. What is essential, however, is a reliable and easy-to-use SDK.

To address this, we built reusable templates with Mopro bindings that can be integrated with minimal mobile development experience. These templates are designed to be easily extended into SDKs for multiple platforms, enabling zk protocol teams—such as zkEmail, Semaphore, and others—to focus on protocol design rather than frontend or mobile engineering.

info

For more details, please refer to our blog and documentation.

Our approach is inspired by the Reclaim Protocol philosophy: a protocol should support as many platform SDKs as possible to unlock a broader range of applications and products.

Reclaim Protocol SDK

Expanded FFI Support

Although UniFFI provides a robust foundation for Rust FFI, it still requires manual effort to integrate with modern cross-platform frameworks such as Flutter and React Native. This added complexity can be a barrier for mobile developers.

In 2025, we streamlined this process by integrating multi-platform FFI generation into mopro-ffi. Today, Mopro can automatically generate bindings for Swift, Kotlin, Flutter (with flutter_rust_bridge), React Native (with uniffi-bindgen-react-native), and WebAssembly (with wasm-bindgen), eliminating the need to maintain platform-specific glue code. Developers define their interfaces once in Rust, and Mopro handles the rest.

note

For example, in a React Native app, developers need to manually write glue code in Swift, Kotlin, and TypeScript, as described in the README.

Similarly, in a Flutter app, glue code must be written in Swift, Kotlin, and Dart (See the README).

This results in hundreds of lines of manually maintained code, which does not scale well as the number of FFI-exported functions grows.

With flutter_rust_bridge and uniffi-bindgen-react-native, these glue layers are generated automatically, allowing mobile developers to interact with the Rust APIs directly from React Native and Flutter without writing or maintaining platform-specific binding code.

Noir Support

Alongside our existing support for Circom and Halo2, we integrated Noir into Mopro in 2025, recognizing its growing adoption as a frontend language for zero-knowledge circuits. Inspired by the zkPassport team, we enabled mobile proving and verification for Noir-based circuits.

info

For more details, please refer to our blog and documentation.

Throughout the year, we participated in multiple NoirHack events and NoirCon, where we built Stealthnote Mobile, achieving up to 10× faster performance than the browser version and a superior user experience. We also released an example demonstrating how Noir proofs can be verified on-chain.

Hackathon Projects

Throughout 2025, we participated in several hackathons and received over 50 project submissions built with Mopro. Below are a selection of standout projects developed this year.

info

Read our reflections from ETHGlobal Cannes and ETHGlobal New Delhi.

Zuma

Anonymous Event Attendance

Hackathon Zuma

ETHGlobal Trifecta — Zero Knowledge

Zuma is a ZK-powered Luma-style application, inspired by Luma and Zupass. It combines the seamless user experience of native event apps with the strong privacy guarantees of zero-knowledge proofs.

When a user attends an event, the app generates a Semaphore proof to attest to attendance. Verifiers only need to validate the proof to confirm that the user is an attendee—without learning any personal information such as the user’s email address or name.

Stealthnote Mobile

Glassdoor-Style Anonymous Forum

Hackathon Stealthnote Mobile

NoirHack 2025

Stealthnote Mobile is inspired by stealthnote.xyz and demonstrates that Noir proofs can be generated and verified directly on mobile devices. Compared to the browser-based implementation, the mobile app achieves up to 10× faster performance.

While the browser version takes approximately 20 seconds to generate a Google OAuth proof, the mobile app completes the same operation in about 2 seconds, resulting in a significantly improved user experience. In the future, the app could integrate push notifications to notify users when new posts are available.

MobiScale

Privacy-Preserving AI Biometric Verification with zkVM on Mobile

Hackathon MobiScale

ETHGlobal Cannes 2025

Mobiscale represents a major technical milestone for Mopro, showcasing how mobile hardware can enable zkVMs on smartphones. The project combines AI-powered facial recognition with Apple’s Secure Enclave to verify identity in a privacy-preserving way.

Users upload a passport photo and take a live selfie, which are compared locally by an AI model to establish identity with high confidence. The system then generates zero-knowledge proofs using RISC Zero and Noir circuits, allowing third parties to verify identity claims without accessing biometric data, confidence scores, or image hashes.

ZeroSurf

Seamless Browser-to-Mobile ZK Age Verification

Hackathon ZeroSurf

ETHGlobal New Delhi 2025

ZeroSurf demonstrates a highly smooth user experience between browser applications and mobile native apps through deep linking. When accessing a website with age restrictions, users are redirected via a URL to a mobile app, where a zero-knowledge proof (in this case, an Anon Aadhaar proof) is generated.

The proof is then returned to the website, enabling verification without exposing sensitive information. This project expands the use cases for mobile-native provers and shows how browser-based applications can directly benefit from mobile zero-knowledge proving.

info

Explore more projects at https://zkmopro.org/docs/projects/

Future Direction

2026 Roadmap

In 2026, we propose the following direction for the community. While Mopro handles the FFI layer and ensures that proving systems work reliably across platforms, we also want to raise awareness that reaching users on different platforms requires more than just cross-platform compatibility.

To truly enable adoption, zk protocol developers should provide platform-specific SDKs that can be easily consumed by application developers on iOS, Android, web, and beyond. By offering well-designed SDKs tailored to each platform’s ecosystem, zk applications can achieve broader reach, better user experience, and faster integration across diverse platforms.

As for the Mopro team, we plan to collaborate with more projects to help them build and ship their protocol SDKs. We will continue exploring zkVMs on mobile and advancing client-side GPU research across different proving systems.

In addition, we aim to engage more deeply with mobile development communities and events, promoting the adoption of zero-knowledge proofs in real-world mobile applications.

Conclusion

2025 was a milestone year for Mopro, proving that mobile zk is not only possible, but practical and accessible. As we move into 2026, we’re excited to keep pushing the boundaries of mobile proving and work closely with the community to bring zero-knowledge to more platforms and applications.