eth_createAccessList
curl --request POST \
--url https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/ \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_createAccessList",
"params": [
{
"from": "0x5d20879655df3c1e04ab111af0009ad650e762f0",
"to": "0x7798f2eb73c1dd8fa8086d780d5cf114a10f528e",
"gas": "0xf4240",
"data": "0x"
},
"latest"
]
}
'import requests
url = "https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_createAccessList",
"params": [
{
"from": "0x5d20879655df3c1e04ab111af0009ad650e762f0",
"to": "0x7798f2eb73c1dd8fa8086d780d5cf114a10f528e",
"gas": "0xf4240",
"data": "0x"
},
"latest"
]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
id: 1,
jsonrpc: '2.0',
method: 'eth_createAccessList',
params: [
{
from: '0x5d20879655df3c1e04ab111af0009ad650e762f0',
to: '0x7798f2eb73c1dd8fa8086d780d5cf114a10f528e',
gas: '0xf4240',
data: '0x'
},
'latest'
]
})
};
fetch('https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => 1,
'jsonrpc' => '2.0',
'method' => 'eth_createAccessList',
'params' => [
[
'from' => '0x5d20879655df3c1e04ab111af0009ad650e762f0',
'to' => '0x7798f2eb73c1dd8fa8086d780d5cf114a10f528e',
'gas' => '0xf4240',
'data' => '0x'
],
'latest'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/"
payload := strings.NewReader("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_createAccessList\",\n \"params\": [\n {\n \"from\": \"0x5d20879655df3c1e04ab111af0009ad650e762f0\",\n \"to\": \"0x7798f2eb73c1dd8fa8086d780d5cf114a10f528e\",\n \"gas\": \"0xf4240\",\n \"data\": \"0x\"\n },\n \"latest\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/")
.header("Content-Type", "application/json")
.body("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_createAccessList\",\n \"params\": [\n {\n \"from\": \"0x5d20879655df3c1e04ab111af0009ad650e762f0\",\n \"to\": \"0x7798f2eb73c1dd8fa8086d780d5cf114a10f528e\",\n \"gas\": \"0xf4240\",\n \"data\": \"0x\"\n },\n \"latest\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_createAccessList\",\n \"params\": [\n {\n \"from\": \"0x5d20879655df3c1e04ab111af0009ad650e762f0\",\n \"to\": \"0x7798f2eb73c1dd8fa8086d780d5cf114a10f528e\",\n \"gas\": \"0xf4240\",\n \"data\": \"0x\"\n },\n \"latest\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": {
"accessList": [],
"gasUsed": "0x5236",
"error": "execution reverted"
}
}Arc node API
eth_createAccessList | Arc
Arc API method that creates an EIP-2930 access list for a transaction. The access list identifies storage slots and addresses the transaction will access.
POST
/
eth_createAccessList
curl --request POST \
--url https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/ \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "eth_createAccessList",
"params": [
{
"from": "0x5d20879655df3c1e04ab111af0009ad650e762f0",
"to": "0x7798f2eb73c1dd8fa8086d780d5cf114a10f528e",
"gas": "0xf4240",
"data": "0x"
},
"latest"
]
}
'import requests
url = "https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "eth_createAccessList",
"params": [
{
"from": "0x5d20879655df3c1e04ab111af0009ad650e762f0",
"to": "0x7798f2eb73c1dd8fa8086d780d5cf114a10f528e",
"gas": "0xf4240",
"data": "0x"
},
"latest"
]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
id: 1,
jsonrpc: '2.0',
method: 'eth_createAccessList',
params: [
{
from: '0x5d20879655df3c1e04ab111af0009ad650e762f0',
to: '0x7798f2eb73c1dd8fa8086d780d5cf114a10f528e',
gas: '0xf4240',
data: '0x'
},
'latest'
]
})
};
fetch('https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => 1,
'jsonrpc' => '2.0',
'method' => 'eth_createAccessList',
'params' => [
[
'from' => '0x5d20879655df3c1e04ab111af0009ad650e762f0',
'to' => '0x7798f2eb73c1dd8fa8086d780d5cf114a10f528e',
'gas' => '0xf4240',
'data' => '0x'
],
'latest'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/"
payload := strings.NewReader("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_createAccessList\",\n \"params\": [\n {\n \"from\": \"0x5d20879655df3c1e04ab111af0009ad650e762f0\",\n \"to\": \"0x7798f2eb73c1dd8fa8086d780d5cf114a10f528e\",\n \"gas\": \"0xf4240\",\n \"data\": \"0x\"\n },\n \"latest\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/")
.header("Content-Type", "application/json")
.body("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_createAccessList\",\n \"params\": [\n {\n \"from\": \"0x5d20879655df3c1e04ab111af0009ad650e762f0\",\n \"to\": \"0x7798f2eb73c1dd8fa8086d780d5cf114a10f528e\",\n \"gas\": \"0xf4240\",\n \"data\": \"0x\"\n },\n \"latest\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://arc-testnet.core.chainstack.com/6caa7fd90475ac9214f7521dd460fa7c/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"eth_createAccessList\",\n \"params\": [\n {\n \"from\": \"0x5d20879655df3c1e04ab111af0009ad650e762f0\",\n \"to\": \"0x7798f2eb73c1dd8fa8086d780d5cf114a10f528e\",\n \"gas\": \"0xf4240\",\n \"data\": \"0x\"\n },\n \"latest\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": 1,
"result": {
"accessList": [],
"gasUsed": "0x5236",
"error": "execution reverted"
}
}Arc API method that creates an EIP-2930 access list for a transaction. The access list identifies storage slots and addresses the transaction will access, which can be used to optimize gas costs.
Get your own node endpoint todayStart for free and get your app to production levels immediately. No credit card required.You can sign up with your GitHub, X, Google, or Microsoft account.
Parameters
transactionObject— the transaction call object:from— (optional) sender addressto— recipient addressgas— (optional) gas limitgasPrice— (optional) gas pricevalue— (optional) value to senddata— (optional) call data
blockParameter— the block number (hex) or tag (latest,earliest,pending)
Response
result— an object containing:accessList— an array of access list entries (address and storage keys)gasUsed— the gas used by the transaction with the access list applied
eth_createAccessList code examples
curl -X POST "CHAINSTACK_NODE_URL" \
-H "Content-Type: application/json" \
-d '{"jsonrpc": "2.0", "method": "eth_createAccessList", "params": [{"to": "0x20c0000000000000000000000000000000000000", "data": "0x95d89b41"}, "latest"], "id": 1}'
Last modified on August 3, 2026
Was this page helpful?
⌘I