If you want to add a generic contract that does not follow the ERC20 standard, or if you want to interact with non-standard methods of a contract, follow the steps below.

1. Go to https://etherscan.io/tokens

2. Find and click on the token you wish to add.

3. Click the Contract Address hyperlink.

4. From your ETH wallet main page, swipe two screens to the right to get to dApps page.

5. Click the "..." icon on the top right of the screen and select "Add Contract". If you are using an app version prior to 1.8, tap the "+" button instead.

6. On the "Add Contract" page, enter the following from Etherscan

  • Name: The name of the token.
  • Description: Any description you would like or leave blank
  • Website: Copy the URL
  • Contract Address: Copy the "Contract Address".  
  • Contract-Suit: Select "token-template" for ERC20 contracts.
  • Contract-ABI: 
    • In the address page, click on the Contract Source tab, and scroll down to the ABI text. 

7. Copy and paste the entire text to the Contract-ABI line of Coinomi. Another way to easily fetch an ABI is to use etherscans api like this example, replacing the ETH address in the link with the official contract address of your token, as seen on the token's etherscan.io page. Please contact us if you require help with this step.

8. Click on "ADD CONTRACT" on the bottom of your device's page.

Your new token will be added to the list of dApps in Ethereum's dApps tab. If you chose the "token-template"  Contract Suit, please note that the values shown are unscaled. They do not get a coin-like interface and wallet and can't be added to your favorites.

In this example, the contract has 18 decimal spaces, so a token balance of 1 is displayed with 18 extra zeroes after it. Some devices and tokens with even more decimal spaces may use scientific notation and show values like "1e+18". When sending tokens, this should also be taken into consideration, and add the correct amount of zeroes. The token page in etherscan shows how many decimal spaces are used.

If you did not choose the option to "token-template", you will get a more generic view of the contract, where you can see the list of functions and interact with them directly.