A user receives a token transfer or wants to hold a newly launched ERC-20 asset, but Trezor Suite does not display it by default. The token exists on the Ethereum blockchain, the transaction shows in the wallet’s activity log, but the balance appears as zero or the token does not appear at all. The obvious response is to add the token manually through a custom contract address. That decision marks a critical security junction. Adding a legitimate token contract takes seconds; adding a fraudulent one can drain the wallet through fake interfaces, malicious approvals, or social engineering.
The distinction between a real token contract and a scam depends on verification steps that many users skip or perform carelessly. A token with an impressive name, a polished website, or social media presence can still be a replica designed to harvest seed phrases or private keys. Trezor Suite’s non-custodial architecture means that the device itself remains secure—private keys never leave the hardware—but a user can still authorize transactions to attacker-controlled contracts if they add the wrong address. Understanding how to verify a token contract before importing it transforms a routine operation from a point of infection into a routine operation.
Why Trezor Suite does not auto-list every ERC-20 token
Ethereum has thousands of ERC-20 tokens, but Trezor Suite maintains a curated list of commonly used and legitimate assets. This is a deliberate security choice, not a limitation. If the suite auto-detected every token balance and displayed it by default, users would see hundreds of dust transfers and spam tokens—many of them designed to trick users into interacting with them. Some scam tokens use names nearly identical to popular ones, or create accounts that appear to hold significant balances, then prompt users to “verify” or “activate” by signing a transaction that grants infinite allowance to the attacker’s contract.
The curated approach forces users to explicitly choose which tokens to track, which means they must answer a hard question: where did this token come from, and can I verify that the contract address I am about to add is the legitimate one? That friction is intentional. It is the price of avoiding accidental interaction with a replica contract. A user who skips verification and adds a token based solely on a Discord message or a hastily copied address has undermined the security of the hardware wallet, not because the device is weak, but because the authentication boundary has moved outside the device.
The Trezor Suite app provides the interface for adding custom tokens, but it cannot perform verification on the user’s behalf. The application can display what you ask it to display, confirm that a contract is an ERC-20 token, and show the balance associated with that address. It cannot determine whether that contract was created by the legitimate project team or by an impostor. That determination rests entirely on user research and confirmation.
Step one: Obtain the contract address from authoritative sources only
The first and most critical step is acquiring the contract address from a source that you have already verified to be legitimate. This means the official project website (confirmed via HTTPS and preferably bookmarked rather than searched), an official social media account with verified checkmarks and consistent posting history, a centralized exchange listing (which has performed some vetting), or the official GitHub repository of the project. Any other source—a Discord message from an unknown user, a Telegram announcement, a Reddit post, an email, or a link in an advertisement—should be treated as potentially compromised.
Phishing is common enough that attackers create fake Discord servers, impersonate developers, and post links designed to look official. A token called “Ethereum Max” or “Ethereum Classic Plus” may exist solely to harvest contract approvals from users who confuse it with the real asset. The contract address itself is a 42-character string beginning with “0x” followed by hexadecimal characters. It is unique and public. If two sources provide different contract addresses for the same token, one of them is wrong, and you should find a third authoritative source to determine which.
Official project websites often list the contract address prominently on a “tokenomics” or “contract” page. CoinGecko and other coin-information platforms also display contract addresses and are reasonably reliable for well-known tokens, though they too can become targets for scammers who claim to operate a token with nearly the same name. If the token is brand new or issued by a smaller project, the official announcement channel (usually the project’s own website or a reputable exchange listing) is the only source to trust. Do not assume that you have already verified a project simply because it has a website; verify it again each time you need the contract address, because phishing sites can be created to appear identical to legitimate ones.
Step two: Cross-reference through block explorers and official channels
After obtaining a contract address, verify it on a block explorer such as Etherscan before adding it to Trezor Suite. Etherscan displays the contract code, creation date, transaction history, and holder distribution. A legitimate token contract will have a recognizable pattern: a creation date that aligns with the project’s announced launch, source code that may be verified and open to inspection, and a history of normal transactions rather than suspicious patterns.
Look for the “Contract” tab on the Etherscan page. If the source code is available and verified, you can see the exact logic of the contract. You do not need to understand Solidity deeply to spot red flags: if the contract grants the creator an unusually large supply, allows minting without limits, includes hidden functions that can seize funds, or contains self-destruct mechanisms, those are warning signs. A scam token often has minimalist code designed only to steal approvals. A legitimate token has structure related to the project’s actual function: minting, staking, governance, or transfer fees.
After reviewing the contract on the block explorer, return to the project’s official sources and confirm that the contract address displayed there matches what you found. This is a form of consensus verification: if the official website, a reputable exchange listing, CoinGecko, and Etherscan all show the same address, the probability of it being legitimate is high. If any of them differ, investigate why before proceeding. Sometimes legitimate projects migrate to new contracts or issue tokens on multiple chains; in those cases, the official announcement will explain the reason and provide clear dates.
Step three: Check holder distribution and transaction volume
On Etherscan, scroll to the “Holders” tab to see the distribution of the token. A healthy token usually has a broad distribution across many holders. If a single address holds ninety percent of the supply, that concentration is either legitimate (if it is the project’s treasury or a locked staking contract) or suspicious (if it appears to be controlled by the deployer with no clear purpose). Scam tokens often show one or two massive holders who control the supply and can manipulate the price or withdraw liquidity at will.
The transaction history should show regular activity: transfers, swaps, staking, or other uses consistent with the token’s stated purpose. A token with a contract address created weeks or months ago but almost no transaction activity is either new and unused or already abandoned. Neither necessarily disqualifies it, but combined with other warning signs, it indicates that you should be cautious. If the token was supposed to be widely distributed or traded, an absence of transactions is suspicious.
Check the “Token Tracker” section to see which Ethereum addresses hold the token and in what quantities. If the list is dominated by what appear to be contract addresses rather than individual user accounts, the token may be part of an automated farming or yield-generating scheme. That is not inherently illegitimate, but it is a different use case from a simple transfer token, and it means the token’s value depends on the continued operation of those contracts. Understand what you are holding before adding it to your portfolio.
Step four: Add the token to Trezor Suite with explicit verification
With the contract address verified across multiple sources, you can add the token within Trezor Suite. On the desktop or mobile application, navigate to the Assets or Tokens section. Look for an option to add a custom token or contract address. When you enter the address, Trezor Suite will query the blockchain to confirm it is a valid ERC-20 token and retrieve its name, symbol, and decimal places. The application will display this information for you to confirm.
At this point, perform one final check: does the name and symbol displayed in Trezor Suite exactly match the official project’s name and symbol? If you added “0x…” expecting to see “TokenX,” but the application displays “TokenX Fake” or “Token_X,” stop immediately. You may have been given the wrong address, or you may have copied it incorrectly. Delete the custom token and repeat the verification process from the official source. Do not assume that a close match is close enough.
After confirming the details, add the token. Trezor Suite will now track the balance of that token in your Ethereum account. The token will appear in your assets list and in your portfolio value calculation. Because the private key is held on the hardware device, and all transactions must be confirmed on the Trezor itself, adding the token does not expose the wallet to theft through the software. However, if you later interact with that token—buying, selling, staking, or approving it for use in a smart contract—you will authorize those transactions. Make sure you are authorizing the correct action on the correct contract.
Understanding the limits of token addition and approval security
Adding a token to Trezor Suite is fundamentally a display and tracking operation. The software is telling the hardware wallet, “I would like you to also show me the balance of this contract address.” The hardware wallet confirms the balance by querying the blockchain. Neither operation requires access to the private key; neither operation can drain the wallet. The security boundary holds.
The risk emerges when you interact with the token through a decentralized application or exchange. If you approve the token for trading on a DEX, stake it in a smart contract, or send it to another address, those transactions require confirmation on the hardware device. Trezor Suite will display the transaction details—the destination, the amount, the gas fee—and you must press a physical button on the device to authorize it. If the contract address in the transaction matches the one you verified, you can proceed with confidence. If it does not, or if you do not recognize what you are authorizing, reject the transaction on the device.
Some attacks use token allowance mechanics to exploit users. A scam token or a malicious DEX interface may ask you to approve unlimited spending of the token. If you grant that approval to an attacker-controlled contract, it can then execute transfers without your further consent. Trezor Suite will show the approval transaction and the allowance amount on the device screen. If you see “unlimited allowance” or a suspiciously large number, question whether you intended to authorize that. Approvals can be revoked by setting the allowance to zero, which Trezor Suite supports.
Recovery and revocation if you add the wrong token
If you accidentally add a token based on a malicious or incorrect contract address, the first step is to recognize it. If the token is completely inactive or shows balance zero despite transactions in the activity log, review the contract address you used. If the token’s name or symbol does not match your expectations, delete it from the custom tokens list and re-verify through official sources.
If you approved the token for spending by an external contract, you should revoke that approval to prevent future unauthorized transactions. In Trezor Suite, go to the token’s details, look for an approval or allowance section, and approve a zero amount to that contract address. You will need to sign the revocation transaction on the device. This costs a small gas fee but removes the attack vector. After revocation, the malicious contract can no longer spend your tokens, though any amount it already transferred cannot be recovered.
If funds have already been stolen—transferred to an attacker’s address—contact the token’s developers or the relevant security team to report the issue, but do not expect recovery. The blockchain transaction is immutable. The true protection is prevention: verification before addition, caution during approval, and regular review of which contracts you have authorized. Trezor Suite’s interface supports coin control and transaction history inspection, which allow you to see exactly which addresses you have interacted with and potentially identify suspicious activity early.
Best practices for ongoing token management and security
As you add more tokens to Trezor Suite, maintain a simple record of the contract addresses you have verified. Bookmark the official project websites using the exact URL, not shortened links or search results. This reduces the chance that you will accidentally navigate to a phishing site later. If a project migrates its contract address, update your records and repeat the verification process for the new address before migrating your holdings.
Periodically review the custom tokens listed in Trezor Suite. Delete any that you no longer use or whose projects have been abandoned. This reduces visual clutter and lowers the risk of accidentally approving or transferring to the wrong contract. If you use multiple accounts within Trezor Suite—for example, one for active trading and one for long-term holdings—consider adding only the relevant tokens to each account. This compartmentalization reduces the number of places where an attacker could cause damage if one account were to be compromised.
When you receive a token transfer unexpectedly, treat it with suspicion. Do not immediately add it to Trezor Suite simply because it appeared in your activity log. Instead, verify the contract address and the sender’s address on a block explorer. If the token appears to be a scam or airdrop designed to harvest approvals, simply ignore it. Leaving an unwanted token in your account history causes no harm, while adding it to your interface creates an opportunity for you to accidentally interact with it.
Frequently asked questions
Can I recover funds if I add a malicious ERC-20 token contract to Trezor Suite?
If you have only added the token for display and have not approved it for spending or sent it anywhere, nothing is at risk; the addition itself does not grant access to your private keys. If you approved the token for spending by an attacker-controlled contract, revoke the approval by setting the allowance to zero. Any funds already transferred to the attacker cannot be recovered; blockchain transactions are irreversible. The focus should be on prevention through verification before addition and caution during approval.
How do I verify that a contract address is legitimate before adding it to my Ethereum wallet?
Obtain the contract address from the project’s official website (via a bookmarked, HTTPS-confirmed URL), official social media with verified checkmarks, or a reputable centralized exchange. Cross-reference the address on Etherscan, checking the creation date, source code (if verified), transaction history, and holder distribution. Confirm that the address matches across all sources. Return to the official project channel and verify once more. Only after multiple sources align should you add the token to Trezor Suite.
What should I check on Etherscan before adding an ERC-20 token?
Review the contract creation date (should align with the project’s launch), the source code if available (looking for hidden functions or unusual minting mechanics), the transaction history (should show normal activity if the token is established), and the holder distribution (should be reasonably spread rather than concentrated in one or two addresses). A scam token often has minimal code, high concentration in one holder, and little transaction activity relative to its age.