Skip to main content
Access lists (EIP-2930) specify which addresses and storage slots a transaction will access, enabling gas savings by pre-warming these locations before execution.

Overview

AccessList is a branded array type representing EIP-2930 access lists. Each entry contains a contract address and the storage keys that will be accessed at that address.

Quick Start

API Reference

Constructors

Gas Calculation

Queries

Manipulation

Validation & Conversion

Constants

Practical Examples

Transaction with Access List

Merging Access Lists from Simulation

Finding Accessed Storage

When to Use Access Lists

Access lists provide net gas savings when:
  1. Multiple cold accesses: Accessing the same address/slot multiple times
  2. Complex DeFi operations: Swaps, lending, multi-hop transactions
  3. Batch operations: Multiple transfers or contract interactions
  4. Contract calls with many SLOAD: Storage-heavy operations
The break-even point:
  • Address: Saves 200 gas per address (2600 - 2400)
  • Storage key: Saves 200 gas per key (2100 - 1900)
Use hasSavings() to verify before including in transactions.

RLP Encoding

Access lists encode as RLP for transaction serialization:

Transaction

Ethereum transactions with access list support

Address

Ethereum addresses for access list entries

Hash

32-byte storage keys

RLP

Recursive Length Prefix encoding