Midnight Mobile SDK - React Native wallet, ZK contracts & DApp connectivity for mobile

Hey everyone :waving_hand:

I’ve been building @dedanzi/midnight-mobile-sdk, an open-source React Native SDK that brings Midnight Network capabilities to mobile (iOS & Android). The goal is to make it easy for mobile developers to build privacy-preserving DApps on Midnight without having to wire up all the platform-specific plumbing themselves.

What does it do?

The SDK wraps the existing @midnight-ntwrk packages and adds mobile-native adapters:

  • HD Wallet (BIP-32/44) - Hierarchical deterministic wallet with create, import (mnemonic), lock/unlock

  • Biometric Authentication - FaceID / TouchID / Fingerprint gate before every signing operation

  • Secure Storage - iOS Keychain + Android Keystore (replaces LevelDB with a SQLite adapter for mobile persistence)

  • Contract Interaction - Deploy, call, and query contracts with ZK proof delegation

  • Indexer & Subscriptions - GraphQL queries + WebSocket real-time subscriptions

  • DApp Connectivity - Deep links (midnight://) replacing browser-based window.midnight

  • QR Code Scanner - Scan and generate payment request QR codes

  • Offline Transaction Queue - Caches failed transactions for automatic retry

Quick Start

bash

npm install @dedanzi/midnight-mobile-sdk

typescript

import { initMidnightSDK } from '@dedanzi/midnight-mobile-sdk';

const sdk = await initMidnightSDK('testnet');
const walletInfo = await sdk.createWallet();
console.log('Wallet address:', walletInfo.address);

Why mobile?

Most of the Midnight tooling today is focused on web/desktop DApps. But for real-world adoption, especially in markets like Southeast Asia where mobile-first is the norm, we need native mobile SDKs that handle secure key storage, biometrics, deep linking, and offline resilience out of the box. This SDK is my attempt to bridge that gap.

Current Status

This is still early-stage, and I’d love feedback from the community:

  • Is the API surface intuitive for React Native devs?

  • Any features you’d prioritize or think are missing?

  • If you’re a mobile developer, would you use something like this?

Links

Contributions, issues, and suggestions are all welcome. Thanks for checking it out! :folded_hands:

3 Likes