Try it Live
Run Transaction examples in the interactive playground
EIP-2930 Transactions
Access list transactions introduced in Berlin hard fork for gas optimization.Overview
EIP-2930 transactions (Type 1) add access lists to pre-declare which accounts and storage slots will be accessed. This reduces gas costs by avoiding cold access penalties introduced in Berlin.Type Definition
Creating EIP-2930 Transactions
Access Lists
Purpose
Access lists reduce gas costs by pre-declaring account and storage access:- Cold account access: 2600 gas → 100 gas (list) + 2400 gas (access)
- Cold storage access: 2100 gas → 1900 gas (list) + 100 gas (access)
Structure
Gas Cost
Adding to access list has upfront cost:- Per address: 2400 gas
- Per storage key: 1900 gas
- Accessing address once: no savings (2400 + 2400 = 4800 vs 2600 + 2600 = 5200)
- Accessing 2+ times: savings
Example
Building Access Lists
eth_createAccessList RPC
Most nodes provideeth_createAccessList to automatically generate access lists:
Manual Construction
Methods
All standard transaction methods work with EIP-2930:RLP Encoding
EIP-2930 uses typed transaction envelope:yParity vs v
EIP-2930 usesyParity (0 or 1) instead of v:
Gas Optimization Strategies
When to Use Access Lists
Access lists are beneficial when:- Accessing same account/storage multiple times
- Complex contract interactions
- Gas savings > access list overhead
When NOT to Use
Access lists add overhead for:- Simple ETH transfers (no storage access)
- Single storage reads
- Small transactions
Optimization Example
Comparison with Legacy
| Feature | Legacy | EIP-2930 |
|---|---|---|
| Type byte | None (RLP) | 0x01 |
| Chain ID | In v | Explicit |
| Signature | v/r/s | yParity/r/s |
| Gas price | gasPrice | gasPrice |
| Access list | No | Yes |
| Gas optimization | No | Yes |
Comparison with EIP-1559
| Feature | EIP-2930 | EIP-1559 |
|---|---|---|
| Type byte | 0x01 | 0x02 |
| Gas pricing | Fixed | Dynamic |
| Access list | Yes | Yes |
| Base fee | No | Yes |
| Priority fee | No | Yes |
When to Use
Use EIP-2930 for:- Gas optimization on Berlin+ networks
- Fixed gas price with access list benefits
- Networks without EIP-1559
- Modern Ethereum (better gas pricing)
- Most new applications
- Maximum compatibility
- Pre-Berlin networks

