You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
EPIC: Align all EVM Keyrings to a common Keyring API #5152
What is this about?
The Keyrings are among the application's most security-critical components. They manage private keys and enable seamless interaction with hardware wallets and other accounts.
However, the current keyring implementations suffer from architectural inconsistencies, outdated patterns, and technical debt, making them difficult to maintain, extend, and test. This has resulted in bugs, regressions, and blocked feature development, such as adding support for multiple Ledger devices.
The remaining work involves aligning all EVM native keyrings (HD, Ledger, Trezor, QR, and Lattice) to a standardized API, migrating non-TypeScript keyrings like HD to improve type safety and maintainability, and implementing bridges to enable comprehensive end-to-end testing.
Activity
@metamask/eth-hd-keyringto TypeScript accounts#92HDKeyringclass from@metamask/eth-hd-keyringshould implement theKeyringtype accounts#141TrezorKeyringclass from@metamask/eth-trezor-keyringshould implement theKeyringtype accounts#142LedgerKeyringclass from@metamask/eth-ledger-bridge-keyringshould implement theKeyringtype accounts#143QRKeyringimplementation accounts#144keyring-controllerto remove QR keyring methods #4341KeyringControllermethods that are not keyring-agnostic #5153initmethod accounts#145KeyringControllershould inferKeyringtypes based on builders #4366KeyringControllermethods #5155serializeanddeserializetype signature utils#128addNewKeyringshould not return the keyring instance #5371exalate-issue-sync commentedon May 14, 2026
Ajeet Dhaliwal commented: Follow up: Still relevant? Is accounts team doing this?