A user connects their Ethereum wallet to Bybit Wallet, imports their address, and sees their holdings of major tokens like USDC and DAI appear automatically. But a smaller token they received weeks ago—perhaps an obscure governance token from a liquidity farming protocol or a newly minted ERC-20 from a decentralized project—does not appear in their balance. The wallet’s automatic token detection has failed, leaving the user unable to see, manage, or transfer an asset they know they own. The question is not whether the token exists on-chain; it does. The question is why Bybit Wallet’s auto-recognition system skipped it and what steps are required to make the token visible again.

Automatic token detection is a genuine convenience. A wallet that displays every token a user has ever received without requiring manual configuration would be overwhelming and slow. Instead, Bybit Wallet uses heuristics to recognize high-volume, widely known, and well-indexed tokens while filtering out noise. That filtering works well for the majority of users and the majority of tokens. But the heuristics have limits. Low liquidity, recent deployment, poor indexing by blockchain data providers, limited exchange listing, tokens from private distributions, and tokens deliberately created with unusual contract patterns can all cause automatic detection to fail. When it does, a manual ERC-20 contract import becomes the only reliable path forward.

A wallet interface displaying manual token import fields with contract address and token symbol input areas, illustrating the process of adding unrecognized ERC-20 tokens to a multi-chain wallet.

How automatic token detection works and where it breaks down

Bybit Wallet, like most Ethereum and EVM wallet solutions, relies on a combination of strategies to populate a user’s token list without requiring manual setup for every asset. The wallet queries blockchain data providers—services like Etherscan, Alchemy, or internal indexing APIs—for token transfers involving the user’s address. These services maintain curated lists of known tokens, ranked by trading volume, holder count, market capitalization, and listing status on major exchanges. When a transfer is detected involving a token on these lists, the wallet automatically adds it to the display.

This approach works efficiently for the ecosystem’s most active assets. Tokens like USDT, USDC, DAI, LINK, AAVE, and WETH are indexed everywhere because they are used constantly across multiple networks. A wallet user holding any of these tokens will see them appear immediately upon import, without intervention. The automatic recognition also covers many widely traded tokens with significant liquidity on decentralized exchanges like Uniswap or SushiSwap. Volume and visibility create a feedback loop: popular tokens are indexed more thoroughly, which makes them easier for wallets to discover, which increases their utility, which further boosts volume.

The system breaks when a token falls outside this visibility window. A newly deployed token may not yet be indexed by blockchain data providers, even if it is legitimate and the user holds a correct balance on-chain. Tokens with very low trading volume or limited holder distribution may not trigger the inclusion threshold used by data providers. Some tokens are intentionally kept private or distributed only to specific communities, making them invisible to public indexing services. An ERC-20 token created as part of a governance protocol, a private investment round, or an experimental DeFi project may be perfectly valid according to the Ethereum standard while remaining completely absent from automated discovery systems.

The technical reason for these gaps relates to how data providers categorize tokens. A service like Etherscan maintains scamcoins and suspicious token lists specifically to avoid surfacing tokens that mimic legitimate projects or use predatory mechanisms. The opposite filtering—excluding tokens not on an approved list—is less explicit but equally consequential. If a token does not appear on major exchange lists, does not have verified source code on Etherscan, and does not appear in high-volume trades tracked by indexing services, the default behavior for many wallets is to ignore it. Bybit Wallet’s automatic system follows this pattern. The wallet is making a conservative choice: avoiding false positives and reducing clutter. But from the user’s perspective, a legitimate token simply becomes invisible.

Identifying tokens that require manual import

Before attempting a manual import, confirm that the token actually exists at the address you intend to add. A common source of frustration is that users sometimes confuse the token’s contract address with other identifiers, such as the user’s own wallet address or a DEX pool address. The contract address is the unique identifier for the token itself on a specific blockchain. On Ethereum, a legitimate ERC-20 token has a contract address starting with “0x” followed by 40 hexadecimal characters. Visiting that address on Etherscan should display the token’s transfer history, holder count, and total supply.

Tokens requiring manual import fall into several categories. First are newly deployed tokens that have not yet been indexed by major data providers. A project launch may have occurred hours or days ago, and the token may be functioning correctly according to the ERC-20 standard while remaining unknown to automated systems. Second are low-liquidity tokens with small holder counts or minimal trading volume. These may never reach the threshold that triggers inclusion in automated discovery systems, even if they have been live for years.

Third are tokens from private distributions or restricted programs. A company may have airdropped tokens to a specific set of addresses or distributed them to early investors through a private contract. These tokens are entirely legitimate from the blockchain’s perspective, but they may not be listed on any public exchange or indexed by public data providers. Fourth are experimental or testnet tokens sometimes used by developers to test DeFi protocols. If a user participated in beta testing or received tokens from a development environment, those tokens might exist on a network like Ethereum but lack any public visibility.

Fifth are tokens with uncommon contract standards or wrapper structures. Some tokens use custom transfer logic, require whitelisting, or implement non-standard approval mechanisms. These may pass Ethereum validation but trigger false negatives in automated detection heuristics. Sixth are tokens on less-indexed networks. While Bybit Wallet supports multiple chains including Ethereum, BNB Chain, Polygon, Arbitrum, and Optimism, indexing services prioritize Ethereum and major networks. A token on Optimism or Arbitrum may be less likely to appear in automated discovery even if it is legitimate and actively used.

Step-by-step manual ERC-20 import process

To add a token manually, gather the token’s contract address first. If you received the token in a transaction, copy the token address from the transaction history on Etherscan or the blockchain explorer for the relevant network. You can verify the contract address by checking the transaction detail page; every ERC-20 transfer shows the token contract address explicitly. Alternatively, if you have documentation from the project that issued the token, the contract address should be provided there. Never copy contract addresses from unofficial sources or links that appear in Discord or Telegram messages without first verifying them against the official project website or verified documentation.

Open Bybit Wallet and navigate to the token management section. The exact location varies slightly between the Chrome extension version and mobile applications, but the general principle is the same. In the extension, you typically find a “manage tokens” or “add token” option in the wallet’s settings or portfolio view. On mobile, look for an icon or menu option labeled “add custom token” or similar. The interface should present input fields for the contract address, token symbol, and decimal places. The contract address field is mandatory; the other fields may be auto-populated once you enter a valid address.

Enter the contract address in the designated field and confirm it matches exactly—copy and paste rather than typing manually to avoid errors. If the contract address is recognized and valid, the wallet may automatically fetch the token’s name, symbol, and decimal count from the blockchain. Decimal places are a critical field; most ERC-20 tokens use 18 decimals, matching Ethereum’s native unit, but some use other values. Tokens with incorrect decimal places will display wrong balances. If the wallet auto-populated this field, verify it against the token’s contract on Etherscan by checking the “decimals” field in the contract section.

After entering or confirming all fields, save or import the token. The wallet should refresh and add the token to your balance display. Verify that the balance shown matches what you expect based on your transaction history or previous wallet records. If the balance is incorrect or the token does not appear, double-check the contract address and network selection. A common mistake is attempting to import an ERC-20 token using the Ethereum contract address when you actually hold the token on Polygon or Arbitrum. Each chain has its own contract address for the same token, and the addresses are not interchangeable.

Common pitfalls in manual token import

One of the most frequent errors is confusing token contract addresses with liquidity pool addresses or staking contract addresses. If you have interacted with a DeFi protocol that involves a staking pool, the address of that pool is not the token’s contract address. The token contract address is the underlying asset being staked. To find the correct address, check your transaction history for transfers of the token itself; the “to” address in a transfer transaction is the token contract address you need.

Another pitfall is entering the correct contract address but selecting the wrong blockchain network. If you imported tokens using the Bybit Wallet extension while connected to Ethereum but your tokens actually exist on Arbitrum, the manual import will create an entry for a token that does not exist at that contract address on that network. The resulting balance will show zero, and you may assume the import failed when in fact you simply added the token on the wrong chain.

A third common problem is importing a wrapped or bridged version of a token by mistake. If you hold USDC.e (the bridged version of USDC on Arbitrum or Optimism), its contract address differs from the canonical USDC contract address on Ethereum. Importing the canonical address while holding the bridged version will result in a zero balance. Always verify which version of a token you actually own before importing; bridged tokens are often clearly distinguished on the destination chain’s explorer.

Fourth is attempting to import a token that is not actually an ERC-20 contract. Some users may have addresses that look like token contracts but function as something else: a multisig wallet, a governance contract, or a smart contract that does not follow the ERC-20 standard. Entering such an address will either fail with an error or, worse, create an entry that shows no balance and causes confusion. Verify on Etherscan that the address you are importing actually implements the ERC-20 interface by checking that it includes the standard functions like `transfer`, `balanceOf`, and `approve`.

Verifying token legitimacy before manual import

Before adding an unknown token to your wallet, especially one that requires manual import, research its legitimacy. The fact that automatic detection missed a token is not itself evidence of a problem, but it is a signal that the token exists outside normal visibility. A token may be obscure and legitimate, or it may be a counterfeit asset designed to confuse users.

Check the Etherscan contract page for the token’s source code verification status. A contract with verified source code means the creator has uploaded the original code for public inspection. Unverified contracts are not automatically malicious, but they are harder to audit. Look at the token’s transfer history and holder count. A token with thousands of holders and millions in trading volume is more likely to be legitimate than one with a handful of transfers. Check the contract creation date; a token created very recently should be treated more cautiously than one that has been deployed for months or years.

Research the token on independent sources. If it is associated with a legitimate project, the project’s official website or documentation should mention the contract address. Cross-reference the address you are about to import against official sources rather than community forums or chat channels where counterfeit addresses can be spread. Some projects maintain multiple contract addresses across different chains or have migrated to new contracts; verify which version is current and relevant to your situation.

Be especially cautious of tokens that appear in unsolicited transfers. An airdrop of an unknown token to your wallet should trigger investigation before import. Some scams involve sending a worthless token to a large number of wallets and then promoting a fake website where users can “claim” rewards or sell the token. Do not approve unlimited allowances for tokens you do not fully understand, regardless of whether they were imported automatically or manually.

Cross-chain token confusion and multi-chain wallet strategies

As an EVM wallet, Bybit supports multiple blockchains, each with its own version of popular tokens and its own token indexing status. Ethereum is the most mature and widely indexed network, so auto-detection works best there. BNB Chain, Polygon, Arbitrum, and Optimism have progressively fewer indexed tokens in most automated systems. A token that fails to auto-import on Arbitrum might import automatically if you switch to Ethereum and use the native version there.

Understanding this distinction is critical for wallet setup and token management. Many popular tokens exist as separate contracts on multiple chains. USDC, for example, has a canonical contract on Ethereum and separate contracts on BNB Chain, Polygon, Arbitrum, and Optimism. Each contract address is distinct. Some tokens have native versions on specific chains and wrapped or bridged versions on others. A user holding USDC.e on Arbitrum should not import the Ethereum USDC contract address; they should import the Arbitrum USDC.e address.

Bybit Wallet’s cross-chain asset bridging capabilities can help move tokens between networks, but the underlying token contract addresses on each network remain separate. When manually importing a token, confirm which network you are on and which contract address applies to that network. The browser extension and mobile versions of Bybit Wallet both display the current network, but it is easy to overlook this detail when switching between chains quickly.

Maintaining clean token lists across multiple networks requires periodic cleanup. Tokens that no longer hold balances can be removed from the wallet display to reduce clutter. For tokens requiring manual import, document the contract address and network somewhere secure if you plan to re-import the token on another device or recovery scenario. A personal note with the contract addresses of your manually imported tokens can save significant time if you need to recover your wallet.

Token decimals and balance display errors

One of the most confusing aspects of manual token import is the decimal places field. Ethereum and most ERC-20 tokens use 18 decimals, meaning that a token’s smallest unit is one quintillionth (10^-18) of the whole token. However, this is not a universal standard. Some tokens use 6 decimals, matching the traditional financial convention used by stablecoins like USDC and USDT. Others use 8, 9, or other values entirely.

The decimal count directly affects how the wallet displays your balance. A token with 18 decimals and a balance of 1,000,000,000,000,000,000 in the smallest units displays as 1.0 tokens. The same number with 6 decimals would display as 1,000,000,000,000 tokens. If you import a token with the wrong decimal count, your balance will be off by powers of ten. A token with 6 decimals imported with 18 decimals will show your actual balance divided by one trillion.

To find the correct decimal count, check the token’s contract page on Etherscan. In the “Contract” tab, look for the “decimals” field in the list of state variables. This is the authoritative source for the token’s decimal count. If the wallet auto-populated this field when you entered the contract address, verify it against this source. If you entered the token manually and the decimal field did not auto-populate, verify the correct value before confirming the import. An incorrect decimal count will make the token unusable for transfers because the amounts will be wrong.

Recovery and troubleshooting after manual import

If a manually imported token shows a zero balance when you know you should have a balance, work through a systematic checklist. First, confirm that you are viewing the correct blockchain network. The token was imported on a specific chain; if you switch to a different chain in the wallet, the token will not appear unless you have also imported it on that chain. Second, verify that the contract address is correct by checking a recent transaction on Etherscan and confirming the token contract address from the transaction detail.

Third, check your actual on-chain balance using a separate tool. Visit the token contract on Etherscan, navigate to the “Holders” tab or use the token tracker, and search for your wallet address. The Etherscan balance query is independent of Bybit Wallet’s indexing and will show your true balance. If Etherscan shows a balance and Bybit shows zero, the problem is with the wallet’s display or indexing, not with your actual tokens. If Etherscan also shows zero, the token is not in your wallet at that contract address on that network.

Fourth, attempt to re-import the token. Sometimes removing it from the wallet and importing it again refreshes the connection and restores the balance display. Fifth, if you have access to hardware wallet integration through Ledger or Trezor, try viewing your balance through the device’s native interface or through another wallet that supports the same contract address. This can help isolate whether the problem is specific to Bybit Wallet or is affecting your balance universally.

If the token still does not appear after these steps, verify that the token contract actually transfers to your address. A transfer to you should have occurred; check your transaction history on Etherscan and confirm that the “to” field in the token transfer transaction matches your wallet address exactly. Copy and paste the address from Etherscan directly into the search field rather than typing it manually to avoid errors. If a transfer shows in your transaction history but the token is not displaying, contact Bybit Wallet support with your contract address and wallet address, and provide a link to an Etherscan transaction proving the token transfer.

Best practices for managing tokens across networks and wallets

Maintain a clear separation between automatic and manually imported tokens in your mental model. Automatic tokens are verified by Bybit Wallet’s indexing systems to be widely recognized and relatively safe. Manually imported tokens require your own verification, especially if they arrived unexpectedly or come from sources outside the established ecosystem. The extra friction of manual import is a feature, not a bug; it encourages thoughtful evaluation before adding tokens to your wallet.

Document the contract addresses of your manually imported tokens in a separate location, such as a password manager with encryption or a physical note kept secure with your other recovery materials. If you need to recover your wallet on a new device, you will not have access to your previous manual imports unless you have recorded them. The token itself remains on the blockchain regardless, but your Bybit Wallet view will need to be reconstructed through re-import.

Periodically review your token list and remove tokens that no longer hold balances. This keeps your interface clean and reduces the risk of confusion if you accidentally approve a transaction for the wrong token. Use the token management features in Bybit Wallet to hide or delete tokens as needed. Be cautious about deleting tokens you may want to receive again in the future; you can always re-import them later if necessary.

When moving between networks, understand that your tokens do not actually move; instead, you are transferring between different contract addresses on different chains. A bridge or swap service can help you move value between networks, but it involves burning or locking tokens on one chain and minting or unlocking them on another. This is a separate operation from managing token visibility in your wallet. The wallet itself simply displays tokens that exist at specific contract addresses on specific networks; it does not perform the migration itself unless you are using a built-in swap or bridging feature.

Frequently asked questions

Why does my token not appear in Bybit Wallet even though I can see it on Etherscan?

Bybit Wallet’s automatic token detection relies on indexed token lists from data providers. Tokens with low liquidity, recent deployment, poor indexing, limited exchange listing, or private distribution may not appear automatically. You can verify that the token exists on Etherscan and then import it manually using the token’s contract address through the wallet’s add custom token feature.

How do I find the correct contract address for manual token import?

Check your transaction history on Etherscan for a transfer of the token; the token contract address is listed in the transaction details. Alternatively, visit the project’s official website or verified documentation for the contract address. Never copy addresses from unofficial sources like chat messages. Verify the address against the official source before importing.

What happens if I import a token with the wrong decimal count?

The wallet will display an incorrect balance. A token with 6 decimals imported with 18 decimals will show your balance multiplied by one trillion. Verify the correct decimal count by checking the token’s contract page on Etherscan, looking for the “decimals” field, and re-import the token with the correct value if necessary.