> ## Documentation Index
> Fetch the complete documentation index at: https://second.tech/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

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

<Tip>
  If you're building bitcoin applications for server infrastructure, [try Barkd](/docs/barkd).
</Tip>

## 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.

<CardGroup cols={2}>
  <Card title="Rust ★" icon="rust" href="/docs/bark-sdk/rust">
    Core library—most complete and performant
  </Card>

  <Card title="React Native" icon="react" href="/docs/bark-sdk/react-native">
    Cross-platform mobile apps with TypeScript
  </Card>

  <Card title="Flutter" icon="https://mintcdn.com/second-0659a37d/Jga8RruMCrHYBFjK/images/flutter-logo.svg?fit=max&auto=format&n=Jga8RruMCrHYBFjK&q=85&s=bee498642147e00f2206a49634670ca0" href="/docs/bark-sdk/dart" width="300" height="371" data-path="images/flutter-logo.svg">
    Cross-platform mobile apps with Dart
  </Card>

  <Card title="Swift" icon="swift" href="/docs/bark-sdk/swift">
    Native iOS apps
  </Card>

  <Card title="Kotlin" icon="https://mintcdn.com/second-0659a37d/IZIYL7kfKRS394NE/images/kotlin-logo.svg?fit=max&auto=format&n=IZIYL7kfKRS394NE&q=85&s=245b783dc45398d84ab7541d4afdeeda" href="/docs/bark-sdk/kotlin" width="48" height="48" data-path="images/kotlin-logo.svg">
    Native Android apps
  </Card>

  <Card title="Web" icon="https://mintcdn.com/second-0659a37d/b5Qbo7s1piKFAfPk/images/wasm-logo.svg?fit=max&auto=format&n=b5Qbo7s1piKFAfPk&q=85&s=e9d6cf011b69fbdc4e8758ac0e1a9141" href="/docs/bark-sdk/wasm" width="612" height="612" data-path="images/wasm-logo.svg">
    Browser apps in JavaScript via WebAssembly
  </Card>

  <Card title="Go" icon="https://mintcdn.com/second-0659a37d/Jga8RruMCrHYBFjK/images/go-logo.svg?fit=max&auto=format&n=Jga8RruMCrHYBFjK&q=85&s=b4540176ae0d16a8df1ba3998d222ec2" href="/docs/bark-sdk/go" width="211" height="81" data-path="images/go-logo.svg">
    Native Go bindings
  </Card>
</CardGroup>

## See it in action

<CardGroup cols={1}>
  <Card title="Built with Bark" icon="sparkles" href="/docs/built-with-bark">
    Mobile wallets and integrations shipping bitcoin payments with the Bark SDK.
  </Card>
</CardGroup>

## 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.

<Note>
  Restoring a wallet requires both the user's mnemonic and a current backup of its data, so make sure your app [makes continuous backups](/docs/backups) of wallet VTXO data.
</Note>
