Native iOS & Android overview
Who this section is for
This section is for apps written directly in Kotlin or Swift, with no React
Native layer. If your app is built with React Native, you want the
React Native section instead: it ships
the same embedded wallet as an npm package with TypeScript types, and pairs
with the wavelength-react hooks.
What the native SDK is
The native SDK lives in the wavelength-mobile repository. It provides idiomatic wrappers over the same gomobile-compiled wallet daemon that powers the React Native package:
android/walletkit: a Kotlin library exposingsuspendfunctions, aFlowfor wallet activity, and typed models.ios/WalletKit: a Swift library built as anactorwithasyncfunctions, anAsyncThrowingStreamfor activity, andCodablemodels.
Both wrap the Wavewalletdk bindings (Wavewalletdk.aar on Android,
Wavewalletdk.xcframework on iOS) that the
wavelength repo builds and
publishes with each release. The whole wallet daemon runs inside your app’s
process: no separate daemon, no open network port, and your users keep sole
custody of their keys. See Architecture
for how that works.
The repo also contains a sample app per platform (Jetpack Compose on Android, SwiftUI on iOS) that drives the wrappers end to end.
Native or React Native?
Choose the native SDK when:
- You have an existing Kotlin or Swift app and do not want to introduce a React Native dependency.
- You want platform-native concurrency idioms: Kotlin coroutines and
Flow, Swiftasync/awaitandAsyncThrowingStream.
Choose React Native when:
- You share a TypeScript codebase across platforms, or your team lives in the React ecosystem.
- You want the
wavelength-reacthooks and the sharedWalletEnginestate layer.
Both paths embed the same daemon and speak the same wallet API, so the concepts, guides, and API documentation on this site apply to either.
What lives where
This site owns the stable material: this overview, the architecture of the embedded daemon, and a quickstart that gets a wallet created and synced. Everything that moves with upstream releases stays canonical in the wavelength-mobile repo:
- API guide: every wallet operation with Kotlin and Swift side by side.
- Android workflow: toolchain setup, building the bindings, running the sample app.
- Signet setup: endpoints and network notes for running against signet.
- Full method list: the complete gomobile facade surface, documented in the wavelength repo.