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>"
]
}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>"
]
}arbtrace_* methods instead.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.result — an array of account addresses that were modified in the specified block or range.debug_getModifiedAccountsByHash code examplesconst 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");
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.Was this page helpful?