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.
imtoken Knowledge & Product Center

Approval Security

Assess long-lived permissions by checking approval targets, allowance size, contract origin and revocation options.

Start with the basics →
Core principle

Protect secrets and verify each request independently

Connection, signing, approval and transfer are different actions. Review the consequence of each one instead of assuming that a familiar website makes every request safe.

Offline protection of wallet recovery information

Understand approval targets and allowance size first

Many mistakes around “Understand approval targets and allowance size first” come from treating different actions as if they were equivalent. Approval Security may involve viewing information, signing a message, approving a contract, or broadcasting a transaction. Assess long-lived permissions by checking approval targets, allowance size, contract origin and revocation options. Identify what “Identify the real approval targets context” refers to, define the scope of “Distinguish allowance size from look-alike labels”, and decide whether “Do not skip the contract origin check” can change on-chain state.Security decisions should prioritize control of the account. Any request for a seed phrase, private key, recovery phrase, verification code, or remote-control access is an abnormal signal.

This distinction matters in multi-chain and Web3 use. The same address format does not prove that two networks share state, a token name does not identify a unique contract, and connecting a wallet does not automatically approve later signatures. Treat every new request as a separate decision and proceed only when it matches the action you intended to perform. In Approval Security, this check belongs specifically to “Understand approval targets and allowance size first”, so the conclusion should remain tied to the account, network, target, and permission discussed on this page rather than being copied from another workflow.

  • Identify the real approval targets context
  • Distinguish allowance size from look-alike labels
  • Do not skip the contract origin check

Check contract origin before you begin

The fastest way to make “Check contract origin before you begin” practical is to place it inside a real task. For Approval Security, define the objective first, review “Define the intended task first”, then inspect “Confirm that contract origin matches the plan”, and make “Cancel when the request looks unexpected” the final pre-submit check. Assess long-lived permissions by checking approval targets, allowance size, contract origin and revocation options. This sequence reduces mistakes caused by switching networks, accounts, or applications halfway through a workflow.

When a third-party DApp, smart contract, bridge, or service is involved, verify the domain source, contract target, and requested permission separately. Previous connections, messages from friends, and familiar visual design are not substitutes for those checks. On-chain transactions are generally not reversible by a wallet provider, so careful review before submission matters more than trying to repair an avoidable mistake afterward.Security decisions should prioritize control of the account. Any request for a seed phrase, private key, recovery phrase, verification code, or remote-control access is an abnormal signal. In Approval Security, this check belongs specifically to “Check contract origin before you begin”, so the conclusion should remain tied to the account, network, target, and permission discussed on this page rather than being copied from another workflow.

  • Define the intended task first
  • Confirm that contract origin matches the plan
  • Cancel when the request looks unexpected

Review persistent permissions during the action

Think of “Review persistent permissions during the action” as a set of boundary conditions rather than a single feature. Assess long-lived permissions by checking approval targets, allowance size, contract origin and revocation options. For Approval Security, determine whether “Review persistent permissions as its own decision” fits the current context, what “Read the on-chain details shown by the wallet” changes, and whether “Do not rely on button text alone” introduces additional fees, permissions, or waiting time.Security decisions should prioritize control of the account. Any request for a seed phrase, private key, recovery phrase, verification code, or remote-control access is an abnormal signal.

When several conditions are present, review the source, network, account, target, fee, and permission one by one. Any unexplained item is a valid reason to stop. For unfamiliar or higher-risk activity, reading the rules and verifying public data before attempting a smaller test can reveal configuration problems before they become expensive. In Approval Security, this check belongs specifically to “Review persistent permissions during the action”, so the conclusion should remain tied to the account, network, target, and permission discussed on this page rather than being copied from another workflow.

  • Review persistent permissions as its own decision
  • Read the on-chain details shown by the wallet
  • Do not rely on button text alone

Common mistakes and risks in Approval Security

Before acting on “Common mistakes and risks in Approval Security”, separate public diagnostic information from private control information. Assess long-lived permissions by checking approval targets, allowance size, contract origin and revocation options. “Connection is not the same as signing or approval”, “Reject any request for a seed phrase or private key”, and “Treat unfamiliar third-party services cautiously” can usually be understood through interface state or public blockchain data, while seed phrases, private keys, recovery phrases, and verification codes control access and should never be used as proof that a transaction or network is working.

For troubleshooting, use the network name, public address, transaction hash, contract address, and exact error message when appropriate. Official staff should not request a seed phrase or private key, and a legitimate support flow should not require recovery information to be entered into a website. Keeping that boundary clear allows useful investigation without giving away account control.Security decisions should prioritize control of the account. Any request for a seed phrase, private key, recovery phrase, verification code, or remote-control access is an abnormal signal. In Approval Security, this check belongs specifically to “Common mistakes and risks in Approval Security”, so the conclusion should remain tied to the account, network, target, and permission discussed on this page rather than being copied from another workflow.

  • Connection is not the same as signing or approval
  • Reject any request for a seed phrase or private key
  • Treat unfamiliar third-party services cautiously

Use revocation to verify the result

“Use revocation to verify the result” becomes clearer when it is reviewed across three stages: before, during, and after an action. Confirm “Verify with revocation or other public data” before starting, watch “Confirm the network and public address” while the request is active, and use “Remove permissions that are no longer needed” to verify the result afterward. Assess long-lived permissions by checking approval targets, allowance size, contract origin and revocation options. Skipping one of these stages can leave network mistakes, duplicate submissions, or persistent permissions unnoticed.Security decisions should prioritize control of the account. Any request for a seed phrase, private key, recovery phrase, verification code, or remote-control access is an abnormal signal.

Turn the same checks into routine maintenance: re-check the network after switching, confirm the address and amount before sending, read every signature request, record why an approval exists, and periodically remove permissions that are no longer needed. Security is the accumulation of these small controls rather than a single switch that makes every future request trustworthy. In Approval Security, this check belongs specifically to “Use revocation to verify the result”, so the conclusion should remain tied to the account, network, target, and permission discussed on this page rather than being copied from another workflow.

  • Verify with revocation or other public data
  • Confirm the network and public address
  • Remove permissions that are no longer needed

Practical checklist

  • Never enter a seed phrase, private key or recovery phrase into a website
  • Official staff will not ask for your seed phrase, private key or verification code
  • Check the address, network and amount before transferring
  • Review every DApp signature request separately
  • Review and revoke permissions you no longer need