A transaction is basically the act of transferring Ethereum-based assets from one address to another that is initiated from your wallet (What is a wallet?). The exact steps may vary from one platform to the other, but they generally follow a similar process as shown in our tutorial here.
Types of Transaction
Before we get to know how a transaction works, there are basically three types of transactions that you can perform on the Ethereum blockchain.
- Normal Transaction:
A transaction where an EOA (or typically referred to as a wallet address) sends ETH directly to another EOA. When viewing an address on Etherscan, this type of transactions will be shown under the Transaction tab. Click here for a sample transaction.
- Internal Transaction:
This refers to a transfer of ETH that is carried out through a smart contract as the (some sort of) intermediary. When viewing an address on Etherscan, this type of transactions will be shown under the Internal Txns tab. Click here for a sample transaction.
- Token Transfer:
For transactions of ERC-20 and ERC-721 tokens, they are labelled as a Token Transfer transaction. When viewing an address on Etherscan, this type of transactions will be shown under either the Erc20 Token Txns or Erc721 Token Txns tab, depending on the respective token's type. Click here for a sample transaction.
The Life Cycle of a Transaction
A transaction starts (or is created) when a user initiates through their wallet to transfer or move assets from their wallet address to another wallet address or contract address.
Once a transaction is created, a transaction hash (also known as a Transaction ID or txhash) is assigned to this transaction. This acts like a reference number for the parties involved in the transaction. You can use this to look up this transaction and find out its status and details on block explorer platforms such as ours.
After the transaction is created, it is broadcasted to the network, into a pool with other transactions where miners pick the transactions to be included into a block on the blockchain. This process is usually what determines how long a transaction will take.
During this process, there are two factors that ultimately determine the time taken for your transaction to be verified: the network traffic and your transaction's gas fee (What is Gas Fee?).
i. Network Traffic:
On paper, the current Ethereum network is capable of processing an average of 15 transactions per second so if your transaction is taking much longer than usual to be confirmed or the recommended gas fee is higher than normal, then chances are the traffic is congested.
ii. Gas Fee:
When the traffic gets congested, miners would often prioritize transactions with higher gas fees first. This leaves those with lower gas fees to be stuck in the pending status. On Etherscan, we have a feature that calculates and proposes a recommended gas price for a transaction depending on the network traffic and the average gas price. This feature is called the Gas Tracker and is accessible here.
Once your transaction has been picked up and verified by a miner, the transaction is then considered as successful and complete. The status on its Etherscan Transaction Details page will now read "Success" and you can expect to see your new ETH/token balance be updated on your wallet soon.
But wait, there is still another factor to be aware of when expecting an incoming transaction and that is the block confirmation number. A block confirmation number denotes the number of block in the blockchain that has been processed (or mined) since the block that your transaction was in was processed. For example, a transaction with a 5 block confirmation number means that five blocks have been confirmed since the block that the transaction is in was processed.
Different wallet/exchange platforms require different minimum block confirmation numbers (for example, Binance requires a minimum of 12 block confirmation number) and so the waiting time for an asset to be reflected on a wallet or an exchange may vary greatly. Please refer with your service provider for more information on this.
If your transaction is not successful, please refer to our article here to understand the reasons it failed and what to do next.
If your transaction is stuck in a pending status, please refer to our article here on how to cancel/replace the said transaction.
TL;DR The Life Cycle of a Transaction
- A transaction is created.
- The transaction creator gets a transaction hash (also known as a Transaction ID or txhash) that anyone can use to look for the transaction on a block explorer.
- The transaction gets broadcasted to the network and then waits for a miner to pick it up and verify it.
- The waiting time depends on the network's current traffic and the gas fee set for the transaction.
- The transaction is completed and considered as a success once it has been picked up and verified by a miner.
- If the transaction has failed, please refer here.
- If the transaction is stuck in a pending status, please refer here.