NOTICE: Please read this article very carefully to understand important things about ERC20 tokens. You can loose your funds if you make a mistake and send non ERC20 crypto to old ERC20 contract addresses (Some cryptocurrencies moved from ERC20 to their own Blockchain as for example VeChain). Following this article will help you to avoid such issues!
BC Vault supports ALL ERC20 tokens (currently >300.000) from the release v1.2.2 of the application and firmware.
Additionally from v1.7.0 BC Vault also supports all ERC20 tokens on other L2 Ethereum clones as BNB BSC, HECO, Polygon...See this article.
First you have to enable "Advanced mode" in Application Settings/Preferences to be able to use this feature.
Please notice following information about ERC20 Tokens:
- ERC20 Tokens (native and custom added) are all linked to your Ethereum (ETH) wallets, as ERC20 is actually Ethereum extension. Sending/Receiving operations are thus linked to actual ETH wallet address (see How are ERC20 tokens and Ethereum - ETH related?). This means your wallet password and pin of parent ETH wallet will apply!
Relation between Ethereum and ERC20 wallets:
- You can not delete ERC20 Token wallets (as they are actually ETH wallets).
- Removing Custom ERC20 Token from the BC Vault application will preserve the value of all tokens as you are not deleting the actual ETH wallet (that is the actual holder of all ERC20 tokens). You are only removing the definition of a token.
- Make sure you have ETH in the same ETH wallet, where you keep the ERC20 tokens if you want to send them. Gas for ERC20 tokens is always paid in ETH!
WARNING: Please also see following article to prevent adding fake token definitions: How to spot fake ERC20 token definitions
NEW: From version 1.5.9 onwards BC Vault has a functionality to automatically add all the custom ERC20 token definitions for tokens already sitting in your ETH wallets! See: Automatic detection/addition of Custom ERC20 Tokens
Adding custom ERC20 token is quite easy. Do this on every desktop computer, as this setting is saved to BC Vault Application preferences - not the device itself. You need following information (we suggest you use token issuer website information, https://coingecko.com or https://etherscan.io):
- Contract Address
- Decimal Places
- Full Name (You can choose that to your linking)
- Short Name (You can choose that your linking)
We suggest the following approach to get the correct information (example for MAKER (MKR) Token on CoinGecko):
- Open https://coingecko.com
- Type "Maker" in search field on top right side
- Select "Maker (MKR)"
- Under Contract you can see Ethereum Symbol and contract address valid for Ethereum network (0x9f8...):
- Under Explorers you see link to Ethereum blockchain explorers (Etherscan, Ethplorer). This tells you that this is indeed an ERC20 token on the Ethereum blockchain:
- Click on Explorers/Etherscan link
- Once you come to the Etherscan.io site you can see all the required data (specifically Contract Address and Decimals)
- It is possible to look for the data directly on https://etherscan.io, but be careful as you can get many search hits for same token name, you have to choose the correct one!
For example to add MAKER (MKR) Token on Ethereum Network go to "Settings"->"Application Settings"->"Add/Modify ERC20 Tokens"->"Add New Custom ERC20 Token":
TIP: From v1.5 of the Application once you enter the Contract Address the rest of the parameters - Decimal Places, Full Name and Short Name will be parsed from the Blockchain and automatically entered for you! You can still manually change the information if you go to top right corner, open ticker and enable "Manual Mode".
In case where the token is also available on other Ethereum network clones (BNB BSC, HECO, Polygon...) the contract address on those will be different! Follow the same procedure as above, but look for the contract address on the particular network (not Ethereum). For example the Maker Token from above example is also available on Avalanche, Arbitrum One and Sora Network/Blockchain. On each of them it has a different contract address.