Learn about Ethereum

In this article, we take a deep dive into the world of Ethereum and include everything you would ever want to know about Ethereum, including its network fees and Gas, nonces and transactions, and finally some common errors you may come across.

In this article:

Other fantastic Exodus Ethereum Resources

What is Ethereum?

All about Ethereum

Ethereum is a blockchain network that went live on 30 July 2015. It was initially proposed by programmer Vitalik Buterin.

Ethereum is an open-source blockchain network that supports smart contracts. The native cryptocurrency of the Ethereum blockchain is the Ether (ETH) cryptocurrency, which is used to power the network.

Ethereum is also home to thousands of ERC20 tokens (fungible tokens), ERC721 tokens (non-fungible tokens) as well as many other decentralized apps and trying to redefine the internet with Web 3.0 - a decentralized internet.

Why Ethereum is powerful

Ethereum is a Turing complete blockchain platform that supports the creation of decentralized apps, custom tokens, and general programs using smart contracts - let’s unpack this!

In essence, Ethereum is a very powerful blockchain technology that allows anyone to build their own programs that can run on the ETH blockchain network. The fact that Ethereum is Turing complete is important, as it is the reason why Ethereum is so powerful. Turing complete means you can code pretty much anything you can think of and it will run on the ETH network. This also means that it can implement and understand any future coding ideas too.

When you build a decentralized app on Ethereum, what you are doing is writing code like a normal program, a program in Ethereum is called a smart contract. The term "smart contract" is another way of saying computer program.

Your smart contract is forever saved on the Ethereum blockchain and it is immutable once you deploy it. Meaning that once your program goes “live” on the ETH network, the code can’t be changed. This in-built safety feature allows you to trust that your code can’t be tampered with once it is on the ETH network, making it an incredibly secure platform to run your programs.

What is Ethereum gas?

Straight from ethereum.org we see that gas is:

“Gas refers to the unit that measures the amount of computational effort required to execute specific operations on the Ethereum network.”

What does this mean?

Every transaction on the Ethereum network will take up computer power and resources and therefore will have some sort of network fee associated with the transaction. Gas is the name given to this network fee you must pay. Gas is given in small denominations of ETH called GWEI.

What is GWEI?

GWEI is a smaller unit of ETH where:

1 GWEI = 0.000000001 ETH (or 10-9 ETH)

The reason GWEI is used for transaction fee prices is that the transaction fees on the Ethereum network are usually not too expensive, and has been found to most easily fit into the GWEI denomination of ETH, so it is easier to say “my transaction fee cost 50 GWEI” rather than "my transaction fee cost 0.00000005 ETH” or "my transaction fee cost 50000000000 WEI".

Ethereum actually has a lot of other denominations, most notably WEI which is the smallest denomination of ETH, and GWEI which is a GIGA-WEI, where:

1 WEI = 0.000000001 GWEI = 0.000000000000000001 ETH

You can see more denominations of ETH here: ETH Unit Converter.

What is a gas limit?

A gas limit is set for every transaction on the ETH network and refers to the maximum amount of Gas a particular transaction is willing to pay to confirm itself.

The minimum gas limit is set at 21,000 across the ETH network and there is no upper limit set for the network. The upper limit will be set by the user or wallet sending the transaction and will depend on the current market conditions as to what the limit will be.

The gas limit’s main use is to ensure you do not overpay network fees, as the gas limit will ensure that if your transaction is taking up more network resources than originally expected, the transaction will fail with Out of Gas.

What is a gas price?

Gas price refers to the amount of GWEI a transaction is willing to spend per unit of Gas in the Gas limit, look at the below section to see more.

How much do I pay for an Ethereum transaction?

We will use this Kyber token swap transaction as an example: 0x5cb018e5a7e17b310f0d201652765ab1fbef73064d004572a99919170cab6bbf

The first thing you will need to do is click on Click to see More.


Here we can first see:

  • The Gas Price was set to 0.0000000223125 ETH (22.3125 Gwei)
  • The Gas Limit was set to 65,142

Meaning the maximum amount of ETH that this transaction could ever use for the network fee would be:

Gas limit × Gas price = Maximum amount of ETH the transaction can use
65,142 × 0.0000000223125 ETH = 0.00145348087 ETH

If we look at Gas Used By Transaction on Etherscan, we can see that this transaction used 54,285 in Gas (83.33% of the original allocated 65,142).

Above, we figured out that the most amount of ETH that could be used in network fees for this transaction was 0.00145348087 ETH

This transaction did not need all of the resources allocated to it in the Gas limit, it only needed 83.33% of it. So we then do the following calculation to figure out the amount of ETH that was paid in this transaction:

Gas Used by Transaction × Gas Price = Gas used in the transaction
54,285 × 0.0000000223125 ETH = 0.0012112340625 ETH

We can confirm that this was the amount of ETH the transaction used by looking at the Transaction Fee.

What is an Ethereum nonce?

A nonce in the simplest terms is a value that can only be used once. The nonce in Ethereum is used as a counter to ensure a transaction can’t be sent twice, to protect against replay attack.

How do Ethereum nonces work?

In Ethereum, each transaction leaving your wallet will include a nonce automatically. All the nonce does is count the transactions that leave your wallet, it does not count transactions coming into your wallet. The nonce is included in all outgoing transactions, whether you are sending ETH, ERC20 tokens, NFTs or interacting with smart contracts.

If you create a brand new wallet and send one transaction from it, that nonce will equal 0. The next transaction you send from your wallet will be nonce 1 the next outgoing transaction will be nonce 2 etc.

Nonces must be confirmed in order from the lowest nonce to the highest nonce and you cannot skip confirming a nonce.

  • If you send two transactions, one transaction with nonce 30 and one transaction with nonce 3. the transaction with nonce 31 must wait for the transaction with nonce 30 before it can be confirmed.
  • You can’t send transactions out and skip nonces like so: 1, 2, 4, 5 since nonce 3 is missing and nonces can't be skipped.

To identify the nonce value of your transaction you can use a blockchain explorer like Etherescan. The nonce will be shown in your transaction details on Etherscan as shown in the picture below:

How does accelerating a stuck Ethereum transaction work in Exodus?

It uses nonces and something called Replace By Fee.

Let’s imagine you have sent a transaction out of your Exodus wallet at nonce 99 and set a low fee. After some time you realize it has gotten stuck and you would like to speed up the confirmation process, so you click on Accelerate and soon enough your transaction has confirmed, but how is this possible?

With the in-built Ethereum feature called Replace By Fee, your Exodus wallet is taking the stuck transaction at nonce 99, then it will rebroadcast the transaction with the same nonce and the same amount of ETH (or ERC20 token depending on what you have sent), but the transaction will have included a different network fee. In the example we mentioned accelerating your transaction would rebroadcast the transaction with the nonce value 99, however, it will rebroadcast the transaction with a higher fee to speed up the transaction.

In Exodus, the Gas Price gets bumped up 20% from the original Gas price but keeps the same Gas limit and same ETH (or ERC20) token value being sent.

The 20% higher Gas Price is enough to ensure your transaction gets confirmed in a reasonable time!

How do Ethereum nonces impact me?

In general, you might not even notice, nor need to know how nonces work. They are supposed to be automatic and “hidden”. However there will be times when maybe your transaction gets stuck, and then nothing will send from your wallet. This is due to nonces!

Nonces must be confirmed in order - what does this mean? Let’s explain with an example:

If you send transactions from your wallet, for example at nonce 44, then send another transaction which will be nonce 45, and then another transaction at nonce 46. Now let’s imagine the transaction at nonce 44 got stuck for some reason, then the transactions at nonce 45 and 46 cannot, and will not be confirmed until the nonce 44 transaction has been confirmed. This is in-built into Ethereum and why nonces are important, they must always be confirmed in order from lowest nonce to highest nonce in the mempool.

This is what it looks like if you have unconfirmed transactions at lower nonces that your current transaction is waiting for to confirm:

Ethereum errors, what do they mean?

Out of Gas

This error will occur when your transaction has hit the Gas limit as more resources are needed to confirm the transaction.

When you encounter this error, the amount of ETH (or ERC20) does not leave your address. As this error occurs when the transaction needs more Gas than the Gas limit that was set for the transaction, this transaction will use all of the Gas until it hits the Gas limit and then fails with the error "Out of Gas". This means the ETH from the transaction will not leave your address but the Gas used in the transaction will be deducted. This is because that amount of resources was already used in this transaction, even though the transaction did not get confirmed.

This will usually happen if you are interacting with a resource-heavy smart contract that needs to run lots of code to perform your transaction.

Your Exodus wallet will automatically set the Gas limit for you to ensure you always have the appropriate limit set, however, The “Out of Gas” error can happen if you are interacting with a resource-heavy smart contract that needs to run lots of code to perform your transaction. When this happens, it is best to find out what the appropriate Gas limit is from whoever is maintaining the smart contract you are interacting with.


This error will occur for many reasons, it is usually specific to the smart contract you are interacting with.

When you encounter this error, it is almost as if the transaction never happened, so the amount of ETH (or ERC20) does not leave your address, however, the amount of ETH used to pay the Gas network fee still gets deducted from your wallet as that amount of resources was already used in this transaction, even though the transaction did not get confirmed. You just won’t max out the Gas Limit like an "Out of Gas" error, so in this "Reverted" case, you will not waste as much ETH in network fees.

Bad jump destination

This error will occur for many reasons, it is usually specific to the smart contract you are interacting with.

When you encounter this error, it is best to contact the maintainer of the smart contract you are interacting with to understand why you are receiving this error.

Bad instruction

This error will occur for many reasons, it is usually specific to the smart contract you are interacting with.

When you encounter this error, it is best to contact the maintainer of the smart contract you are interacting with to understand why you are receiving this error.

Why does my Ethereum address have both uppercase and lowercase letters?

The Ethereum (ETH) address is not case-sensitive. It doesn’t affect the functionality of an Ethereum address if you enter the letters as uppercase or lowercase - you can send and receive your funds regardless.

However, looking at your Ethereum address, you will notice that it contains both uppercase and lowercase letters. This means your address is checksummed. The checksum is in place to prevent transactions from being sent to the wrong destination address by accident.

If you use the checksummed version and mistype it, Exodus will warn you that the address is not formatted correctly and won’t let you send it.

It is always best practice to either copy and paste addresses or scan a QR code. This is because it is very easy to make a mistake when entering an address by hand. If even one character of an address is wrong, your funds will be sent to a different address and be lost forever.