eth_createAccessList
Generates an access list for a transaction.
Ethereum specification · All supported methods
Parameters
Parameters are positional, in the order below.
| Parameter | Type | Required | Description |
|---|---|---|---|
Transaction | Transaction object | Yes | Transaction fields for the call. |
Block | Block number, tag, or EIP-1898 hash selector | No | The state is the one after the block has been executed. |
Transaction fields
| Field | Meaning |
|---|---|
from | Sender address used during execution |
to | Destination address; omit for contract creation where supported |
data or input | Encoded call data or contract creation code; use one field |
value | Value transferred in wei, as a hexadecimal quantity |
gas | Gas allowance for the simulation, as a hexadecimal quantity |
gasPrice | Legacy gas price in wei; use instead of EIP-1559 fee fields |
maxFeePerGas, maxPriorityFeePerGas | EIP-1559 fee limits in wei, where applicable |
accessList | Addresses and storage keys supplied for execution |
Return value
An object containing the generated accessList, the estimated gasUsed, and an error field when execution reports an error.
The returned object includes these fields:
| Field | Type | Description |
|---|---|---|
accessList | accessList | Addresses and storage keys accessed by the transaction. |
error | error | Execution error, when the simulation reports one. |
gasUsed | Hexadecimal quantity | Execution gas consumed. |
Example
Replace <gateway-url> with your gateway base URL and <service-url> with the chain’s service path, such as service/ethereum.
sh
curl -X POST "<gateway-url>/<service-url>" \
-H "Content-Type: application/json" \
--data '{"jsonrpc":"2.0","id":1,"method":"eth_createAccessList","params":[{"from":"0xaea8f8f781326bfe6a7683c2bd48dd6aa4d3ba63","input":"0x608060806080608155"},"latest"]}'Illustrative response; values depend on the selected network and request:
json
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"accessList": [
{
"address": "0xa02457e5dfd32bda5fc7e1f1b008aa5979568150",
"storageKeys": [
"0x0000000000000000000000000000000000000000000000000000000000000081"
]
}
],
"gasUsed": "0x125f8"
}
}Direct behavior
State at the network head and its 128 preceding blocks is available through the recent service. Older state requests are automatically routed to providers with archive state.
Requests using latest follow Direct’s reference-block rules. The selected reference is preserved during recovery; separate requests can see a newer reference.
Limits
Simulations allow up to 30 million gas per call. Omitted gas uses that ceiling; an explicit higher allowance is rejected rather than silently reduced. State and block overrides are not included in the supported contract.
There is no separate address or storage-key count limit; the complete generated list must fit the response ceiling.
For providers
Support the recent-state window and the covered EIP-1898 selectors, including requireCanonical. Historical requests require verified archive state.
This method is checked independently as an optional method capability. Failure does not disqualify ordinary RPC service. Historical coverage is checked in combination with the relevant history capability.
See provider qualification for checks and continued eligibility.