⚠️Blast API (blastapi.io) ends Oct 31. Migrate to Dwellir and skip Alchemy's expensive compute units.
Switch Today →
Skip to main content

eth_getStorageAt

Overview

Reads the value at a given storage slot for a contract/account.

Movement-Specific Considerations

  • Same semantics as Ethereum; storage is addressed by 32-byte slot index.

Parameters

NameTypeRequiredDescription
address0x-hexYesAccount or contract address
position0x-hexYes32-byte storage slot index
blockTagstringYeslatest, earliest, pending, or block number hex

Returns

0x-hex word (32 bytes) at the storage position.

Code Examples

cURL

curl -X POST https://api-movement-mainnet.n.dwellir.com/YOUR_API_KEY/v1 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getStorageAt","params":["0x0000000000000000000000000000000000000000","0x0","latest"],"id":1}'

Ethers.js v6

import { JsonRpcProvider } from 'ethers';
const provider = new JsonRpcProvider('https://api-movement-mainnet.n.dwellir.com/YOUR_API_KEY/v1');
const slot = await provider.send('eth_getStorageAt', ['0x0000000000000000000000000000000000000000','0x0','latest']);
console.log(slot);

Web3.js

import Web3 from 'web3';
const web3 = new Web3('https://api-movement-mainnet.n.dwellir.com/YOUR_API_KEY/v1');
const slot = await web3.eth.getStorageAt('0x0000000000000000000000000000000000000000','0x0','latest');
console.log(slot);

viem

import { createPublicClient, http } from 'viem';

const movement = {
id: 3073,
name: 'Movement',
nativeCurrency: { name: 'MOVE', symbol: 'MOVE', decimals: 18 },
rpcUrls: { default: { http: ['https://api-movement-mainnet.n.dwellir.com/YOUR_API_KEY/v1'] } },
} as const;

const client = createPublicClient({ chain: movement, transport: http('https://api-movement-mainnet.n.dwellir.com/YOUR_API_KEY/v1') });
const slot = await client.getStorageAt({ address: '0x0000000000000000000000000000000000000000', slot: '0x0', blockTag: 'latest' });
console.log(slot);