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 Test on mainnet and select the mainnet network.

Prerequisites

  • Dart SDK 3.11+ / Flutter 3.x+
  • Rust toolchain (rustup, cargo, rustc). The bark_bitcoin package compiles its Rust core at build time using Dart’s Native Assets feature.

Getting started

1

Install the SDK

dart pub add bark_bitcoin
Then run:
dart pub get
2

Create a wallet

Configure the wallet for signet and initialize it.
import 'dart:io';
import 'package:bark_bitcoin/bark_bitcoin.dart';

Future<void> main() async {
  // Use a known test mnemonic (generate your own for real use)
  final mnemonic =
      "abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about";

  // Configure for signet
  final config = Config(
    serverAddress: "https://ark.signet.2nd.dev",
    esploraAddress: "https://esplora.signet.2nd.dev",
    network: Network.signet,
  );

  // Create a data directory
  final dataDir = Directory('./bark_db');
  dataDir.createSync(recursive: true);

  // Create the wallet
  final wallet = await Wallet.create(
    mnemonic: mnemonic,
    config: config,
    datadir: dataDir.path,
    forceRescan: false,
  );
}
Back up the mnemonic securely, and back up wallet data continuously. Both are required to restore a wallet.
3

Get a receiving address

Generate an Ark address to receive bitcoin.
final address = await wallet.newAddress();
print("Ark address: $address");
Send some signet sats to this address using the faucet.
4

Check your balance

Sync the wallet with the Ark server and read your balance.
sync is a reserved keyword in Dart. The method is named sync_() with a trailing underscore.
await wallet.sync_();

final balance = await wallet.balance();
print("Spendable: ${balance.spendableSats} sats");

Next steps

https://mintcdn.com/second-0659a37d/IZIYL7kfKRS394NE/images/gitlab-icon-outline.svg?fit=max&auto=format&n=IZIYL7kfKRS394NE&q=85&s=31497d40e3e7174b42f13799a0b33eb5

Source and examples

Full Dart source and example projects on GitLab.

How Ark works

Learn about the protocol powering your wallet.