Bitcoin USB Hardware Wallet Interface library
Find a file
2026-05-24 19:01:17 +02:00
gradle/wrapper upgrade to gradle v9.1.0 2025-09-29 13:21:12 +02:00
src improve trezor error message when non witness utxo field is not provided 2026-05-19 18:14:56 +02:00
.gitignore initial commit 2024-11-25 14:00:49 +02:00
build.gradle update hid4java to remove rpath from linux x86 binary 2026-05-24 19:01:17 +02:00
gradlew upgrade to gradle v9.1.0 2025-09-29 13:21:12 +02:00
gradlew.bat upgrade to gradle v9.1.0 2025-09-29 13:21:12 +02:00
LICENSE initial commit 2024-11-25 14:00:49 +02:00
README.md update readme to list onekey support 2025-02-26 14:21:15 +02:00
settings.gradle initial commit 2024-11-25 14:00:49 +02:00

Lark

Lark is Java library for interacting with USB hardware wallets in Bitcoin related functions. The initial implementation is a port of the Python library HWI, but the library has since been extended to support additional functionality.

The following hardware wallets (for all models, unless specified) are supported:

  • Coldcard
  • Trezor
  • Ledger
  • BitBox02
  • Jade
  • Keepkey
  • OneKey (Classic 1S and Pro)

Example usage

Lark lark = new Lark();
List<HardwareClient> clients = lark.enumerate();

for(HardwareClient client : clients) {
    ExtendedKey xpub = lark.getPubKeyAtPath(client.getType(), client.getPath(), "m/84'/1'/0'");
}