imtoken will never ask for your seed phrase, private key or verification code. Always review the address, network and request details before transferring, signing or approving.

Web3 & DApps

Signature Requests

Distinguish message signing, transaction signing and requests that may change permissions

Key principle

Verify network, address, permissions and request details independently. Never disclose a seed phrase, private key or verification code.

Security boundary

imtoken will not request or recover your private key. Third-party DApps and smart contracts can carry independent risks.

Understand the context

Understand the context is more useful when treated as part of a real operating flow rather than as isolated terminology. For distinguish message signing, transaction signing and requests that may change permissions, begin by confirming the current network and account, identify whether the request is reading data, signing a message, approving a contract, or submitting a transaction, and then verify the result through information that can be independently checked. In Signature Requests, concepts such as message signature, transaction signature, domain, amount, permission have different roles. Understanding those roles is more reliable than memorizing the position of interface buttons, because networks, contracts, and user interfaces can all change.From a troubleshooting perspective, difficulties with Signature Requests are often caused by missing context rather than a single control. Recording message signature, transaction signature, and domain before and after the action gives you a stable comparison. Never send a seed phrase, private key, or verification code to another person; legitimate support should not request those secrets. Confirmed on-chain transactions are generally not something a wallet can unilaterally reverse, so pre-transaction verification matters more than post-transaction recovery claims.

Practical check

When message signature and transaction signature appear in the same flow, confirm what each one controls and whether it matches the intended action. Where possible, compare the interface with the network record.

Verify the request

When working through verify the request, define the intended outcome before reading the detailed fields. In Signature Requests, message signature provides context, transaction signature helps identify the object or scope, and domain often helps verify state or result. Keep the wallet interface separate from the blockchain itself: the wallet displays information and initiates requests, while balances, transaction confirmation, and contract execution are maintained by the relevant network. Unexpected amounts, permissions, domains, networks, or contract details are reasons to stop and verify the source.From a troubleshooting perspective, difficulties with Signature Requests are often caused by missing context rather than a single control. Recording message signature, transaction signature, and domain before and after the action gives you a stable comparison. Never send a seed phrase, private key, or verification code to another person; legitimate support should not request those secrets. Confirmed on-chain transactions are generally not something a wallet can unilaterally reverse, so pre-transaction verification matters more than post-transaction recovery claims.

Practical check

When transaction signature and domain appear in the same flow, confirm what each one controls and whether it matches the intended action. Where possible, compare the interface with the network record.

Connecting a wallet is not blanket permission. Review each signature and approval as a separate decision.

Check the network record

Check the network record also becomes clearer when you compare before-and-after state. Recording the network, address, approval target, or transaction parameters before an action and then checking a transaction hash, contract address, or block explorer afterward makes it easier to distinguish a local display issue from a network-selection problem or an on-chain execution result. A previously successful flow does not guarantee that the next request is equivalent; gas conditions, network congestion, contract versions, and approval targets can all change.From a troubleshooting perspective, difficulties with Signature Requests are often caused by missing context rather than a single control. Recording message signature, transaction signature, and domain before and after the action gives you a stable comparison. Never send a seed phrase, private key, or verification code to another person; legitimate support should not request those secrets. Confirmed on-chain transactions are generally not something a wallet can unilaterally reverse, so pre-transaction verification matters more than post-transaction recovery claims.

Practical check

When domain and amount appear in the same flow, confirm what each one controls and whether it matches the intended action. Where possible, compare the interface with the network record.

Apply safer operating habits

Good practice around apply safer operating habits follows the principle of minimum necessary exposure and minimum necessary permission. Distinguish message signing, transaction signing and requests that may change permissions can touch several elements including message signature, transaction signature, domain, amount, permission, and each one should be reviewed separately. A familiar-looking page is not proof that a request is appropriate, and a successful connection does not make every later signature or approval safe. Unknown domains, unusually broad allowances, unexplained contracts, or mismatched networks are reasons to stop and investigate rather than repeatedly confirm.From a troubleshooting perspective, difficulties with Signature Requests are often caused by missing context rather than a single control. Recording message signature, transaction signature, and domain before and after the action gives you a stable comparison. Never send a seed phrase, private key, or verification code to another person; legitimate support should not request those secrets. Confirmed on-chain transactions are generally not something a wallet can unilaterally reverse, so pre-transaction verification matters more than post-transaction recovery claims.

Practical check

When amount and permission appear in the same flow, confirm what each one controls and whether it matches the intended action. Where possible, compare the interface with the network record.

Signature Requests checklist

Before completing an action related to Signature Requests, verify four layers: source and identity; account and network; the actual request such as value, gas, signature text, spender, allowance, or contract method; and the resulting network record. Keep the transaction hash when one exists and use a block explorer when independent verification is useful. Stop if any layer contains information you cannot explain. Third-party DApps and smart contracts can carry independent risk, unused approvals may deserve revocation, and sensitive activity should be minimized on public devices or untrusted networks.

Practical check

When permission and message signature appear in the same flow, confirm what each one controls and whether it matches the intended action. Where possible, compare the interface with the network record.

Risk reminder

On-chain transactions are generally not reversible by the wallet alone. Third-party contracts may fail or behave unexpectedly, fees and confirmation times can change, and digital-asset prices can fluctuate. Make decisions according to your own circumstances.