Skip to main content
POST
/
66f812de2a6724a75a51f60dd6f2a154
debug_getModifiedAccountsByHash
curl --request POST \
  --url https://nd-954-882-037.p2pify.com/66f812de2a6724a75a51f60dd6f2a154 \
  --header 'Content-Type: application/json' \
  --data '
{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "debug_getModifiedAccountsByHash",
  "params": [
    "0x5765eab677d93b81a1c29de804e115d0e4db8dd40e0deabcf187e4e0d047c758"
  ]
}
'
{
  "jsonrpc": "<string>",
  "id": 123,
  "result": [
    "<string>"
  ]
}
Arbitrum API method that retrieves a list of accounts that were modified in a specific block, identified by the block’s hash. This method compares the state tries between the specified block and its parent to find all accounts with changed state.
Learn how to deploy a node with the debug and trace API methods enabled.
This method is available for post-Nitro blocks only (block 22,207,815 and later). For pre-Nitro blocks, use the arbtrace_* methods instead.
Get you 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

  • startHash — the hash of the block for which to retrieve modified accounts. When only this parameter is provided, the method returns accounts modified in this single block (compared to its parent).
  • endHash — (optional) the hash of the end block. When provided, the method returns accounts modified between the startHash block and the endHash block.

Response

  • result — an array of account addresses that were modified in the specified block or range.

debug_getModifiedAccountsByHash code examples

const ethers = require('ethers');
const NODE_URL = "YOUR_CHAINSTACK_ENDPOINT";
const provider = new ethers.JsonRpcProvider(NODE_URL);

const getModifiedAccounts = async (blockHash) => {
  const result = await provider.send("debug_getModifiedAccountsByHash", [blockHash]);
  console.log(result);
};

getModifiedAccounts("0x5765eab677d93b81a1c29de804e115d0e4db8dd40e0deabcf187e4e0d047c758");

Use case

The debug_getModifiedAccountsByHash method is useful for tracking state changes at the account level. Developers debugging contract interactions can identify exactly which accounts were affected by transactions in a specific block. This is also valuable for building state change monitoring tools, forensic analysis, and audit systems that need to track account modifications.

Body

application/json
id
integer
default:1
jsonrpc
string
default:2.0
method
string
default:debug_getModifiedAccountsByHash
params
string[]

Response

200 - application/json

Returns a list of accounts modified in the specified block.

jsonrpc
string
id
integer
result
string[]

The addresses of the modified accounts.

Last modified on March 13, 2026