Skip to content

chore: add Keycard Shell to the list of supported QR hardware wallets#36911

Merged
HowardBraham merged 11 commits intoMetaMask:mainfrom
bitgamma:add-keycard-shell
Feb 4, 2026
Merged

chore: add Keycard Shell to the list of supported QR hardware wallets#36911
HowardBraham merged 11 commits intoMetaMask:mainfrom
bitgamma:add-keycard-shell

Conversation

@bitgamma
Copy link
Contributor

@bitgamma bitgamma commented Oct 16, 2025

Description

This PR adds Keycard Shell to the list of supported QR hardware wallets. We have performed extensive tests between Keycard Shell and MetaMask and can confirm full compatibility.

Open in GitHub Codespaces

Changelog

CHANGELOG entry: Added Keycard Shell to the list of QR-based hardware wallets

Related issues

Fixes: N/A

Manual testing steps

  1. Add hardware wallet account
  2. Select QR-based
  3. See Keycard Shell in the list of wallets

Screenshots/Recordings

Before

After

Pre-merge author checklist

Pre-merge reviewer checklist

  • I've manually tested the PR (e.g. pull and build branch, run the app, test code being changed).
  • I confirm that this PR addresses all acceptance criteria described in the ticket it closes and includes the necessary testing evidence such as recordings and or screenshots.

Note

Low Risk
Low risk: this is primarily additive UI/content/config changes (new device name, links, and i18n strings) with no changes to signing, key management, or authentication logic.

Overview
Adds Keycard Shell to the QR hardware wallet selection flow, including new Buy Now and Tutorial outbound links and associated marketing event tracking.

Updates i18n (keycardShell in en/en_GB) and extends hardware wallet constants/enums to include the new device and affiliate URLs. Also adds Keycard Shell to the bug report issue template’s hardware wallet list.

Written by Cursor Bugbot for commit 54fced0. This will update automatically on new commits. Configure here.

@github-actions
Copy link
Contributor

github-actions bot commented Oct 16, 2025

CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes.

@metamaskbot metamaskbot added external-contributor INVALID-PR-TEMPLATE PR's body doesn't match template labels Oct 16, 2025
@bitgamma
Copy link
Contributor Author

I have read the CLA Document and I hereby sign the CLA

@metamaskbot metamaskbot removed the INVALID-PR-TEMPLATE PR's body doesn't match template label Oct 16, 2025
@bitgamma bitgamma marked this pull request as ready for review October 16, 2025 03:23
cursor[bot]

This comment was marked as outdated.

Akaryatrh
Akaryatrh previously approved these changes Nov 21, 2025
Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bug: Missing Keycard Shell in QrHardwareDeviceNames enum

The QrHardwareDeviceNames enum is missing a Keycard Shell entry, while the new code in select-hardware.js references it. All other QR wallet implementations use an entry from this enum for tracking, but Keycard Shell doesn't have a corresponding entry, creating an inconsistency in how device names are managed across QR hardware wallets.

shared/constants/hardware-wallets.ts#L59-L67

export enum QrHardwareDeviceNames {
Keystone = 'Keystone',
AirGap = 'AirGap Vault',
CoolWallet = 'CoolWallet',
DCent = 'DCent',
Ngrave = 'Ngrave',
ImToken = 'imToken',
}

Fix in Cursor Fix in Web


@hesterbruikman
Copy link

@Akaryatrh @owencraston can I request a re-review on this PR please? Just received my Keycard Shell and very eager to use it with Metamask! 🙏

Copy link
Contributor

@Akaryatrh Akaryatrh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@bitgamma can you remove changes done to locale files but the en and en_GB ones? (the others will be handled on our side by an external service)

Thanks in advance 🙂

@bitgamma
Copy link
Contributor Author

@bitgamma can you remove changes done to locale files but the en and en_GB ones? (the others will be handled on our side by an external service)

Thanks in advance 🙂

@Akaryatrh done!

Copy link
Contributor

@Akaryatrh Akaryatrh left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM 👍

@bitgamma
Copy link
Contributor Author

bitgamma commented Feb 4, 2026

anything else to be done to get this merged?

@HowardBraham
Copy link
Contributor

Oops, there is an issue here blocking PRs from external contributors, I'll work on it.

@HowardBraham HowardBraham added this pull request to the merge queue Feb 4, 2026
Merged via the queue into MetaMask:main with commit 9fc979f Feb 4, 2026
172 checks passed
@github-actions github-actions bot locked and limited conversation to collaborators Feb 4, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants