eth_getStorageAt - Optimism

Example code for the eth_getStorageAt json-rpc method. Сomplete guide on how to use eth_getStorageAt json-rpc in GetBlock.io Web3 documentation.

This method reads directly from a contract's storage slots. It's a low-level method that requires knowledge of the contract's storage layout. Each storage slot holds 32 bytes of data. This is useful for reading contract state that isn't exposed through public functions or for debugging and analysis purposes.

Parameters

Parameter
Type
Description
Required

address

DATA, 20 Bytes

The address of the contract.

Yes

position

QUANTITY

The storage position (slot) as a hexadecimal.

Yes

block

QUANTITY|TAG

Block number in hex, or 'latest', 'earliest', 'pending'.

Yes

Request Sample

cURL
curl --location --request POST 'https://go.getblock.io/<ACCESS-TOKEN>/' \
--header 'Content-Type: application/json' \
--data-raw '{
    "jsonrpc": "2.0",
    "method": "eth_getStorageAt",
    "params": ["0x4200000000000000000000000000000000000006", "0x0", "latest"],
    "id": "getblock.io"
}'

Response

A successful response returns the following:

{
    "jsonrpc": "2.0",
    "id": "getblock.io",
    "result": "0x577261707065642045746865720000000000000000000000000000000000001a"
}

Response Parameters

  • id: A unique request identifier, matching the id sent in the request body.

  • jsonrpc: Specifies the use of JSON-RPC version 2.0.

  • result: The 32-byte value at the storage position as a hexadecimal string.

Use Case

The eth_getStorageAt method is commonly used for:

  • Contract state analysis

  • Debugging

  • Storage layout exploration

  • Security auditing

Error Handling

Error Code
Description

-32602

Invalid params

-32603

Internal error

Web3 Integration

Last updated

Was this helpful?