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.

Security Center

Signature Requests: Understand Message and Transaction Signatures

A signature proves account authorization with a private key, but different signatures can produce very different consequences. Review the requester, content, network and intended result before confirming.

On this page
Message signatures differ from transaction signaturesDo not approve a signature you cannot explainSignatures can lead into approvals or contract actionsReduce malicious-signature risk

Message signatures differ from transaction signatures

Message signatures often support authentication or statements, while transaction signatures can submit transfers or contract calls; the request type should be clearly distinguished. A signature uses account keys to authorize a message or transaction, so the object and consequence of a request matter more than the familiarity of the confirmation button. For “Message signatures differ from transaction signatures,” first identify whether the relevant fact belongs to the local wallet interface, the selected network, or a contract permission. That distinction prevents an interface message from being mistaken for a final on-chain result.

Before confirming, review the domain, account, network, contract or recipient and any approval amount. If the purpose of the request cannot be explained, declining it is safer than treating connection as ongoing consent. In the context of “Message signatures differ from transaction signatures,” use a consistent order: establish the account and network, inspect the specific address, contract or request parameters, and only then authorize an action that can move assets or create permissions. When an interaction is finished, disconnect sessions that are no longer useful and review persistent approvals periodically. Revoking an old approval cannot undo a past transaction, but it can remove an unnecessary future permission.

Within “Message signatures differ from transaction signatures,” a connection is only a session and does not pre-authorize asset actions. A message signature may prove account control, a transaction signature can change on-chain state, and a token approval can create persistent contract permissions; each deserves its own review.

  • Verify the DApp domain and request source
  • Distinguish connection, signing, transactions and approvals
  • Inspect the contract or spender and permission scope
  • Disconnect and review permissions when no longer needed

Common mistakes and a better sequence

If “Message signatures differ from transaction signatures” behaves differently from expected, record the active network, account, requester and any transaction hash, then eliminate possible causes one at a time. Do not keep signing, approving or sending assets merely to repair an issue that has not yet been identified.

Do not approve a signature you cannot explain

If the content is unreadable, the source is unknown or the request is unrelated to your intended action, stop and verify the DApp domain and feature instead of relying on a “safe signature” label. A signature uses account keys to authorize a message or transaction, so the object and consequence of a request matter more than the familiarity of the confirmation button. For “Do not approve a signature you cannot explain,” first identify whether the relevant fact belongs to the local wallet interface, the selected network, or a contract permission. That distinction prevents an interface message from being mistaken for a final on-chain result.

DApp requests should be separated into account connection, message signing, transaction submission and token approval. They may appear consecutively, but their permissions and on-chain effects are different. In the context of “Do not approve a signature you cannot explain,” use a consistent order: establish the account and network, inspect the specific address, contract or request parameters, and only then authorize an action that can move assets or create permissions. Before confirming, review the domain, account, network, contract or recipient and any approval amount. If the purpose of the request cannot be explained, declining it is safer than treating connection as ongoing consent.

Within “Do not approve a signature you cannot explain,” a connection is only a session and does not pre-authorize asset actions. A message signature may prove account control, a transaction signature can change on-chain state, and a token approval can create persistent contract permissions; each deserves its own review.

  • Verify the DApp domain and request source
  • Distinguish connection, signing, transactions and approvals
  • Inspect the contract or spender and permission scope
  • Disconnect and review permissions when no longer needed

Building the check into routine use

If “Do not approve a signature you cannot explain” behaves differently from expected, record the active network, account, requester and any transaction hash, then eliminate possible causes one at a time. Do not keep signing, approving or sending assets merely to repair an issue that has not yet been identified.

Signatures can lead into approvals or contract actions

Some flows continue from a signature to an approval or transaction, so review each step independently rather than treating a sequence of pop-ups as one consent. A signature uses account keys to authorize a message or transaction, so the object and consequence of a request matter more than the familiarity of the confirmation button. For “Signatures can lead into approvals or contract actions,” first identify whether the relevant fact belongs to the local wallet interface, the selected network, or a contract permission. That distinction prevents an interface message from being mistaken for a final on-chain result.

When an interaction is finished, disconnect sessions that are no longer useful and review persistent approvals periodically. Revoking an old approval cannot undo a past transaction, but it can remove an unnecessary future permission. In the context of “Signatures can lead into approvals or contract actions,” use a consistent order: establish the account and network, inspect the specific address, contract or request parameters, and only then authorize an action that can move assets or create permissions. DApp requests should be separated into account connection, message signing, transaction submission and token approval. They may appear consecutively, but their permissions and on-chain effects are different.

Within “Signatures can lead into approvals or contract actions,” a connection is only a session and does not pre-authorize asset actions. A message signature may prove account control, a transaction signature can change on-chain state, and a token approval can create persistent contract permissions; each deserves its own review.

  • Verify the DApp domain and request source
  • Distinguish connection, signing, transactions and approvals
  • Inspect the contract or spender and permission scope
  • Disconnect and review permissions when no longer needed

Building the check into routine use

If “Signatures can lead into approvals or contract actions” behaves differently from expected, record the active network, account, requester and any transaction hash, then eliminate possible causes one at a time. Do not keep signing, approving or sending assets merely to repair an issue that has not yet been identified.

Reduce malicious-signature risk

Use trusted navigation, avoid remote-control sessions, verify the network and account, and review transaction history and new approvals afterward. A signature uses account keys to authorize a message or transaction, so the object and consequence of a request matter more than the familiarity of the confirmation button. For “Reduce malicious-signature risk,” first identify whether the relevant fact belongs to the local wallet interface, the selected network, or a contract permission. That distinction prevents an interface message from being mistaken for a final on-chain result.

When an interaction is finished, disconnect sessions that are no longer useful and review persistent approvals periodically. Revoking an old approval cannot undo a past transaction, but it can remove an unnecessary future permission. In the context of “Reduce malicious-signature risk,” use a consistent order: establish the account and network, inspect the specific address, contract or request parameters, and only then authorize an action that can move assets or create permissions. DApp requests should be separated into account connection, message signing, transaction submission and token approval. They may appear consecutively, but their permissions and on-chain effects are different.

Within “Reduce malicious-signature risk,” a connection is only a session and does not pre-authorize asset actions. A message signature may prove account control, a transaction signature can change on-chain state, and a token approval can create persistent contract permissions; each deserves its own review.

  • Verify the DApp domain and request source
  • Distinguish connection, signing, transactions and approvals
  • Inspect the contract or spender and permission scope
  • Disconnect and review permissions when no longer needed

A pre-confirmation review

If “Reduce malicious-signature risk” behaves differently from expected, record the active network, account, requester and any transaction hash, then eliminate possible causes one at a time. Do not keep signing, approving or sending assets merely to repair an issue that has not yet been identified.