MetaMask / MetaMask/metamask-extension

Remove account button and message is not always applicable to external accounts - e.g. Custodial Wallet

Open
#7,279 0 comments 0 reactions 0 assignees View on GitHub
type-enhancement
Dominant language
TypeScript
Stars
13.2k
Forks
5.6k
Avg merge
2d 5h
Merged PRs (30d)
451

Description

**What problem are you trying to solve?**

Remove account button is not applicable for external accounts belonging to custodial wallets. Removing them from MetaMask when integrated with TrustVault, for example, would simply hide it until the next time the user logs in.

Additionally, the message displayed is confusing to users as it mentions backing up accounts and getting private keys which is not applicable to custodial wallets.

**Describe the solution you'd like**

Add a property `isRemovable` on the keyring class to determine if a remove button should be shown or not to accounts belonging to that keyring class.

account-menu.component.js (105-106)

```
const { type, isRemovable } = keyring;
const isRemovable = type !== "HD Key Tree" || isRemovable
```

**Additional context**

TrustVault is a custodial wallet from Trustology (trustology.io). The wallet consists of an iOS App that is used to sign requests. We would like to integrate with MetaMask. We believe that adding support for Custodial wallets in MetaMask would be a great addition. We have prototyped a connection to TrustVault that works but we have a few suggestions for features.

Contributor guide

Open the contributing guide

Research direction

Start with account-menu.component.js around lines 105-106 and trace how keyring properties control account removal and the displayed message. Check the relevant keyring classes and account UI flow; done means custodial accounts do not show an applicable remove action or backup/private-key message, while removable accounts retain their existing behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, typescript
Domain
frontend
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.