How to get Etherscan to recognize an ERC20 token

If you deploy an ERC20 token to a public network that Etherscan supports, Etherscan doesn’t recognize it as an ERC20 token until there are Transfer events.

For example I deployed an ERC20 token using Remix (no tokens minted):

pragma solidity ^0.5.0;

import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v2.3.0/contracts/token/ERC20/ERC20Mintable.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v2.3.0/contracts/token/ERC20/ERC20Detailed.sol";

contract Token is ERC20Mintable, ERC20Detailed {

    constructor () public ERC20Detailed("Token", "TKN", 18) {
    }
}

Etherscan doesn’t recognize the contract as ERC20.

Change the URL from etherscan.io/address/
https://rinkeby.etherscan.io/address/0xb5be0fddbca0ea091ca27b3af36295e48c17144f
to etherscan.io/token/
https://rinkeby.etherscan.io/token/0xb5be0fddbca0ea091ca27b3af36295e48c17144f

Etherscan will then recognize the contract address as ERC20 and display the token name and symbol with a link to the token information.

3 Likes