Let's get started
Get the most out of Trezor
Trezor Suite app
Security & Privacy
Trezor Recovery
Supported Coins
Third Party Wallets
Discover more

Ethereum & ERC20 tokens on Trezor

Ethereum (ETH) is a cryptocurrency that supports smart contracting functionality through a turing-complete scripting language called Solidity. The Ethereum network went live on 30 July 2015. 

 

How to use Ethereum with Trezor

Overview

 
Firmware (device) support 1.4.0. (Trezor One), 2.0.5. (Trezor Model T)
Available in Trezor Suite? Yes
Third-party wallets Exodus, MyEtherWallet, MyCrypto, MetaMask, Frame
 

 

Trezor Suite

Ethereum is natively supported in Trezor Suite. To access your Ethereum accounts please follow these steps:
 

  1. Navigate to the Accounts tab in the upper menu
  2. Click on the plus [+] symbol on the left pane
  3. Choose Ethereum from the list, confirm the selection by clicking on 'Add account'
  4. See your Ethereum account listed on the left pane  
 

Third-party wallets

Ethereum can be safely used with certain third-party wallets and services, with the seed and private keys fully protected by the Trezor device. These include the following:
 

  • MyEtherWallet
  • MyCrypto
  • MetaMask
  • Exodus
  • Frame
 

History of Ethereum

The Ethereum white paper was published in late 2013 by Vitalik Buterin, a programmer involved in Bitcoin Magazine. The stated goal was to build decentralized applications. Buterin had argued that Bitcoin needed a scripting language for application development. He later proposed developing a new platform. At the time of the public announcement in January 2014, the core Ethereum team was Vitalik Buterin, Mihai Alisie, Anthony Di Iorio, and Charles Hoskinson. The actual development of the Ethereum software project began in early 2014.

The development was funded by an online public crowdsale in the summer of 2014, with the participants buying the Ethereum value token (ether) using Bitcoin. While Ethereum was initially praised for technical innovations, its security and scalability were questioned.

 

The 2016 fork

In 2016, Ethereum was split into two separate blockchains - Ethereum and Ethereum Classic. It happened after a malicious actor stole funds, which had been raised on The DAO (a set of smart contracts originating from Ethereum software platform) and were worth more than 50 million dollars at the time.

The new Ethereum was a hard fork from the original software intended to protect against further malware attacks and to reappropriate the affected funds.

The part of the community that insisted that the blockchain should be immutable and that all transactions should be irreversible continued on the original blockchain as Ethereum Classic.

 

Smart contracts

One of the innovations brought by Ethereum was the implementations of smart contracts on a decentralized blockchain.

As initially conceived, a smart contract is a computer protocol intended to digitally facilitate, verify, or enforce the performance of a contract. Smart contracts allow the execution of credible transactions without third parties. These transactions are trackable and irreversible. Smart contracts were first proposed by Nick Szabo who coined the term in 1994 - years before Bitcoin or Ethereum.

Proponents of smart contracts claim that many kinds of contractual clauses may be made partially or fully self-executing, self-enforcing, or both. The aim of smart contracts is to provide security superior to traditional contract law and to reduce the costs connected with traditional contracting. Various cryptocurrencies have implemented different types of smart contracts. Ethereum implements a nearly Turing-complete language on its blockchain.


Ethereum, Ether and Gas

Ethereum is blockchain network and Ether (ETH) is the fuel for that network. When users send tokens, interact with a contract, send Ether, or do anything else on the blockchain, they must pay for that computation. Ethers are used to pay for the computation and this payment is called gas.

The computation has to be paid, regardless of whether transaction succeeds or fails. The User must pay for the computation even if the transaction fails because the miners must validate and execute the transaction (compute).

Transaction fee is visible on blockchain explorer (eg., etherscan.io) This fee is not paid to Trezor, but to miners for mining transactions, putting them into blocks, and securing the blockchain.


Fees

The transaction fee is calculated as Gas price * Gas limit.

 

Gas limit

Gas limit refers to the maximum amount of gas user is willing to spend on a particular transaction. A higher gas limits mean that more computational work must be done to execute the smart contract. A standard ETH transfer requires a gas limit of 21,000 units of gas.

The units of gas necessary for a transaction are already defined by how much code is executed on the blockchain. If user does not want to spend as much on gas, lowering the gas limit will not help. User must include enough gas to cover the computational resources used or transaction will fail due to an "Out of Gas" Error.

All unused gas (gwei) is refunded to user at the end of a transaction.

 
See also Ethereum gas tracker for more information about the Gas used to estimate how long it will be before the transaction is accepted at a certain gas price.
 

Gas price

The price user pays for each unit increases or decreases how quickly the transaction will be mined.

During Token Creation Periods, these costs go rapidly high due to supply / demand:

The miner who mines the block gets the transaction fees and decides which transactions to include in the block. User usually sets such gas price that is high enough to make miners want to include it.

Miners mostly include transactions they received sorted from highest gas price to lowest until the block is full or until they reach one that has a gas price set lower than they are willing to bother with.


Error: Cannot send due to Insufficient funds

 
Insufficient Funds: The account you are trying to send the transaction from does not have enough funds required


This error means that user does not have enough Ether to cover the cost of gas. Each transaction (including token and contract transactions) require gas and that gas is paid in Ether.


ERC-20 Tokens

ERC-20 tokens are custom user cryptocurrencies created on Ethereum based on successful ERC-20 Token Standard. Currently, there are over 500,000 ERC-20 tokens in existence of which the most have no market value. 

See the full list here

 

How to use ERC-20 tokens with Trezor

ERC-20 tokens operate on the Ethereum blockchain. You can store them using your Ethereum account in Trezor Suite.

Every ERC-20 token can be stored using a Trezor device. 
 

  1. Open the Trezor Suite app or go to web interface at https://suite.trezor.io/web
  2. Choose Ethereum from the left panel.
  3. Go to the Receive tab.
  4. Click "Show full address".
  5. Check the address that matches the one on your Trezor.
  6. Copy the receiving address and use it as the destination address for sending your ERC-20 tokens.
  7. Once you have sent some tokens to the address, go to Tokens bookmark.
  8. If your tokens are not listed there you can add them manually. In order to, click on the three dots and Add token. Then enter the contract address. The contract addresses of all tokens can be found here: https://etherscan.io/tokens
 
Some of the ERC-20 tokens will not be recognized by Trezor firmware, but they still can be stored and sent using Trezor. The User has to specify the contract address of this token, and it will be shown as "unknown token".


Using Etherscan to find a token's contract address

If you do not know the contract address of the token you want to add, you can try searching for it on Etherscan by following these steps:

  1. In the search bar, type the ticker for your coin e.g. ZRX for 0x or UNI for Uniswap.
  2. Make sure you are clicking on the correct one as multiple tokens can use the same ticker.
  3. You will see the contract address on the right-hand side.
  4. Double check the address against the token project's official site and make sure it is the correct address, as some tokens may use multiple smart contracts.

Generally the contract address you are looking for will be shown alongside the supply, price, and other information. Contracts that are used for functionality alone will generally not show that information.



The following video also provides an overview of how to use ERC20 tokens in Trezor Suite:
 
  
Copyright belongs to Trezor company s.r.o. All rights reserved.