Skip to main content

Use this prompt to get started quickly.

Open in Cursor
These examples connect to signet so you can test for free. To go live, point the same configuration at Second’s mainnet endpoints from Connection details and select the mainnet network.

Prerequisites

  • iOS 14+ or macOS 14+, with Xcode 15+ (Swift 5.9+)

Getting started

1

Install the SDK

In Xcode, go to File > Add Package Dependencies and enter the package URL:
For Dependency Rule, select Exact Version and enter 0.25.0. Then add the Bark product to your app target.
In a macOS app, open your app target’s Signing & Capabilities tab. Under App Sandbox, select Outgoing Connections (Client).
2

Create a wallet

Generate a BIP39 mnemonic, configure the signet endpoints, and open the wallet in a data directory. Wallet.open() creates the wallet on the first launch and reopens it on later ones.Run the code from this step and the next two inside an async throws function or a Task, with the import lines at the top of the file.
The sample code stores the mnemonic in an unencrypted file so that the next launch reopens the same wallet. That is acceptable for signet tests only. In a production app, store the mnemonic in your platform’s secure storage. Also set up continuous wallet data backups, so users can restore their wallet without the Ark server’s cooperation.
3

Get a receiving address

Generate an Ark address to receive bitcoin.
Run your app to print the address. In Xcode, print() output appears in the console. Send some signet sats to this address using the faucet.
4

Check your balance

Bark syncs the wallet in the background while it’s open. Call sync() when you need an up-to-date balance right away.
Balance amounts are UInt64 values.Run your app again. It reopens the same wallet and prints your spendable balance in sats.

Next steps

Source code

Swift bindings source on GitLab.

How Ark works

Learn about the protocol powering your wallet.