Skip to main content
The Bark SDK is a set of libraries for building self-custodial bitcoin wallet apps. Keys stay on the user’s device, and your app talks directly to Ark servers. Use the Bark SDK when you’re building:
  • Mobile wallet apps
  • Desktop wallet apps
  • Browser-based wallet apps
  • Wallets for custom or embedded hardware
If you’re building bitcoin applications for server infrastructure, try Barkd.

Pick your platform

Each guide below walks you through installing the SDK, creating a wallet, and making your first payment, then links to the full library reference. Rust is the core implementation; the others are bindings around it.

Rust ★

Core library—most complete and performant.

React Native

Cross-platform mobile apps with TypeScript.

Flutter

Cross-platform mobile apps with Dart.

Swift

Native iOS apps.

Kotlin

Native Android apps.

Web

Browser apps in JavaScript via WebAssembly.

Go

Native Go bindings.

See it in action

Built with Bark

Mobile wallets and integrations shipping bitcoin payments with the Bark SDK.

How it works

The Bark SDK uses UniFFI bindings to run the core Rust library directly in your app. Everything happens on-device:
  • Keys stay on the device: The user’s private keys are generated and stored locally.
  • Direct protocol access: Your app communicates directly with Ark servers.
  • No backend required: You don’t need to run any server infrastructure.
The user’s mnemonic alone can restore a wallet’s balance, with the Ark server’s cooperation. For a full restore that includes payment history and in-progress exits, and doesn’t depend on the server, make sure your app also makes continuous backups of the wallet database.