Skip to content

Mobile and desktop apps

If your app has a Rust layer (Tauri, flutter_rust_bridge, or a native app with a Rust core), link the Rust SDK directly. This is how the Lexe app itself is built.

Desktop apps without Rust can bundle the sidecar as a subprocess and call its REST API, or shell out to the Lexe CLI per request.

Mobile apps without Rust (Swift, Kotlin, React Native, plain Flutter) can't run a sidecar subprocess. Swift and Kotlin bindings for the Rust SDK can be generated with UniFFI from its sdk-uniffi crate, which keeps the credential on the device. Packaged bindings are planned. If a custodial deployment is acceptable, have the app call a server of your own, or a hosted sidecar with the user's credential sent per request.

To control the user's wallet rather than your own, obtain the credential via LexeConnect.