Skip to content

Add support for Satochip hardware wallet #9972

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

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

Conversation

Toporin
Copy link
Contributor

@Toporin Toporin commented Jun 20, 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 wallet is composed of a javacard applet that is to be loaded on the smartcard, and an Electrum client plugin that acts as the interface between the card and the network.

Using the new plugin architecture, it might be possible to add Satochip support through a plugin. However, I think this might still require to include some dependencies in the electrum core code:

  • pyscard python library (for smartcard communication)
  • libpcsclite-dev package (for smartcard support on linux)
  • Swig (for pyscard build on MacOS)

Your guidance is greatly appreciated!

This pull request updates and supersedes #8967.

More info:
https://github.com/Toporin/ (official repository)
https://pypi.org/project/pysatochip/ (pysatochip library)
https://prezi.com/p/mpq-xhh3mxjl/satochip-gent-meetup/ (Slides from previous meetups in Belgium)
https://t.me/Satochip (Telegram support)

Toporin and others added 24 commits March 20, 2024 09:41
Include new wizard Qt desktop client spesmilo#8560
WIP
TODO: build binaries, adapt qrcodewidget
In satochip plugin, a user can setup a 2FA using a qrcode.
The cancel button allows the user to cancel this action.
flake8 . --count --select="$ELECTRUM_LINTERS" --ignore="$ELECTRUM_LINTERS_IGNORE" --show-source --statistics --exclude "*_pb2.py,electrum/_vendor/"
./electrum/plugins/satochip/__init__.py:6:23: W292 no newline at end of file
available_for = ['qt']                      ^
1     W292 no newline at end of file
bitcoin.py/transaction.py: API changes: rm most hex usage

See also spesmilo@2f10955
Using:
$ ELECTRUM_LINTERS='E,F,W,C90,B'
Remove unused imports, variables & code
Close message dialog correctly when using 2FA
…-v4.6.x-0.12

# Conflicts:
#	contrib/deterministic-build/requirements-hw.txt
* add manifest.json for Satochip plugin
* move hw_wallet.py from plugins to electrum library
@Toporin Toporin changed the title Electrum satochip v4.6.0-0.12 Add support for Satochip hardware wallet Jun 20, 2025
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.

2 participants