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

# Bark SDK

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>
  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](/docs/backups) of the wallet database.
</Note>
