How to Sign a Message on Ethereum
You can use Etherscan or MyCrypto.com to write and sign a message that proves your account ownership.
Key Takeaways
-
Message signing allows wallets to run unique verifications by putting a cryptographic stamp on a message. Other wallets can decode the information if they meet the requirements to decode the message.
-
Signed messages have a signature hash which is unique for each message and is used to locate the message on the blockchain.
-
You can sign a message through third-party apps like Etherscan or MyCrypto.com.
If you’re a DeFi enthusiast, you’ve almost definitely signed a message from your wallet to prove wallet ownership. Many decentralized finance applications incorporate the message signing process as the first action to be taken by every new user, and this is repeated after the initial signing has expired. Learn why signing a message serves an important purpose for the application you are interacting with.
Why Is Signing a Message Important?
Cryptocurrency wallets have one recognized owner – the person who holds the wallet’s private key. This is because private keys are required for any transaction to be sent to the network and mined into a new block.
Applications built to interact with blockchain networks like Ethereum use smart contracts to automate certain actions and package them into simple prompts that require a one-click approval from wallet owners. This in turn assumes that anyone interacting with the platform must then be the rightful owner of the wallet.
Applications like these get proactive by querying ownership of the interacting wallet before allowing access to their application. To do this, the wallets are required to sign a message.
The message signing procedure is straightforward; the wallet owner puts a cryptographic stamp on a prepackaged message while the application decodes the message to ascertain whether the message was signed by the wallet in question. This is done away from the virtual machine or the core network and therefore does not incur any expenses.
When a wallet signs a message, it produces a signature hash. This is a vital checkpoint in the message signing and message verification process.
For example, before transferring cryptocurrencies from a centralized exchange to a non-custodial software wallet, you may be required to sign a message and submit the signature hash to prove ownership of your wallet before the transaction can be processed.
But what is a signature hash?
What Is a Signature Hash?
A signature hash is a string of characters, it looks like the usual hash for transactions on the blockchain. Each signature hash is unique to every signed message. Relative to normal transaction hashes, a signature hash is significantly longer.
Signature hashes point to a specific signed message on the blockchain, and message verification tools input the signature hash while verifying a message to retrieve the particular message and decode its details using the verifying wallet’s public key.
How to Sign a Message With Etherscan
Etherscan is a leading blockchain explorer for Ethereum and several other EVM blockchains. Apart from tracking assets and transactions, you can also sign and verify messages using EtherScan.
To use the EtherScan message signing application, visit the Verified Signatures application. On the landing page, you can see recently signed messages, and their details.
Step 1: Click Sign Message
To sign a message, click Sign Message from the dashboard. Follow the prompt to connect your wallet – MetaMask and CoinBase wallets are supported. You can also connect any other supported wallet using WalletConnect.
Step 2: Enter the Message
With your wallet connected, enter the message you wish to send and click Sign Message. This triggers a prompt to be sent to your wallet. Click Sign to approve the message.
Now your message has been signed. The next page shows every detail of your message, including the signature hash. You can make the message public by clicking Publish.
Publishing your message makes it possible to access them via a public URL.
I published the message above, you can access it here
Verifying a Signature on Etherscan
Click Verify Signature to verify a message. Input the required message. You can privately verify the message or publish and make it public after verification. Select a desired action and click Continue.
The next page confirms if the message is verified.
How to Sign a Message With MyCrypto.com
MyCrypto.com enables cryptocurrency enthusiasts to unify all their Ethereum accounts on one platform. One of the facilities on the platform is the message signing and verification tool. Let’s explore how you can use this tool.
Step 1: Look For Tools and Click Sign Message
Visit MyCrypto.com. On the landing page, Hover over Tools from the top menu and click Sign Message.
Step 2: Connect Your Wallet
Select a desired wallet to connect. MetaMask, Ledge, Trezor, and GridPlus wallets are supported. You can also connect using WalletConnect
Step 3: Enter the Message
Enter the message you wish to send and click Sign Message to complete, which triggers a prompt from your wallet. Click Sign to approve the signature request.
Verifying a Message on MyCrypto.com
To verify a message on Mycrypto.com, navigate to the verification page and input the details of the message according to the placeholder syntax. Click Verify Message to verify, and the address of the signing wallet is indicated.
Can I Sign a Message With MetaMask?
While MetaMask doesn’t have an obvious message signing feature, you can use the MetaMask wallet to connect to web3 platforms and sign messages directly from your wallet as seen in the above sections.
However, MetaMask also has a work-through for generating digital signatures for messages and also to request a signature from a client. But this procedure isn’t as straightforward as connecting to a platform that handles the most technical aspects of signing messages. MetaMask’s message signing feature is better detailed here.
Final Thoughts
If you can send a message across the blockchain in the fashion explained throughout this article, one thing is certain; you have completely proven ownership of the wallet from which you signed the message. Anyone at the other end will be able to verify this action at will. The message transferred in this fashion is completely discreet, provided both keys remain with the due owners. It creates a system that alludes to the zero-trust architecture, a virtue held highly by blockchain technology itself. This procedure takes nothing off the checkbook since it attracts zero financial consequences.
While signing a message is almost completely harmless, the possibility of being used by malicious applications to gain access to individual wallets or being utilized for a similar goal still exists. It is recommended that you verify the authenticity of any platform before signing a message from them. Also, note that this article is only educational and not financial advice.