Hello,
This is my very first thread on Stacker.news.
Even if the topic is about a brand, it's in no way a promotion for said product. On the contrary, it highlights the free, open-source nature of the solution, as well as the latest technological advances of the device.
IntroductionIntroduction
Let me introduce you to the Satochip hardware wallet—an EAL6+ certified smartcard equipped with NFC, designed to act as a signing device for Bitcoin and Nostr events.
Why smartcards?Why smartcards?
Smartcards offer several advantages:
- Affordable and widely available;
- Dual interfaces - contactless (NFC) and contact (Chip);
- Minimal electronics, reducing the attack surface;
- Secure Element (SE)-based for enhanced security.
What makes Satochip unique.What makes Satochip unique.
Satochip stands out because it is 100% open-source. You can build your own signing device in under 10 minutes for just a few dollars.
Additionally, this signing device has been natively supported by Sparrow Wallet since version 1.8.0.

Satochip appletSatochip applet
The latest beta Satochip applet is available on Toporin's official Github.
This release comes with:
- Schnorr signature support for Taproot (to be used with Sparrow-Satochip wallet)
- Schnorr signature support for Nostr (no key tweaking)
How to use it - BitcoinHow to use it - Bitcoin
As said previously, if you build your own hardware wallet, you will be able to use it with Sparrow Wallet out of the box to sign your Bitcoin transaction. PIN code protected and BIP32/BIP39 compliant and can also be used in a multi-sig setup.
How to use it - SchnorrHow to use it - Schnorr
Schnorr signatures can be tested using Pysatochip v0.15.3 command line interface:
- Import a private key on keyslot #0:
python3 satochip_cli.py --verbose satochip-import-privkey --keyslot 0 --privkey aabbccddeeff00112233445566778899aabbccddeeff00112233445566778899
- Get the corresponding publick key:
python3 satochip_cli.py satochip-get-pubkey-from-keyslot --keyslot 0
- Sign a hash with Schnorr on this keyslot:
python3 satochip_cli.py satochip-sign-schnorr-hash --hash 796962c8f2a7b8540f818cbe37d2894b1ab4b71bccddced12e2a4dc11d8802c3 --keyslot 0
How to use it - NostrHow to use it - Nostr
You can sign a Nostr message then broadcast it using a specific command:
python3 satochip_cli.py --verbose satochip-sign-nostr-event --keyslot 0 --message "Just discover Satochip and it's f*ck*ing great!" --kind 1 --broadcast
Build your own signing smartcardBuild your own signing smartcard
Grab a compatible JavaCardGrab a compatible JavaCard
Navigating the Javacard ecosystem can be difficult... There are many different configuration options that are available, even within the same chipset. For example, while there are multiple Javacards that use the NXP JCOP4 P71, it is generally the SECID versions that will work, whereas EMV versions will not.
Tested and working JavaCardsTested and working JavaCards
The following cards are readily available, tested and confirmed to work.
- NXP JCOP4 P71 SECID Based Javacards
- J3R110
- J3R180
- NXP JCOP3 P60 SECID Based Javacards
- J3H145
- THD-89 Based JavaCards (these currently don't work reliably with the official Satochip builds)
- CodeWav NFC Sticker Tag Micro Edition
- THETAKey T101
- THETAKey T104 (CodeWav-2 NFC Card)
Javacard features requiredJavacard features required
The list of tested cards above isn't exhaustive and generally speaking a Javacard needs to support the following features:
- Javacard 3.0.4 (Or higher)
- Support the following Functions
- javacard.security.KeyAgreement: ALG_EC_SVDP_DH_PLAIN, ALG_EC_SVDP_DH_PLAIN_XY
- javacard.security.Signature: ALG_ECDSA_SHA_256
- javacard.security.MessageDigest: ALG_SHA_256, ALG_SHA_512
- javacard.security.RandomData: ALG_SECURE_RANDOM
- javacardx.crypto.Cipher: ALG_AES_BLOCK_128_ECB, ALG_AES_BLOCK_128_CBC_NOPAD
RequirementsRequirements
You will need:
- OpenJDK version 8 +
- GlobalPlateform, the tool needed to flash the card
- A generic smartcard reader
- The Satochip applet file
Download OpenJDKDownload OpenJDK
On WindowsOn Windows
You can download OpenJDK 8 here
Once downloaded, you can install it with all the defaults.
On LinuxOn Linux
sudo apt install openjdk-8-jdk
Download the Satochip appletDownload the Satochip applet
Grab the Satochip Applet on the official Github repository
Flash the applet to the JavaCardFlash the applet to the JavaCard
This repository includes a release of GlobalPlatformPro which can be used to flash the applets.
GlobalPlatformPro requires a working installation of Java, so if you didn't install Java at an earlier step, you need to do that before proceeding...
To flash the applet using the default AIDs (which is required to work with existing Satochip compatible software) you can use the following commands.
On WindowsOn Windows
gp.exe --install ./ SatoChip-v0.14-0.2.cap
On LinuxOn Linux
java -jar gp.jar --install ./ SatoChip-v0.14-0.2.cap
Applets can be uninstalled in the same way using the --uninstall command.
ConclusionConclusion
Satochip represents the perfect blend of open-source philosophy, affordability, and security. By leveraging widely available JavaCards, it makes secure, hardware-based cryptographic signing accessible to everyone.
Whether you're using it as a multi-signature Bitcoin wallet, an affordable signing device, or a Nostr event signer, Satochip provides a versatile and trust-minimized solution.
With its 100% open-source codebase, anyone can audit, modify, or even build their own signing smartcard in minutes—ensuring full transparency and complete user control. As the ecosystem evolves, the Satochip community continues to push the boundaries of security and self-sovereignty in Bitcoin and beyond.
The tools are here. The code is open. The possibilities are endless. 🚀
I like the price! Will have to try it out.
Thanks!
For the more adventurous, you can find compatible JavaCards for just a few dollars. However, be cautious—it's a bit of a jungle, and often the cards sold don’t actually meet the advertised specifications.
Is there a recommended retailer?
Avoid Alibaba. It's a jungle.
Satochip sells blank javacard - but not necessarily the cheapest. At least it works well with the default keys. Also selling the SIM-card form factor for a very small form-factor hardware wallet.
Here are a few reliable javacard version: J3R180, J3R200...
How smartcard!!
That's incredibly clever, I would have never considered using that method of signing for anything other than credit card purchases.
Smartcards are incredibly powerful yet often underrated! They can be used to securely store a variety of Bitcoin-related secrets, including your seed phrase, PIN code, and wallet descriptor. All of this data is safely stored within the secure element, and access to the memory is protected by a personal PIN code, ranging from 4 to 16 characters.
Interesting!
Would this work for example with the BoltCard?, it has an NXP NTAG 424 DNA chip.
I mention this because it's much cheaper at £4.99 compared to €25,00 per Satochip
I don't think so...
BoltCard is just a "dumb" card. The Sato one has all the cryptographic librairy needed to derive keys and sign txs.
Looks really interesting. I'd be really curious to see a walk-through video on it. Right now it's a little vague in my mind, as to how it all works.
And so this is the place to buy - https://satochip.io/product/satochip/? And the product would be this one:
https://satochip.io/product/card-for-diy-project/?
You are right for the product links!
As for the DIY Javacard, the process is straight forward.
Regarding the video, check this one: https://youtu.be/Y-bmiHC5PRk?feature=shared
Very high bar for a first post!
ℏ-post~~