MetaMask / MetaMask/metamask-extension

Sign user generated messages in Metamask

Open
#8,065 3 comments 5 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?**
Some wallets make it easy to sign messages within the wallet, instead of going to an external service.

Given that Ethereum libraries in particular offer a variety of signing methods. Having a full service wallet allow the user to initiate a signing request within its own GUI would be a nice feature to explore.

**Describe the solution you'd like**
The desired outcome is that was a menu option or button to sign a message, and that screen then allowing different signing protocols and then give the resulting message.

**Additional context**
Use cases:
When someone asks me to sign an address to prove ownership, with no further instructions. Then I can sign the address with arbitrary text inside of the wallet, and tell them the address and text I used and the signature so they can verify.

When a chat bot asks me to verify my address by signing it. The byteball chatbot asked this of bitcoin users for their airdrop back in mid 2017, and over $1 billion worth of addresses containing bitcoin signed up for it. Several classic bitcoin wallets like Electrum have the ability in app to sign messages, as it was considered a rudimentary cryptographic principle to expose to the users with their newfangled cryptographic money. In Ethereum world, the Cindicator chat bot verifies ownership to extend access to their chatbot this way too.

It is currently true that very few Ethereum wallets have in-wallet signing. It is fairly low hanging fruit though despite the lack of familiarity with signing amongst people I've talked with. (Many don't know they are signing messages even when dApps prompt them). For people outside of the Ethereum ecosystem, saying "download a convenient wallet by one organization, and then go to this other website that splintered between MyCrypto And MyEtherWallet to sign an address but its cool they're both safe, but only copy the 'sig' value in the key/value pair, no quotes" its a little jarring.

relates to the 2 year old #5018 , reposted for visibility and a potentially different community

Contributor guide

Open the contributing guide

Research direction

Start by reviewing related issue #5018 and the existing MetaMask signing flows. Identify which signing protocols and message or address inputs the wallet should support, then define the intended menu or button behavior. Done means the supported flows, user-facing result, and implementation scope are agreed.

Written by the indexing model from the issue text.

Assessment

Tech stack
blockchain, typescript
Domain
authentication, blockchain, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.