MetaMask / MetaMask/core

EPIC: Align all EVM Keyrings to a common Keyring API

Open
#5,152 1 comment 0 reactions 0 assignees View on GitHub
Epic team-wallet-framework wf-keyring
Dominant language
TypeScript
Stars
413
Forks
308
Avg merge
1d 4h
Merged PRs (30d)
253

Description

**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.

**Primary Outcome/Benefits**

- Enhanced Security: Robust Keyrings reduce vulnerabilities.
- Improved Maintainability: Standardized API and TypeScript simplify updates.
- Faster Feature Development: Unblocks features like multiple Ledger devices.
- Better Testability: End-to-end testing reduces bugs and regressions.
- Consistent Architecture: Unified Keyring implementations improve usability.
- Higher Code Quality: TypeScript migration ensures type safety.
- Seamless User Experience: Stable, reliable interactions with accounts and wallets.

This EPIC is intended as an index for all the work needed to reach this goal.

Contributor guide

No contributing guide indexed for this repository

Research direction

This is an epic and index rather than a self-contained task, and it names no files or tests. Begin by reviewing the HD, Ledger, Trezor, QR, and Lattice keyring implementations and their current APIs. The overall work is done when the native EVM keyrings share a standardized API, HD is migrated to TypeScript, and bridges support end-to-end testing.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
cryptography, security
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.