Keycard Shell is a modular, fully open-source, air-gapped hardware wallet that signs via QR codes (ERC-4527). It has a built-in keypad, display, and camera, optional USB (can be turned off), and uses removable Keycards for secure key storage and backups. Keycard is a BIP-32 HD wallet running on JavaCard with EAL6+ secure element. Supports BIP-39 and SLIP-39 seed phrases.
Platforms: as a hardware wallet.
Stage Progress
Security
Does the wallet warn the user about potential scams? UNRATED
Why does this matter?
Transactions in Ethereum are very difficult to reverse, and there is no shortage of scams. Wallets have a role to play in helping users avoid known scams ahead of the user making the transaction.
How is scam prevention evaluated?
When signing a transaction, does the wallet show transaction details clearly? PARTIAL
Why should I care?
Transaction legibility is a critical security feature for wallets that allows users to verify transaction details directly on their wallet's screen/window before signing. This verification step is crucial for preventing attacks where malicious software might attempt to trick users into signing transactions with different parameters than what they intended.
Without this, users are at the mercy of the app they are interacting with sending them a bad transactions, either because they have a bug, were hacked, or are malicious. Without a signer being able to verify if their transaction is correct, user should not send such a transaction.
Full transaction legibility implementations ensure that all relevant transaction details (recipient address, amount, fees, etc.) are clearly displayed on the wallet screen, EIP-712 message hashes, and decoded calldata, allowing users to make informed decisions before authorizing transactions.
How is a wallet evaluated for clearly showing what users are signing?
What can Keycard Shell do to make it easy for users to understand what they are signing?
Keycard Shell should implement the following improvements:
Calldata Decoding: Add on-device support for ZKSync token transfers, DeFi interactions (e.g., Aave), nested Safe transactions and complex nested multisend transactions
Transaction Details: Display Transaction nonce on the device
Data Extraction: Implement Hash display for verification to allow independent verification
Does Keycard Shell use a secure and efficient passkey verification library? UNRATED
Why does this matter?
Passkeys provide a secure and phishing-resistant way to authenticate users without relying on seed phrases. Using gas-efficient and well-audited libraries for verification is crucial both for security and cost-effectiveness.
P256 signature verification is computationally expensive on-chain, so using optimized libraries reduces transaction costs.
Some verification libraries have undergone multiple security audits while others may have fewer or no publicly available audits.
How is a wallet's passkey implementation evaluated?
Does Keycard Shell maintain an active bug bounty program with a clear disclosure and upgrade process for security issues? UNRATED
Why does this matter?
Hardware wallets manage sensitive cryptographic keys and access to users' funds, making them high-value targets for attackers. Bug bounty programs incentivize security researchers to responsibly discover and disclose vulnerabilities, rather than exploit them.
A well-structured bug bounty program:
- Provides clear guidelines for researchers to report vulnerabilities
- Offers appropriate rewards based on severity of findings
- Demonstrates a commitment to addressing security issues quickly
- Communicates transparently about discovered vulnerabilities and their resolution
Additionally, hardware wallets should provide upgrade paths for users when critical security issues are discovered, as these physical devices can't always be fixed with simple software updates.
How is a hardware wallet's bug bounty program evaluated?
Does Keycard Shell have a secure and transparent factory supply chain? UNRATED
Why does this matter?
Ensuring the security and transparency of the factory supply chain is vital to prevent tampering or compromise during manufacturing, packaging, and delivery. Users need confidence that the device they receive is genuine and hasn't been maliciously altered.
How is a factory wallet's supply chain evaluated?
Does Keycard Shell have secure and open firmware? UNRATED
Why does this matter?
Firmware security and openness are critical for user trust, resistance against attacks, and ensuring the device can be safely upgraded. Users need assurance that the code running on their device is authentic and hasn't been tampered with. Openness allows for independent verification and community audit.
How is a wallet's firmware evaluated?
Does Keycard Shell provide comprehensive user safety features? UNRATED
Why does this matter?
User safety features are crucial for ensuring users clearly understand the transactions and messages they are signing on their hardware device. This involves presenting information legibly (human-readable addresses/contracts/parameters), providing tools to verify raw data, offering risk analysis and transaction simulation, and preventing unintended actions.
How is a wallet's user safety evaluated?
How easy does the wallet make it to recover your account? UNRATED
Why does this matter?
What if you forget your seed phrase?
Self-custody is difficult and complicated for most normal users, relative to typical web2 accounts which often feature easy account recovery features. Moreover, losing one's seed phrase can be a devastating and irrecoverable financial loss. Some users avoid self-custody due to this concern.
Guardian-based recovery (also known as "Social recovery") helps make self-custody safe and practical for everyday users. Properly implemented, this keeps users safer while still providing the self-sovereignty benefits of self-custody in the day-to-day.
How is account recovery evaluated?
Privacy
Is your wallet address linkable to other information about yourself? UNRATED
Why does this matter?
How is wallet address privacy evaluated?
Can your multiple wallet addresses be correlated with one another? UNRATED
Why does this matter?
How is multi-address privacy evaluated?
Can you send and receive tokens without revealing your transaction history to others? UNRATED
Why does this matter?
Data posted on public blockchains like Ethereum is publicly available to everyone. This means that anyone can see your transaction history. You would not voluntarily post your bank statements or private purchase history online, yet this is what happens by default when transacting on public blockchains.
Many privacy solutions have emerged to solve this problem. However, to be actually usable by users, these solutions must be tightly integrated in wallets and easy to use. Walletbeat looks at whether wallets let users send, receive, and spend tokens privately by default.
How is token transfer privacy evaluated?
Does Keycard Shell protect user privacy at the hardware level? PASS
Why does this matter?
Hardware privacy ensures that the device itself does not leak sensitive user information (like IP address, public keys, or usage patterns) during setup, regular operation, or updates. This is distinct from the privacy features of the transactions created using the wallet.
How is a wallet's hardware privacy evaluated?
What can Keycard Shell do to improve its hardware privacy?
Self-sovereignty
Can you use the wallet without relying on its default provider for
interacting with the L1 chain?
UNRATED
Why does this matter?
Ethereum's design goes to painstaking lengths to ensure that users can run an Ethereum L1 node on commodity consumer-grade hardware and residential Internet connections, and use it for interacting with L1.
Running your own node gives you several important benefits:
- Privacy: Because the wallet can work directly on your own hardware with no outside dependencies, the wallet can query chain data without revealing private details (wallet address, IP address, etc.) to an external RPC provider.
- Integrity: Relying on an external RPC provider means that this provider may return incorrect data about the state of the chain, tricking you into signing a transaction that ends up having a different effect than intended. Your own L1 node will verify the integrity of the chain, so such attacks cannot occur when using a self-hosted node.
- Censorship resistance: Because an L1 node may broadcast transactions into a shared mempool directly to other nodes in the network, your transactions are not censorable by an external RPC provider that would otherwise act as an intermediary.
- No downtime: Because the L1 node is running on your own hardware, you are not at risk of losing funds or opportunities due to downtime from an external RPC provider.
However, these advantages only matter if wallet users can actually take advantage of them. Thus, wallets must allow users to use a self-hosted node for these benefits to be realized in practice, and must not critically depend on external services to perform basic L1 interactions such as balance lookups and sending tokens.
How is L1 provider independence evaluated?
Are you locked into this wallet?
Or can you permissionlessly import your Ethereum account into another wallet?
UNRATED
Why does this matter?
Question: What if a wallet's dev team walked away or turned evil one day?
One of Ethereum's core promises as an Internet upgrade is to avoid the possibility for user lock-in of web2. This is achieved by ensuring accounts are permissionlessly portable across wallets.
Ensuring that accounts remain portable avoids wallets becoming lock-in vectors in web3. Permissionless account portability also keeps the wallet ecosystem healthy through open competition.
How is account portability evaluated?
Can the wallet withdraw L2 funds to Ethereum L1 without relying on intermediaries? UNRATED
Why does this matter?
One of the core tenets of Ethereum is censorship resistance. This means that users must be able to reliably get transactions included onchain, without the ability for intermediaries to prevent this from happening.
This property is critical to ensure that all Ethereum participants are provided equal-opportunity, unfettered access to Ethereum, and to ensure that Ethereum is resilient to attackers that would want to prevent others from using Ethereum on such footing.
In order to uphold this property on Ethereum L2s, users must be able to force transactions to be included on L2 chains as well. Most L2s implement such functionality by allowing L2 transactions to be submitted on the L1, and enforcing that their sequencing logic must respect such L1 force-inclusion requests by including them on the L2 chain, typically within some fixed duration.
By verifying that the wallet supports L2 force-withdrawal transactions, this attribute verifies censorship resistance at both levels: L1 and L2.
How is transaction inclusion evaluated?
Can the wallet developer take over your account without your consent? UNRATED
Why does this matter?
The promise of crypto is to make your accounts and your funds truly yours. This is what is most commonly referred to when discussing "self-sovereignty".
The underlying property that makes an account truly yours is the inability for anyone other than yourself to act on your behalf or to take over your account without prior consent.
How is account unruggability evaluated?
Transparency
Does the user have the ability to avoid lock-in and freely audit,
modify, and redistribute the wallet's source code?
PASS
Why does this matter?
Free & Open Source Software (FOSS) licensing allows a software project's source code to be freely used, modified and distributed. This allows better collaboration, more transparency into the software development practices that go into the project, and allows security researchers to more easily identify and report security vulnerabilities. In short, it turns software projects into public goods.
How is source code license evaluated?
Is the source code for the wallet visible to the public? PASS
Why does this matter?
How is source visibility evaluated?
How is the wallet's development team funded? UNRATED
Why does this matter?
How is funding evaluated?
Does the wallet clearly display all transaction fees and their purpose? UNRATED
Why does this matter?
Fee transparency is crucial for users to understand the full cost of their transactions. Without clear fee information, users may be surprised by high transaction costs or hidden fees charged by the wallet.
Transparent fee disclosure helps users make informed decisions about when to transact and which wallet to use. It also builds trust between users and wallet providers by ensuring that all costs are clearly communicated upfront.
How is a wallet's fee transparency evaluated?
Does Keycard Shell have a strong reputation for reliability and transparency? UNRATED
Why does this matter?
A manufacturer's reputation reflects its track record in product design, long-term availability and support, handling of vulnerabilities, and engagement with the security community. A strong reputation builds user trust in the reliability and security of the hardware wallet.
How is a wallet's reputation evaluated?
Ecosystem
Is the wallet Account Abstraction ready? UNRATED
Why does this matter?
User experience on Ethereum has historically suffered from the limitations of Externally-Owned Accounts (EOAs), which is the type of account most Ethereum users use today. By contrast, smart wallet accounts offer many UX and security improvements, such as the ability to:
- Batch multiple transactions, removing the need for separate "token approval" transactions before every other token operation.
- Pay gas fees in other tokens than Ether, or support sponsored transaction fees (with ERC-4337: Account Abstraction for smart contract wallets)
- Delegate some operation to trusted provider, such as allowing onchain games to withdraw small amounts of tokens without signing pop-ups for each and every transaction.
- Change transaction authorization logic, enabling the use of Passkeys (and cellphone authentication methods) for signing transactions.
- Update the set of keys used to control the wallet, enabling the switch to quantum-resistant encryption algorithms in the future.
- Define account recovery rules, reducing the risk of losing access to your account when losing a private key or a device.
However, smart wallet accounts have historically been an all-or-nothing, wallet-specific proposition for users. There was no transition path to such wallets.
As part of the Pectra upgrade, EIP-7702: Account Abstraction via smart contract authority delegation fixes this problem. It create a clean path for existing EOAs to obtain all the UX benefits of smart wallet accounts and account abstraction, without the need for users to switch to a different account address. This represents a large User Experience upgrade for all Ethereum EOA users.
How is account abstraction support evaluated?
Can you send funds to human-readable Ethereum addresses? UNRATED
Why does this matter?
Ethereum addresses are hexadecimal strings (0x...) which are
unreadable to humans. Phishing scams and exploits have used this to
trick users into sending funds to invalid addresses, for example by
generating lookalike-addresses and tricking users into copy/pasting
them without noticing the difference.
Additionally, Ethereum's transition to layer 2 chains has changed user needs when sending funds. The hexadecimal address isn't sufficient anymore; the user needs to ensure that they are sending funds to the correct hexadecimal address on the correct chain, increasing the potential for mistakenly sending funds to the wrong place or the wrong chain.
Address naming registries like ENS partially solve this problem by
allowing more human-readable names like username.eth to be
automatically turned into the hexadecimal address. This is easier to
share and to accurately transfer by humans. Additionally, some address
format standards improve upon this further by including the destination
chain information as part of the address itself. Such standards include:
- ERC-7828 Chain-specific addresses using ENS:
user@l2chain.eth - ERC-7831 Multi-chain addresses:
user.eth:l2chain
Wallets that support either of these standards are able to automatically determine the destination address and chain from a human-readable string, and can bridge funds across chains as appropriate. This improves the user experience of Ethereum and its layer 2 ecosystem while reducing the potential for mistakes when sending funds.
How is address resolution evaluated?
Does Keycard Shell work well with independent wallets and avoid supplier linkage? PASS
Why does this matter?
Interoperability ensures the wallet can be used with independent wallets and does not leak identifying metadata to the supplier.
How is a wallet's interoperability evaluated?
What can Keycard Shell do to improve its interoperability?
Can the hardware wallet connect to web3 applications? UNRATED
Sources (3)
keycard.tech
Blog announces ERC-4527 + BC-UR support; lists MetaMask, Rabby, imToken, Bitget, UniSat, Nunchuk, Sparrow, Specterkeycard.tech
Compatible wallets list pageget.keycard.tech
Marketing page lists transaction signing with MetaMask, imToken, Rabby, Bitget, UniSat, Nunchuk, Sparrow, Specter
Why does this matter?
The ability to connect to web3 applications is crucial for hardware wallet users who want to interact with DeFi protocols, NFT marketplaces, and other Web3 services while maintaining the security of their private keys on a hardware device.
Hardware wallets must maintain an air gap for security while still enabling complex interactions. Connection methods significantly impact security and user experience.
Wallets with only proprietary closed-source solutions force vendor lock-in and trust in unverifiable software. Supporting standard protocols or popular wallet integrations offers users more choice and transparency.
How is a hardware wallet's app connection support evaluated?
Maintenance
Attributes
Does Keycard Shell have good maintenance practices? UNRATED
Why does this matter?
Good maintenance practices ensure the long-term usability, reliability, and physical durability of a hardware wallet. This includes the device's resistance to physical damage, the availability of repair information and parts, battery longevity and replaceability, and the manufacturer's warranty policy.