On this pageMessage Signatures: the core ideaTransaction Signatures: practical checksTyped-Data Signatures: verifying resultsReadable Details: risks and mistakesMalicious Signatures: making it routine
Important reminder

Seed phrases and private keys remain under the user’s control. imtoken personnel will never ask for a seed phrase, private key, or verification code. Check the address, network, and amount before transferring, and review the target and scope before approving permissions.

Message Signatures: the core idea

When working with Signature Requests, separate what an interface displays from what the network has actually recorded. message signatures usually defines the context of the action, while transaction signatures affects how the next step is interpreted. Read the required details from the wallet, then verify critical fields with a trusted network or destination source. Familiar branding or a claim of “official confirmation” is not a substitute for checking the target, network, and request yourself.

For message signatures, keep information review separate from the final confirmation. Identify the active account and network first, then verify the destination. If a third-party DApp or contract is involved, independently check the domain and contract source. Keep the transaction hash or related record after the action so you can revisit it in a block explorer. This does not remove every risk, but it makes the decision points explicit and avoids treating an interface message as the only source of truth.

Transaction Signatures: practical checks

In everyday use, transaction signatures and typed-data signatures often appear together, but they solve different problems. The fact that an action can be initiated does not prove that the network, destination, or permission scope is correct. Confirm the account and network first, review the address, contract, or request source second, and only then inspect fees and the final confirmation screen. If you cannot explain what a request will do, stop rather than repeatedly approving it to see whether it works.

For transaction signatures, keep information review separate from the final confirmation. Identify the active account and network first, then verify the destination. If a third-party DApp or contract is involved, independently check the domain and contract source. Keep the transaction hash or related record after the action so you can revisit it in a block explorer. This does not remove every risk, but it makes the decision points explicit and avoids treating an interface message as the only source of truth.

message signatures

Treat this as an independent check; do not skip it because the interface looks familiar or someone is urging you to act.

transaction signatures

Treat this as an independent check; do not skip it because the interface looks familiar or someone is urging you to act.

typed-data signatures

Treat this as an independent check; do not skip it because the interface looks familiar or someone is urging you to act.

Typed-Data Signatures: verifying results

After an action involving Signature Requests, use a transaction hash, block height, confirmation state, or contract record to verify what happened. Wallet status can lag because of node synchronisation or interface caching, while on-chain records can show whether a transaction was broadcast, included in a block, or received enough confirmations. For approvals, also confirm that the spender and allowance match what you intended.

For typed-data signatures, keep information review separate from the final confirmation. Identify the active account and network first, then verify the destination. If a third-party DApp or contract is involved, independently check the domain and contract source. Keep the transaction hash or related record after the action so you can revisit it in a block explorer. This does not remove every risk, but it makes the decision points explicit and avoids treating an interface message as the only source of truth.

Readable Details: risks and mistakes

Typical problems include selecting the wrong network, pasting the wrong address, misunderstanding decimals or gas, assuming a message signature is harmless, or treating a DApp connection as permission for every later request. Actions involving readable details deserve separate review. On-chain transactions are generally not reversible by a wallet provider, and third-party DApps or contracts can carry technical, permission, and operational risk.

For readable details, keep information review separate from the final confirmation. Identify the active account and network first, then verify the destination. If a third-party DApp or contract is involved, independently check the domain and contract source. Keep the transaction hash or related record after the action so you can revisit it in a block explorer. This does not remove every risk, but it makes the decision points explicit and avoids treating an interface message as the only source of truth.

Risk note

On-chain transactions are generally not reversible by a wallet provider. Third-party DApps, smart contracts, bridges, and staking services can involve technical and operational risk.

Malicious Signatures: making it routine

A consistent checklist is more reliable than trying to remember warnings under pressure. Use the same sequence each time: confirm the account, network, target, amount or permission, fee, and final transaction hash. Keep seed phrases and private keys offline and never send them to anyone. Review permissions that are no longer needed. Treat malicious signatures as a routine closing check rather than something to do only after a problem appears.

For malicious signatures, keep information review separate from the final confirmation. Identify the active account and network first, then verify the destination. If a third-party DApp or contract is involved, independently check the domain and contract source. Keep the transaction hash or related record after the action so you can revisit it in a block explorer. This does not remove every risk, but it makes the decision points explicit and avoids treating an interface message as the only source of truth.