Block 21VIDEO

Anatomy of an Ethereum Transaction

The fields of an Ethereum transaction explained: nonce, gas price, gas limit, recipient, value, data and v, r, s, plus the EIP-1559 fee fields used since 2021.

Here’s a video I made about the components of a transaction in Ethereum:

Here are the components of a transaction summarized:

  • Nonce (a counter of the transactions sent by the account; it stops a transaction from being replayed on the same chain)
  • GasPrice (in wei per unit of gas)
  • GasLimit (in units of gas, not wei: the most gas the transaction may use. The fee is the gas used times the gas price)
  • Recipient (an ethereum address)
  • Value (can be zero)
  • Data (can be empty)
  • v, r, s (the ECDSA signature. Since EIP-155, v also encodes the chain ID, so a transaction signed for one chain cannot be replayed on another)

Also I made another video where I go into ethereum’s block explorer etherscan.io and point out all the parts we mentioned in a real world transaction. Watch it here:

Links in the video:

I hope you enjoyed this new video format. I registered it all in one shot without too much editing to optimize my time, so let me know in the comments if I messed up something, if you have questions or cool discussions to raise.

Update, 2026

The list above describes a legacy transaction, which is still valid. Since the London upgrade in 2021 (EIP-1559), most transactions are type 2 and look like this:

Field Meaning
chainId The network the transaction is for (1 for mainnet, 11155111 for Sepolia). In legacy transactions it is folded into v (EIP-155); here it is a field of its own.
nonce Same as before: the sender’s transaction counter.
maxPriorityFeePerGas The tip per unit of gas for the block producer, in wei.
maxFeePerGas The most you will pay per unit of gas, in wei. You pay the block’s base fee plus the tip, capped at this value; the base fee is burned.
gasLimit The maximum gas the transaction may use, in units of gas.
to, value, data Same as before.
accessList Optional list of addresses and storage keys the transaction will touch (EIP-2930).
yParity, r, s The signature. yParity is 0 or 1 and replaces v.

In short, the single gasPrice of a legacy transaction becomes two fields, maxFeePerGas and maxPriorityFeePerGas. There are other transaction types too, such as type 1 (access lists only), type 3 (blob transactions for rollups, EIP-4844) and type 4 (EIP-7702, which lets an account set code), but type 2 is the one most wallets send by default.

Two more things changed since the video: Ethereum moved from proof of work to proof of stake in 2022, so blocks are produced by validators instead of miners, and the testnet to use is now Sepolia.