How to Add Custom Tokens to MetaMask (2026)

How MetaMask Handles Tokens

When you receive tokens, they arrive in your wallet on the blockchain immediately. But MetaMask needs to know about the token contract to display the balance. Think of it like a contact list: the tokens are already “calling” your address, but MetaMask doesn’t know how to read them until you add the token’s details.

MetaMask stores a list of known tokens and can detect many automatically. For anything not on that list, you add the token manually using its contract address.


Method 1: Auto-Detect Tokens

MetaMask has a token auto-detection feature that scans your address and finds ERC-20 tokens you hold. This is the easiest method and works for most popular tokens.

How to enable and use auto-detection:

  • Open MetaMask
  • Click the account avatar → Settings
  • Go to Security & Privacy
  • Make sure Autodetect tokens is toggled on
    • Return to your wallet’s main screen
  • Scroll down and click Refresh list or wait for MetaMask to scan automatically
  • When tokens are detected, a notification appears at the bottom of the screen asking if you want to add them. Click the notification to review and confirm.

    Limitation: Auto-detection works best on Ethereum Mainnet. On other networks (BSC, Polygon, Arbitrum), you may still need to add tokens manually.


    Method 2: Add Token Manually by Contract Address

    For any token not auto-detected, you can add it manually using the contract address. Every ERC-20 token has a unique contract address — a 42-character string starting with 0x.

    Step-by-Step: Add Token Manually

    • Open MetaMask and make sure you’re on the correct network
  • Scroll down on the main screen and click Import tokens
  • Select the Custom token tab
  • Enter the Token contract address in the first field
    • MetaMask automatically fills in the token symbol and decimal places
    • Verify the symbol matches what you expect
  • Click Add custom token
  • Click Import tokens on the confirmation screen
  • The token now appears in your MetaMask balance. If you hold any, the amount shows immediately.


    How to Find a Token’s Contract Address

    Getting the correct contract address is critical — fake tokens exist with identical names and symbols. Always verify the contract address from a trusted source.

    Method A: CoinGecko

  • Go to coingecko.com
    • Search for the token by name
  • On the token’s page, scroll down to Contract or look in the Info section
    • Click the chain icon to select the right network (Ethereum, BSC, etc.)
    • Copy the contract address shown

    Method B: CoinMarketCap

  • Go to coinmarketcap.com
    • Search for the token
  • On the token page, scroll to Contracts
    • Select the network and copy the address

    Method C: Etherscan (Ethereum tokens)

  • Go to etherscan.io
    • Search for the token name
    • Click on the verified token contract
    • Copy the contract address from the top of the contract page

    Method D: The Project’s Official Website

    Many crypto projects list their token contract address prominently on their website or official documentation. Always use the official site — not social media links.


    Adding Tokens on Different Networks

    MetaMask supports multiple networks, and the same token on different networks has a different contract address. Make sure you’re on the right network before adding.

    Ethereum Mainnet

    Most ERC-20 tokens live here. Common examples: USDC, USDT, LINK, UNI, AAVE.

    BNB Smart Chain (BSC)

    BSC tokens are BEP-20 standard. Add BSC network first, then add tokens. Popular BSC tokens: CAKE (PancakeSwap), BUSD.

    BSC Network settings:

    • Network name: BNB Smart Chain
    • RPC URL: https://bsc-dataseed.binance.org/
    • Chain ID: 56
    • Symbol: BNB
    • Explorer: https://bscscan.com

    Polygon (MATIC)

    Polygon has its own versions of many tokens, including bridged USDC, USDT, and WETH. Add Polygon network first.

    Polygon Network settings:

    • Network name: Polygon Mainnet
    • RPC URL: https://polygon-rpc.com/
    • Chain ID: 137
    • Symbol: MATIC
    • Explorer: https://polygonscan.com

    Arbitrum One

    Layer 2 tokens on Arbitrum. Chain ID: 42161.

    Optimism

    Layer 2 on Ethereum. Chain ID: 10.


    Network Token Reference Table

    Token Ethereum Address Note
    USDC 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 Circle’s stablecoin
    USDT 0xdAC17F958D2ee523a2206206994597C13D831ec7 Tether
    LINK 0x514910771AF9Ca656af840dff83E8264EcF986CA Chainlink
    UNI 0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984 Uniswap
    WETH 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 Wrapped Ether

    Always verify these addresses on Etherscan before use — use them as starting points for your own verification, not as definitive sources.


    Fake Token Warning

    The biggest risk when adding tokens manually is adding a fake token. Scammers create tokens with the same name and symbol as popular tokens. If you add the wrong contract address, you might see a fake balance that you can’t actually sell or use.

    How to spot fake tokens:

    • The contract address doesn’t match any reputable source
    • The token contract was created recently with no history
    • Etherscan shows the contract as unverified or shows warnings
    • You received the tokens unexpectedly (airdrop scam)
    • When you try to sell them, the transaction fails or asks for excessive approvals

    What to do with suspicious tokens:

    • Don’t try to sell or interact with them
    • Don’t click any links associated with unexpected airdrops
    • Simply ignore them — having a fake token in your wallet is harmless as long as you don’t interact with it
  • You can hide them in MetaMask by clicking the three dots next to the token and selecting Hide

  • MetaMask’s Token List (Tokenlist)

    MetaMask uses community-maintained token lists to power its auto-detection and search features. These lists are curated by projects like Uniswap, Aave, and others. When you search for a token in MetaMask’s Add token search bar, you’re searching these lists.

    If a token isn’t on any list, it won’t appear in search results — but you can still add it manually with the contract address.


    FAQ

    I added a token but the balance shows 0 — why?

    You might not actually hold any of that token. Adding a token to MetaMask just tells MetaMask to display the balance — it doesn’t create tokens. Check your address on Etherscan to confirm whether you hold any.

    Can I add tokens on testnets?

    Yes. Switch to the testnet (e.g., Sepolia) and add the token’s contract address on that testnet. Testnet tokens have separate contract addresses from mainnet.

    Why does MetaMask show the wrong token symbol after I enter a contract address?

    Some contracts are set up with unusual or misleading symbols. Double-check the contract address on Etherscan to make sure it matches the token you intended to add.

    Can I add NFTs to MetaMask?

    MetaMask has basic NFT display. Go to the NFTs tab and click Import NFTs, then enter the contract address and token ID. More advanced NFT management is better handled in dedicated apps like OpenSea or Rainbow.

    How do I remove a token I added by mistake?

    On desktop: Click the three dots next to the token → Hide token. On mobile: Long-press the token → Hide. This removes it from view but doesn’t affect the blockchain — your tokens are still there.

    Do I need to add ETH itself as a token?

    No. ETH (and the native gas token of any network) displays automatically. You only need to add ERC-20 tokens.


    Related guides:

  • How to Add Avalanche (AVAX) to MetaMask
  • How to Add Arbitrum to MetaMask
  • How to Add Optimism to MetaMask
  • MetaMask Security Guide: 10 Ways to Stay Safe

  • Posted

    in

    ,

    by

    Comments

    Leave a Reply

    Your email address will not be published. Required fields are marked *