What are ERC20 tokens and how to protect them with Ledger?

09/05/2019 | Blog posts

ERC20 and Ledger

You’ve probably heard about ERC-20 tokens but what exactly are they? 

This is a question we often receive and today we’d like to provide some clarity on this.

ERC-20 tokens can represent a diverse range of digital assets. Like other crypto assets, they can have a value and be sent and received.
The difference between ERC-20 tokens and cryptocurrencies such as Bitcoin, Ethereum, Litecoin…is that ERC-20 tokens don’t have their own blockchain but reside on top of the Ethereum blockchain.

As of today, more than 200 000 ERC-20 tokens coexist on the Ethereum blockchain and because they live on this blockchain, they benefit from its technology.  They are stored on Ethereum addresses and sent using Ethereum transactions. 


How a token is created?

As tokens live on another blockchain, their creation is a much easier process as you do not have to modify the codes from a particular protocol or create a blockchain from scratch.

To create a token on the Ethereum blockchain, one must write a contract.
The contract is actually a piece of code, stored on the Ethereum blockchain that will be executed when either someone or another contract requests it. 

As it is stored on the blockchain, it cannot be modified and it cannot be stopped. Therefore it’s very important to make sure the contract has been reviewed before actually deploying it onto the blockchain. 

This contract is not only responsible for creating tokens, but also for handling its transactions and keeping track of the balance of each token’s holders.  

Because it is stored on the blockchain, this contract has an address.
A token contract address looks like a standard Ethereum address.
For instance, Chainlink’s token contract address is: 0x514910771af9ca656af840dff83e8264ecf986ca

As the Ethereum blockchain is public, it is possible to review the code of the contract and understand how it will behave.

For example, you can find Chainlink’s contract here. Please do note that it requires strong coding skills to fully understand its functions.

ERC-20 token


The ERC-20 standard

Anyone can write a contract on the Ethereum blockchain. Therefore, it’s possible to create various types of tokens.

Following the launch of Ethereum, the immense rise of altcoins was fueled by the standardization of token contracts —  the first standard to emerge was the ERC-20

The ERC-20 standard is simply a list of functions and events that each contract must implement to respect the standard.
For instance, these functions allow someone to determine the balance of one token holder or allow transfer of the token from one address to another.

The name, ticker, supply, and behavior of the contract can be completely different from one another, but as long as they implement the basic ERC-20 functions, they are all ERC-20 compliant. Failing to meet these requirements means it cannot be considered an ERC-20 token.

Fortunately, the standardization of ERC-20 has enabled different tokens operating on the Ethereum network to be compatible with a multitude of storage solutions, including Ledger hardware wallets.


How to identify a token ?

Sometimes tokens may use the same ticker but different smart contract address.

That’s the case with HOT for instance.
HOT ticker is used both for HoloToken and for HydroProtocol token.
However, both tokens are using different smart contract addresses :
HoloToken : 0x6c6ee5e31d828de241282b9606c8e98ea48526e2
HydroProtocol : 0x9af839687f6c94542ac5ece2e317daae355493a1

In case of doubt, always check the smart contract address of your token. This information allows for a unique identification of the token.


How to receive ERC-20 tokens?

To receive an ERC-20 token, you simply have to send it to your Ethereum address.
Because ERC-20 tokens only exist on the Ethereum blockchain, you can safely use any Ethereum address provided by your Ledger Hardware wallet. As a consequence, ERC20 are always stored in an Ethereum account.


How to send ERC-20 tokens?

When you send an ERC-20 token, in fact you are informing the token contract that a transfer operation is required. 

To be executed, a contract on the Ethereum blockchain will require a fraction of Ether. That’s the reason why sending an ERC-20 token will also consume a small bit of Ether from the account they are stored in. As a consequence, you cannot send ERC-20 if your Ethereum balance is too low or empty.


Can I store my ERC-20 on my Ledger hardware wallet ?

The Ledger Nano S, Nano X and Blue hardware wallets are all compatible with the ERC-20 standard. As the ERC-20 tokens are actually running on the Ethereum blockchain, there is no specific application for a token. Instead you can simply use the Ethereum application.
Ledger hardware wallets support today more than 1250 ERC-20 tokens.


How to manage my ERC-20 tokens ?

Ledger is excited to support ERC-20 tokens directly on Ledger Live, allowing you to easily manage your assets from a single application. To do so, you first need to create an Ethereum account in Ledger Live and receive your tokens on this account. Full instructions here.

Ledger Live

Ledger hardware wallets are also compatible with various services using the Ethereum blockchain, such as MyEtherWallet or MyCrypto.


Is my ERC-20 supported on Ledger Live ?

All ERC-20 compliant tokens can be stored on Ledger hardware wallets thanks to the Ethereum application. However, Ledger Live only supports for now the most commonly used 1250 ERC-20 tokens. This number will be in constant evolution. To find out if your token is supported on Ledger Live, kindly check this link.

We’ll update this list on a regular basis following market evolution.

Ledger Nano X