---
updatedAt: 2026-05-27T08:52:06.000Z
agentTools:
  projectIndex: https://docs.tatum.io/llms.txt
---

# eth_createAccessList - Ethereum

Ethereum API - Creates an EIP2930 type `accessList` based on a given Transaction object. Returns list of addresses and storage keys that are read and written by the transaction (except the sender account and precompiles), plus the estimated gas consumed when the access list is added.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "eth_createAccessList - Ethereum",
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://{ethereum-network}.gateway.tatum.io",
      "description": "RPC Gateway - Recommended",
      "variables": {
        "ethereum-network": {
          "enum": [
            "ethereum-mainnet",
            "ethereum-sepolia",
            "ethereum-hoodi"
          ],
          "default": "ethereum-mainnet"
        }
      }
    },
    {
      "url": "https://api.tatum.io/v3/blockchain/node/{ethereum-network}",
      "description": "Deprecated",
      "variables": {
        "ethereum-network": {
          "enum": [
            "ethereum-mainnet",
            "ethereum-sepolia",
            "ethereum-hoodi"
          ],
          "default": "ethereum-mainnet"
        }
      }
    }
  ],
  "x-sandbox": {
    "category": {
      "type": {
        "name": "category",
        "type": "string",
        "enum": [
          "core",
          "bundler",
          "nft",
          "token",
          "transfers",
          "transaction-receipts",
          "gas-manager",
          "trace",
          "debug",
          "gas-optimized-transactions",
          "private-transactions",
          "notify",
          "transaction-simulation"
        ]
      },
      "value": "core"
    }
  },
  "paths": {
    "/": {
      "post": {
        "x-readme": {
          "samples-languages": [
            "shell",
            "javascript",
            "python",
            "java",
            "php"
          ]
        },
        "summary": "eth_createAccessList - Ethereum",
        "description": "Ethereum API - Creates an EIP2930 type `accessList` based on a given Transaction object. Returns list of addresses and storage keys that are read and written by the transaction (except the sender account and precompiles), plus the estimated gas consumed when the access list is added.",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "allOf": [
                  {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "integer",
                        "default": 1
                      },
                      "jsonrpc": {
                        "type": "string",
                        "default": "2.0"
                      }
                    }
                  },
                  {
                    "type": "object",
                    "properties": {
                      "method": {
                        "default": "eth_createAccessList",
                        "type": "string"
                      },
                      "params": {
                        "type": "array",
                        "description": "1. Transaction Object\n2. Blog number or block tag\n",
                        "minItems": 1,
                        "maxItems": 2,
                        "items": {
                          "anyOf": [
                            {
                              "$ref": "#/paths/~1/post/requestBody/content/application~1json/schema/allOf/1/properties/params/prefixItems/0"
                            },
                            {
                              "$ref": "#/paths/~1/post/requestBody/content/application~1json/schema/allOf/1/properties/params/prefixItems/1",
                              "default": "pending"
                            }
                          ]
                        },
                        "prefixItems": [
                          {
                            "type": "object",
                            "description": "The transaction call object",
                            "title": "Transaction Object",
                            "properties": {
                              "from": {
                                "type": "string",
                                "description": "20 Bytes - The address the transaction is sent from.",
                                "pattern": "^0[xX][0-9a-fA-F]{40}$"
                              },
                              "to": {
                                "type": "string",
                                "description": "20 Bytes - The address the transaction is directed to",
                                "default": "0xd46e8dd67c5d32be8058bb8eb970870f07244567",
                                "pattern": "^0[xX][0-9a-fA-F]{40}$"
                              },
                              "gas": {
                                "type": "string",
                                "description": "Hex string of the integer of gas provided for the transaction execution.",
                                "pattern": "^0[xX]([1-9a-fA-F][0-9a-fA-F]*|0)$",
                                "default": "0x0"
                              },
                              "gasPrice": {
                                "type": "string",
                                "description": "Hex string of the integer of gasPrice used for each paid gas.\n<br/><strong>NOTE:</strong> most of our users <b>(95%+)</b> never set the gasPrice on eth_call.\n",
                                "pattern": "^0[xX]([1-9a-fA-F][0-9a-fA-F]*|0)$",
                                "default": "0x9184e72a000"
                              },
                              "value": {
                                "type": "string",
                                "description": "Hex string of the integer of value sent with this transaction",
                                "pattern": "^0[xX]([1-9a-fA-F][0-9a-fA-F]*|0)$",
                                "default": "0x0"
                              },
                              "data": {
                                "type": "string",
                                "description": "Hash of the method signature and encoded parameters",
                                "pattern": "^0[xX][0-9a-fA-F]*$",
                                "default": "0x"
                              }
                            },
                            "required": [
                              "to"
                            ]
                          },
                          {
                            "default": "pending",
                            "type": "string",
                            "title": "Block Number or Tag",
                            "description": "String - Either the hex value of a **block number** OR One of the following **block tags**:\n  * `pending` - A sample next block built by the client on top of latest and containing the set of transactions usually taken from local mempool. Intuitively, you can think of these as blocks that have not been mined yet.\n  * `latest` - The most recent block in the canonical chain observed by the client, this block may be re-orged out of the canonical chain even under healthy/normal conditions.\n  * `earliest` - The lowest numbered block the client has available. Intuitively, you can think of this as the first block created.\n"
                          }
                        ]
                      }
                    }
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "",
            "content": {
              "application/json": {
                "schema": {
                  "allOf": [
                    {
                      "type": "object",
                      "properties": {
                        "id": {
                          "type": "integer"
                        },
                        "jsonrpc": {
                          "type": "string"
                        }
                      }
                    },
                    {
                      "type": "object",
                      "properties": {
                        "result": {
                          "type": "object",
                          "description": "Returns list of addresses and storage keys that are read and written by the transaction (except the sender account and precompiles), plus the estimated gas consumed when the access list is added.",
                          "properties": {
                            "accessList": {
                              "description": "list of objects containing addresses and storage keys",
                              "type": "array",
                              "items": {
                                "type": "object",
                                "properties": {
                                  "address": {
                                    "type": "string",
                                    "description": "address read or written by the transaction"
                                  },
                                  "storageKeys": {
                                    "type": "array",
                                    "description": "list of storage keys used by the transaction",
                                    "items": {
                                      "type": "string"
                                    }
                                  }
                                }
                              }
                            },
                            "gasUsed": {
                              "type": "string",
                              "description": "estimated gas consumed when the access list is added. Note, adding an `accessList` to your transaction does not necessary result in lower gas usage compared to a transaction without an `accessList`."
                            }
                          },
                          "example": {
                            "id": 1,
                            "jsonrpc": "2.0",
                            "result": "0x5b3c3f3f5cbf12c9c9d79b97c52b8f26a89e55e1"
                          }
                        }
                      }
                    }
                  ]
                }
              }
            }
          }
        },
        "operationId": "rpc-ethereum-eth_createaccesslist",
        "security": [
          {
            "X-API-Key": []
          }
        ]
      }
    }
  },
  "components": {
    "securitySchemes": {
      "X-API-Key": {
        "type": "apiKey",
        "name": "x-api-key",
        "in": "header",
        "description": "Your **API key** is used to identify your account & your plan, including the number of API calls per second and total monthly calls you have.\n\nEach key is for individual use only.\n\nIf you don't have a key already you can [Sign up for a Free Tatum account](https://co.tatum.io/signup) to get two keys (testnet and mainnet), allowing up to 5 API calls per second and 1,000,000 Credits.\n\nFor testing purposes, you can use the following key which only works inside docs and has limited functionality (e.g. you cannot create virtual accounts or notification subscriptions with it):\n* t-66a730ccccfd17001c479705-2f597d14ad7543f289a03418\n\nFor more details on limits and plans, [click here](https://docs.tatum.io/docs/plans-limits).\n"
      }
    }
  }
}
```