Command line application for the Lark USB Hardware Wallet library
  • Java 94.2%
  • Shell 5.4%
  • Batchfile 0.4%
Find a file
2026-03-05 11:53:26 +02:00
.github/workflows update runner for linx x86_64 2026-02-10 13:54:32 +02:00
drongo@53c999a01b upgrade dependencies 2026-03-05 11:53:26 +02:00
gradle/wrapper upgrade gradle to v9.1.0 2026-02-10 11:31:32 +02:00
lark@7f79ddee6b upgrade dependencies 2026-03-05 11:53:26 +02:00
src/main fix app version 2025-02-26 14:52:19 +02:00
.gitignore initial commit 2024-11-25 14:12:28 +02:00
.gitmodules track master branch on submodules 2024-11-28 07:44:17 +02:00
build.gradle upgrade dependencies 2026-03-05 11:53:26 +02:00
gradlew upgrade gradle to v9.1.0 2026-02-10 11:31:32 +02:00
gradlew.bat upgrade gradle to v9.1.0 2026-02-10 11:31:32 +02:00
larklogo.png add logo to readme 2024-12-02 16:46:53 +02:00
LICENSE initial commit 2024-11-25 14:12:28 +02:00
README.md add further usage examples 2024-12-03 08:52:13 +02:00
runlark fix losing commas in run script 2024-12-12 17:15:50 +02:00
runsparrow.bat add release requirements to build 2024-11-29 09:43:56 +02:00
settings.gradle add drongo and lark submodules 2024-11-25 15:05:02 +02:00

Lark logo

Lark App

The Lark application is a command line app for interacting with USB hardware wallets in Bitcoin related functions. It uses the Lark Java library at https://github.com/sparrowwallet/lark, which in turn is a port of the Python library HWI. The Lark command line application is designed to be a drop-in replacement for HWI, with a subset of commands implemented. Documentation on the commands is available by running it with --help.

Running

Depending on your operating system, once extracted/installed, Lark can be run from the command line as follows:

Linux

> lark/bin/lark

Note that on Linux, udev rules may need to be installed if you are not using the .deb/.rpm installation package.

macOS

> Lark.app/Contents/MacOS/Lark

Windows

> lark/lark.exe

Example usage

Show usage:

lark --help

Enumerate all connected hardware wallets

lark enumerate

Get Native Segwit xpub

lark --device-type trezor getxpub "m/84'/0'/0'"

Sign a testnet transaction

lark --chain test --device-type coldcard signtx "cHNid..."

Sign a multisig transaction, supplying a previous wallet registration

lark --device-type ledger --wallet-desc "wsh(sortedmulti(2,[2811576b/48h/0h/0h/2h]xpub...,[6533280b/48h/0h/0h/2h]xpub...))" --wallet-name "2 of 2 Multisig" --wallet-registration "c0ee51bae9b3e5ee5a5e01dbcd336cd5c5f8a5b760d1c68f6a2a0b91c2580406" signtx "cHNid..."

Running from source

If you prefer to run Lark directly from source, it can be launched from within the project directory with

./runlark

Java 22 or higher must be installed.

Building

To clone this project, use

git clone --recursive git@github.com:sparrowwallet/larkapp.git

or for those without SSH credentials:

git clone --recursive https://github.com/sparrowwallet/larkapp.git

In order to build, Lark requires Java 22 or higher to be installed. The release binaries are built with Eclipse Temurin 22.0.2+9.

Other packages may also be necessary to build depending on the platform. On Debian/Ubuntu systems:

sudo apt install -y rpm fakeroot binutils

The Lark binaries can be built from source using

./gradlew jpackage

When updating to the latest HEAD

git pull --recurse-submodules

The release binaries are reproducible (pre codesigning and installer packaging).