No description
  • Java 98.7%
  • CSS 1.1%
  • Kotlin 0.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
jordan 0592608752
Merge pull request #25 from noosphere888/whirlpool-lifecycle-fixes-and-docs
Add architecture/dev docs, fix Whirlpool cleanup on wallet delete and stuck mix button
2026-07-26 12:07:06 +00:00
.github/workflows Document BIP47 release signing 2026-06-19 07:10:38 -05:00
buildSrc Drop monocle JavaFX platform detection — monocle JARs not published for JavaFX 21 2026-04-18 21:16:36 +00:00
darkjar Initial commit - Ashigaru Terminal project 2025-06-23 06:44:39 -05:00
docs Add architecture and development docs 2026-07-25 23:28:37 -05:00
drongo Initial commit - Ashigaru Terminal project 2025-06-23 06:44:39 -05:00
gradle/wrapper Initial commit - Ashigaru Terminal project 2025-06-23 06:44:39 -05:00
src Stop mixing on wallet delete and fix stuck mix button 2026-07-25 23:28:38 -05:00
.gitignore Ignore META-INF directory (extracted from fxsvgimage JAR) 2026-03-21 14:16:09 +00:00
.gitmodules Initial commit - Ashigaru Terminal project 2025-06-23 06:44:39 -05:00
.mailmap Initial commit - Ashigaru Terminal project 2025-06-23 06:44:39 -05:00
build.gradle Release 1.1.2: bump version and add release notes 2026-07-25 17:12:25 +00:00
gradlew Initial commit - Ashigaru Terminal project 2025-06-23 06:44:39 -05:00
gradlew.bat Initial commit - Ashigaru Terminal project 2025-06-23 06:44:39 -05:00
LICENSE Initial commit - Ashigaru Terminal project 2025-06-23 06:44:39 -05:00
PLAN.md Add receive dialog, transaction history, Badbank info bar, and coinjoin flow polish 2026-03-23 04:25:20 +00:00
README.md Enhance README with image and feature details 2026-07-25 12:14:50 -05:00
RELEASE_NOTES.md Release 1.1.2: bump version and add release notes 2026-07-25 17:12:25 +00:00
settings.gradle Initial commit - Ashigaru Terminal project 2025-06-23 06:44:39 -05:00
sparrow Initial commit - Ashigaru Terminal project 2025-06-23 06:44:39 -05:00
sparrow.bat Initial commit - Ashigaru Terminal project 2025-06-23 06:44:39 -05:00
ssl-workaround.gradle Revert to maven.ecs.soton.ac.uk with SSL bypass init script 2026-03-21 12:55:56 +00:00
TESTING.txt Stop mixing on wallet delete and fix stuck mix button 2026-07-25 23:28:38 -05:00

Ashigaru Desktop

A graphical Bitcoin wallet and desktop GUI front-end for Ashigaru Terminal, providing a full Whirlpool coinjoin experience.


2026-07-25_12-10

Features

  • Whirlpool coinjoin — Tx0, zeroleak coinjoin, Premix/Postmix/Badbank account management
  • Tor — built-in Tor support for network privacy
  • Mix To — Set to mix to an offline or different wallet
  • Receive Only — Decreases attack surface (spend is done on mobile)
  • Import/Export Labels — Transport your labels to any BIP-329 adhering wallet software
  • BIP47 Message Verifier — Verify that a message was signed by a specific entity
  • PepeHash PayNym Integration — BIP47 based transactions include the corresponding pepehash avatar in their transaction card for easy identification
  • Whirlpoolstats.xyz Tool — Want to know the latest Tx0? Pool totals? Unspent Capacity? It's all available as a tool now h/t to Black Coffee.
  • AmIExposed or BitHypha UTXO analysis — Do analysis on your own UTXO's
  • Dojo Bay Integration — Connect to geographically dispersed electrum servers with BIP47 Verified reputations.

Future Features

  • Eigenwallet Integration — Post bad bank funds for atomic swap into XMR
  • Dojo Integration — Get all the benefits of Dojo such as Nextblock estimates, personal electrum server detail and more

Download

Pre-built binaries for every platform are published on the Releases page.

Platform Package Min OS Notarized
Windows .exe installer, .msi Windows 10
macOS (Apple Silicon) Ashigaru-X.Y.Z-aarch64.dmg macOS 11.0 No, ad-hoc signed
macOS (Intel) Ashigaru-X.Y.Z-x86_64.dmg macOS 11.0 No, ad-hoc signed
Linux (desktop) .deb, .rpm, .tar.gz, .AppImage
Linux (headless / server) ashigaru-server .deb, .rpm

Each release also includes SHA256SUMS, MESSAGE.txt, and RELEASE-BIP47-SIGNATURE.txt for verification.

macOS installation

Requires macOS 11.0 (Big Sur) or later. macOS builds are ad-hoc signed but not Developer ID signed or notarized. On macOS Ventura and later, Gatekeeper is stricter for quarantined, non-notarized apps downloaded from the internet — ad-hoc signing alone does not satisfy trust requirements, and you may see "damaged and can't be opened" or a blocked launch. This can also indicate a bad signature or packaging issue, so verify the file hash first (see Verifying a release below).

If the hash checks out, two options:

Option A — Remove quarantine (recommended for nightly builds):

  1. Mount the DMG
  2. Copy Ashigaru.app to /Applications
  3. Open Terminal and run:
xattr -rd com.apple.quarantine /Applications/Ashigaru.app
  1. Open normally

If you already copied it to Applications:

xattr -rd com.apple.quarantine /Applications/Ashigaru.app

Option B — Open Anyway via System Settings:

After a blocked launch attempt, go to System Settings → Privacy & Security and click Open Anyway next to the Ashigaru entry.

Developer ID signing and notarization require an Apple Developer Program account. Current macOS packages are ad-hoc signed only, which is common for open-source desktop applications distributed without a paid Apple license.


Verifying a release

Every release is signed by the maintainer using the private key for the notification address derived from the Ashigaru release-signing BIP47 Payment Code. This lets users verify that the release message was signed by the owner of the payment code, without exposing private keys.

Release signing identity

PM8TJM51x2mDd85CzEgVc2y7vdyB3eBj93JVjVtCt6PZtmfzhFzYPMXYBXh28zthWhVKGjVQZPT1MKxGxEtfenLYEkuc5GhoWtMzQCF8c8mrckYFM7r1

Step 1 — Verify the file hash

sha256sum -c SHA256SUMS --ignore-missing

Confirm the downloaded binary appears as OK.

Step 2 — Verify the hash commitment in MESSAGE.txt

sha256sum SHA256SUMS

Compare the output against the SHA256(SHA256SUMS): ... line inside MESSAGE.txt. They must match.

Step 3 — Verify the Bitcoin message signature

Open RELEASE-BIP47-SIGNATURE.txt. The file contains the release signing payment code, PayNym, and a base64 Bitcoin message signature. Verify using Ashigaru Mobile or a BIP47 message verifier such as https://paymentcode.io/lab with:

  • Payment Code: the release signing payment code above
  • Message: the exact contents of MESSAGE.txt
  • Signature: the base64 value from RELEASE-BIP47-SIGNATURE.txt

The verifier derives the notification address from the payment code and checks the Bitcoin message signature against that address. Make sure the payment code in RELEASE-BIP47-SIGNATURE.txt matches the payment code published here.


Build from source

Requires JDK 21 (Temurin recommended).

git clone --recursive https://github.com/linkinparkrulz/ashigaru-desktop.git
cd ashigaru-desktop
./gradlew jpackage

The packaged application is written to build/jpackage/.

Additional distribution archives can be built with:

./gradlew packageZipDistribution packageTarDistribution

On Linux, an AppImage can be built with:

./gradlew packageAppImage

The AppImage task downloads appimagetool from the official AppImageKit continuous release and writes the package to build/distributions/.

For proving reproducibility, see docs here.


Software license:

Ashigaru Terminal is released under the Free and Open Source license GNU GPLv3.

Declaration as per Apache v2.0, section 4: Ashigaru Terminal has been forked from/build upon Sparrow wallet Source Code, v1.8.4 released 7th March 2024. Additionally the Sparrow wallet Source Code for Nightjar library, including commits up to and including 14th Feburary 2024, has been imported as a module directly into this Ashigaru Terminal code repository. Original source code was released under license Apache v2.0, and changes/modifications under this Ashigaru Open Source Project code repository are done so under the GNU GPLv3 license.