For the complete documentation index, see llms.txt. This page is also available as Markdown.

eth_createAccessList - GIWA

Example code for the eth_createAccessList JSON-RPC method. Complete guide on how to use eth_createAccessList JSON-RPC in GetBlock Web3 documentation.

This method returns an EIP-2930 access list for a transaction along with the gas used, which can reduce gas costs for transactions that touch many storage slots.

Parameters

Parameter
Type
Required
Description

transaction

object

Yes

Transaction call object

blockParameter

string

No

Block number in hex, or "latest", "pending"

Transaction Object

Field
Type
Required
Description

from

string

No

20-byte sender address

to

string

Yes

20-byte recipient/contract address

data

string

No

Encoded function call data

Request

curl --location --request POST 'https://shared.ap-southeast-1.getblock.io/<ACCESS-TOKEN>/' \
--header 'Content-Type: application/json' \
--data-raw '{
    "jsonrpc": "2.0",
    "method": "eth_createAccessList",
    "params": [{ "from": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045", "to": "0x4200000000000000000000000000000000000006", "data": "0x70a08231000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045" }, "latest"],
    "id": "getblock.io"
}'
example.js
const axios = require('axios');

const response = await axios.post('https://shared.ap-southeast-1.getblock.io/<ACCESS-TOKEN>/', {
    jsonrpc: '2.0',
    method: 'eth_createAccessList',
    params: [{ from: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', to: '0x4200000000000000000000000000000000000006', data: '0x70a08231000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045' }, 'latest'],
    id: 'getblock.io'
}, {
    headers: { 'Content-Type': 'application/json' }
});

console.log(response.data.result);
example.py
import requests

response = requests.post(
    'https://shared.ap-southeast-1.getblock.io/<ACCESS-TOKEN>/',
    headers={'Content-Type': 'application/json'},
    json={
        'jsonrpc': '2.0',
        'method': 'eth_createAccessList',
        'params': [{ 'from': '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', 'to': '0x4200000000000000000000000000000000000006', 'data': '0x70a08231000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045' }, 'latest'],
        'id': 'getblock.io'
    }
)

print(response.json())

Response

Response Parameters

Parameter
Type
Description

jsonrpc

string

JSON-RPC protocol version ("2.0")

id

string

Request identifier matching the request

result

object

Access list plus gas used (see fields below)

Result Object

Field
Type
Description

accessList

array

Addresses and storage keys the transaction accesses

gasUsed

string

Gas used when the access list is applied (hex)

Use Cases

  • Gas Optimization: Attach an access list to reduce SLOAD costs on hot slots

  • Type-1 Transactions: Build EIP-2930 access-list transactions

  • Simulation: Discover which storage slots a call touches

  • Tooling: Feed generated access lists into transaction builders

Error Handling

Error Code
Message
Description

-32602

Invalid params

Malformed transaction object or block parameter

-32000

Execution error

The transaction failed while building the access list

Web3 Integration

Last updated

Was this helpful?