> ## Documentation Index
> Fetch the complete documentation index at: https://docs.validationcloud.io/llms.txt
> Use this file to discover all available pages before exploring further.

# eth_createAccessList

Returns an [EIP-2930](https://eips.ethereum.org/EIPS/eip-2930) access list that you can include in a transaction. You can use this method to optimize your smart contract interactions.

This method will use `20` [Compute Units](/nodeapi/about/billing).

***

## **Parameters**

1. `Object` - The transaction call object

`from` - \[optional] String of the address the transaction is sent from.

`to` - String of the address the transaction is directed to.

`gas` - \[optional] Integer of the gas provided for the transaction execution encoded as a hexadecimal.

`gasPrice` - \[optional] Integer of the gasPrice used for each paid gas encoded as a hexadecimal.

`value` - \[optional] Integer of the value sent with this transaction encoded as a hexadecimal.

`data` - \[optional] String of the hash of the method signature and encoded parameters. For more information, see the [Contract ABI description in the Solidity documentation](https://docs.soliditylang.org/en/latest/abi-spec.html).

2. `QUANTITY | TAG` - integer block number, or the string `"latest"`, `"earliest"` or `"pending"`, see the [default block parameter](https://ethereum.org/en/developers/docs/apis/json-rpc/#default-block-parameter)

## Returns

`Object` with the following fields:

* `accessList`: A list of objects, one per account the transaction touches:
  * `address`: Address accessed by the transaction.
  * `storageKeys`: Storage keys accessed at that address.
* `gasUsed`: A hexadecimal string representing the approximate gas cost for the transaction if the access list is included.

```json theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
// Result
{
  "jsonrpc": "2.0",
  "id": 1,
  "result": {
    "accessList": [
      {
        "address": "0xb329284a02508a4d09bedfdcedd4fc4ec55f3701",
        "storageKeys": [
          "0x0c31b0c7a39462fcb5ad802d938f78538ad7dd2db75cebab1722cce3aa534d2c"
        ]
      }
    ],
    "gasUsed": "0x66b6"
  }
}
```

<CodeGroup>
  ```bash title="mainnet" theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
  curl https://mainnet.arc.validationcloud.io/v1/<YOUR_API_KEY_HERE> \
      -X POST \
      -H "Content-Type: application/json" \
      -d '{"jsonrpc":"2.0","method":"eth_createAccessList","params":[{"from":"0x29c7dbf15e5d385f936076736a0005433efaabf6","to":"0xb329284a02508a4d09bedfdcedd4fc4ec55f3701","data":"0x70a0823100000000000000000000000029c7dbf15e5d385f936076736a0005433efaabf6"},"latest"],"id":1}'
  ```

  ```bash title="testnet" theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
  curl https://testnet.arc.validationcloud.io/v1/<YOUR_API_KEY_HERE> \
      -X POST \
      -H "Content-Type: application/json" \
      -d '{"jsonrpc":"2.0","method":"eth_createAccessList","params":[{"from":"0xb9a912bda07024ba3c912f8d07a77760966b6d7e","to":"0x3600000000000000000000000000000000000000","data":"0x70a08231000000000000000000000000b9a912bda07024ba3c912f8d07a77760966b6d7e"},"latest"],"id":1}'
  ```
</CodeGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.