This guide gets you from a blank card to a working development setup: initializing a Keycard, reinstalling applets for testing, and knowing which card hardware the applet runs on. Keycard ships with pre-installed applets, ready for initialization.
For developers, the recommended path is Keycard CLI with a USB reader: it exposes every applet command, handles initialization, credential changes, key management and pairing-slot cleanup, and the repository contains example scripts for common workflows.
For end-users, any wallet that integrates Keycard directly will handle initialization in-app — currently Status mobile (NFC), Status desktop and Sparrow (USB reader); see the full list.
Keycard applets are pre-installed. In some cases you might want to reset the applet status completely for testing purposes. This is done by reinstalling the applet, which can be accomplished using the Keycard CLI. To use the Keycard CLI, a USB reader is needed to be able to communicate with the card. The repository contains example scripts for applet reinstallation.
The Keycard applet can be installed not only on our cards, but on any JavaCard that supports the required cryptographic algorithms — see the up-to-date list in the status-keycard README. All allocations, instantiations and checks are performed at installation time, so if installation succeeds, the applet will work fine.
After initialization, verify the firmware by checking the applet version via Keycard CLI. Ensure it matches the latest release (e.g., 3.1) on GitHub.