When you click “Send” on MetaMask or call a smart contract function, what actually happens behind the scenes?
Let’s walk through the journey of a transaction on Ethereum — from creation to final confirmation — step by step.
🧩 What Is a Transaction?
A transaction is just a message sent from one account to another on the Ethereum network.
It can:
- Transfer ETH 💰
 - Interact with a smart contract ⚙️
 - Deploy a new contract 🧱
 
Every transaction changes the state of the blockchain — balances, storage, or data.
🚀 Step 1: Creating the Transaction
When you initiate a transaction in your wallet (e.g. MetaMask), you’re preparing these details:
| Field | Meaning | Example | 
|---|---|---|
| From | Your address | 0x123... | 
| To | Receiver address or contract | 0xABC... | 
| Value | ETH amount to send | 0.1 ETH | 
| Data | Encoded function call (optional) | 0xa9059cbb... | 
| Gas Limit | Max gas you’ll allow | 100,000 | 
| Max Fee / Gas Price | How much ETH you’ll pay per gas unit | 30 Gwei | 
Once you hit “Confirm,” your wallet:
- Estimates gas
 - Signs the transaction using your private key 🔐
 - Broadcasts it to the Ethereum network
 
🌐 Step 2: Broadcasting the Transaction
The signed transaction is sent to Ethereum nodes through your connected RPC (e.g. Infura, Alchemy, or your own node).
These nodes check:
- Is the signature valid?
 - Does the sender have enough balance for gas + value?
 - Is the nonce correct (no duplicates)?
 
If valid ✅ → it goes into the mempool (short for memory pool).
🧮 Step 3: Waiting in the Mempool
Think of the mempool as a waiting room.
It holds all valid but unconfirmed transactions.
Miners (or validators in Proof of Stake) pick from this pool — usually starting with transactions offering higher fees.
So if you set a low gas price, your transaction may stay stuck in the mempool for a while ⏳.
⚙️ Step 4: Block Proposal (Mining / Validation)
Once a validator (in PoS) chooses your transaction, it becomes part of a block proposal.
In Proof of Stake:
- Validators are randomly selected to propose the next block.
 - They include a set of transactions from the mempool.
 - Other validators then attest that the block is valid.
 
If approved → your transaction officially enters the blockchain!
🔗 Step 5: Execution by the EVM
Inside the block, the Ethereum Virtual Machine (EVM) executes your transaction.
It:
- Reads your transaction data
 - Runs the contract code (if any)
 - Calculates gas used
 - Updates account balances and storage
 
If something fails (e.g., not enough gas or a revert), the transaction fails but still consumes gas for the work done.
✅ Step 6: Block Confirmation
Once your transaction is included in a block, it’s confirmed.
But to be extra safe, Ethereum waits for multiple confirmations (e.g. 12 blocks) before considering it final — because in rare cases, blocks can be reorganized.
Your wallet or blockchain explorer (like Etherscan) will show:
✅ “Transaction Confirmed in Block #XXXXXXX”
🔥 Step 7: Fee Burning (EIP-1559)
With EIP-1559, part of your transaction fee (the base fee) is burned — permanently removed from circulation — reducing ETH supply.
Only the tip (priority fee) goes to the validator as a reward.
📊 Summary: Transaction Lifecycle Overview
| Step | What Happens | Who’s Involved | 
|---|---|---|
| 1️⃣ Create | User signs the transaction | Wallet | 
| 2️⃣ Broadcast | Transaction sent to network | RPC / Nodes | 
| 3️⃣ Mempool | Waiting to be picked | Network | 
| 4️⃣ Block Proposal | Added to block | Validator | 
| 5️⃣ Execution | Code and state updated | EVM | 
| 6️⃣ Confirmation | Added to blockchain | Validators | 
| 7️⃣ Finality | Transaction irreversible | Network | 
🧠 Example (Simple ETH Transfer)
- You send 1 ETH to a friend
 - Wallet signs and sends transaction
 - It enters the mempool
 - Validator picks it and adds it to a block
 - The EVM deducts 1 ETH from your balance and adds to your friend’s
 - Transaction gets confirmed and visible on Etherscan
 
Done ✅ — simple as that, but under the hood, it’s a complex, elegant system keeping the network in sync.
🔍 For Auditors & Devs
As a smart contract auditor or dev, understanding this lifecycle helps you:
- Trace how reverts and gas refunds happen
 - Understand nonce management
 - Analyze mempool-related exploits (like frontrunning or sandwich attacks)
 - Verify finality and replay safety
 
    
Top comments (0)