Message signing allows you to use your wallet's private key to cryptographically sign a message. It allows you to prove to a third party that you own a wallet address without sending an on-chain transaction. It is commonly used for account verification, address verification, DApp login, and similar scenarios.
Starting from imToken v2.21.0, imToken supports message signing for ETH, including Layer 2 and EVM-compatible networks, as well as BTC.
Guide
How to sign an ETH message
- Open imToken and switch to the ETH account, or EVM-compatible network account, that you want to use for signing.
- On the account homepage, tap the “>” button to enter the account details page, then tap Sign message.
- Enter the message you need to sign, and carefully check the wallet address and message content.
- After confirming that everything is correct, tap Next and complete the signature.
- Once the message is signed, tap Copy to copy the signature result and submit it to the verifier, or return to the original page to continue the verification process.
How to sign a BTC message
- Open imToken and switch to the BTC account that you want to use for signing.
- On the account homepage, tap the “>” button to enter the account details page, then tap Sign message.
- Enter the message you need to sign, and select the signature format required by the verifier.
Tip: imToken supports the following three BTC message signing formats:
- Standard: A traditional message signature format. It is suitable for platforms that only support the legacy Bitcoin Signed Message verification flow.
- BIP-137: An extension of the traditional format that supports additional Bitcoin address types. It is suitable for hardware wallets such as Trezor and Ledger, and for platforms that explicitly require BIP-137.
- BIP-322: A more general message signing scheme. It is suitable for platforms that explicitly require BIP-322, or scenarios that need broader address / script compatibility.
Note: If the verifier does not specify which format to use, please contact them first to confirm the supported format. Learn more: What Message Signing Formats Does BTC Support?
- Carefully check the wallet address, message content, and signature format. After confirming that everything is correct, tap Next to sign.
- Once the message is signed, tap Copy to copy the signature result.
FAQs
Q1. Do I need to pay a miner fee for message signing?
No. Message signing only uses your private key to sign a text message locally. It is not an on-chain transaction and will not be recorded on the blockchain.
Q2. Why did message verification fail on a third-party website?
Verification may fail for the following reasons. Please check them one by one:
- The account address does not match: Make sure the account address and network used for signing match the verifier’s requirements.
- The message content is different: Make sure the signed message is exactly the same as the required message. Spaces, line breaks, and capitalization errors can all cause verification to fail. We recommend copying and pasting the message directly.
- The signature format is incorrect: BTC supports multiple formats, including Standard, BIP-137, and BIP-322. If you select the wrong format, the verifier may not be able to recognize the signature. Please contact the verifier to confirm which format they support.
Q3. Are there any security risks in message signing?
Signing a plain text message is generally safe. However, malicious websites may trick you into signing a message as part of a phishing attempt or scam.
Before signing, make sure the request comes from a trusted platform, and carefully check the signing address and message content. If the message does not match what you expect, or if you cannot understand what it means, cancel the operation.