Skip to content


Repository files navigation


keycard is a command line tool to manage Status Keycards.


  • An USB smart card reader (those with contacts are more reliable than NFC readers).
  • On linux you need to install and run the pcsc daemon.


Download the binary for your platform from the releases page and rename the file to keycard, removing the platform specific suffix.

Continuous Integration

Jenkins builds provide:

  • PR Builds - Run only the test and build targets.
  • Manual Builds - Create GitHub release draft with binaries for 3 platforms.

Successful PR builds are mandatory.


Card info

keycard info -l debug

The info command will print something like this:

Installed: true
Initialized: false
InstanceUID: 0x
PublicKey: 0x112233...
Version: 0x
AvailableSlots: 0x
KeyUID: 0x

Keycard applet installation

The install command will install an applet to the card. You can download the status cap file from the status-im/status-keycard releases page.

keycard install -l debug -a PATH_TO_CAP_FILE

In case the applet is already installed and you want to force a new installation you can pass the -f flag.

Card initialization

keycard init -l debug

The init command initializes the card and generates the secrets needed to pair the card to a device.

PIN 123456
PUK 123456789012
Pairing password: RandomPairingPassword

Deleting the applet

⚠️ WARNING! This command will remove the applet and all the keys from the card. ⚠️

keycard-cli delete -l debug

Keycard shell

Check the _shell-commands-examples folder.