Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Satochip NFC Hardware wallet support #251

Open
wants to merge 26 commits into
base: master
Choose a base branch
from

Conversation

Toporin
Copy link

@Toporin Toporin commented Feb 27, 2025

This is a pull request to add support for the Satochip hardware wallet.

The Satochip hardware wallet is based on a jacavard smartcard and is fully open-source.
The firmware uses a javacard applet that is loaded on the smartcard.
With native NFC (Near Field Communication) support, Satochip enables seamless interaction with mobile devices.

Satochip technical details

  • Platform: JavaCard 3.0.1-compliant smartcard with an EAL6+ secure element.
  • Key management: supports BIP39 seeds; private keys are derived and stored within the secure chip, never exposed externally.
  • NFC support: contactless communication via NFC, compatible with Android and iOS devices equipped with NFC readers.
  • Cryptographic capabilities: implements ALG_ECDSA_SHA_256 for Bitcoin signatures and optional Schnorr signature support (beta v0.14+) for Taproot and Nostr.

Advantages of Satochip

Here are the main advantages of the Satochip hardware wallet:

  • Security: private keys remain offline in a tamper-resistant chip, protected by a PIN code.
  • Mobile-friendly: NFC support for quick, contactless interaction with mobile devices.
  • Affordable: priced at approximately €25, Satochip offers a budget-friendly alternative.
  • Open-source: javacard applet is AGPLv3.
  • DIY: build a hardware wallet in a few minutes using widely available blank smartcards.
  • Portability: credit card-sized form factor is discreet, easy to carry, and durable.
  • Compatibility: with widely-used client Sparrow for Desktop use.

NFC Support

Hardware wallets have become the gold standard for securing Bitcoin, but they often lack mobile-friendliness, making everyday transactions cumbersome. NFC technology can bridge this gap and improve Bitcoin adoption by enhancing convenience without compromising security.

There are a few players in the Bitcoin hardware wallet NFC field such as:

  • Satochip — one of the pioneer in this segment;
  • TapSigner from Coinkite;
  • TwentyTwo — the very first to implement a large self-powered screen.

We tried to implement NFC integration in a simple and flexible way, making it easy to support additional NFC devices in the future. We are available to collaborate and ensure a smooth integration process while aligning with your standards. We are happy to discuss any aspects of the implementation, including UI considerations, integration details, or potential modifications, to make sure this solution fits seamlessly into Green Wallet. We can also provide samples for testing. Let us know how we can assist!

More info:
https://github.com/Toporin/ (Official repository)
https://x.com/satochip (X account)
https://t.me/Satochip (Telegram support)

@Toporin
Copy link
Author

Toporin commented Feb 27, 2025

Satochip integration screenshots:

Screen1
screen2
screen3
screen5
screen6
screen7
screen8

@Bastien-Satochip
Copy link

Video context - easy to setup:

Satochip x Green Wallet - Pair the hardware wallet over NFC
https://github.com/user-attachments/assets/cb8b5454-73c1-4350-a03b-c9590f49c610

Satochip x Green Wallet - Sign a transaction over NFC
https://github.com/user-attachments/assets/0cb8f194-f782-4869-993c-2efbc76988b8

@domegabri
Copy link
Contributor

@Bastien-Satochip can you set us up with some devices so we can test too?

@Bastien-Satochip
Copy link

Bastien-Satochip commented Mar 5, 2025 via email

@domegabri
Copy link
Contributor

Hey 👋 Yeah sure of course! How can I reach you?

[email protected]

@Bastien-Satochip
Copy link

Hey 👋 Yeah sure of course! How can I reach you?

[email protected]

Mail sent. Thank you!

@Toporin
Copy link
Author

Toporin commented Mar 10, 2025

FYI, we have added support for Liquid-Bitcoin in Satochip latest beta firmware, and updated the pull request.

@domegabri
Copy link
Contributor

domegabri commented Mar 11, 2025

@Toporin we are undergoing a large refactoring of the UI, we won't be able to test this properly for a bit. I will keep you up to date on our progress so that you can rebase your implementation once we are done

@Bastien-Satochip
Copy link

@domegabri : did you receive my mail?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants