Skip to main content
POST
/
66f812de2a6724a75a51f60dd6f2a154
debug_getModifiedAccountsByNumber
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_getModifiedAccountsByNumber",
  "params": [
    30000000
  ]
}
'
{
  "jsonrpc": "<string>",
  "id": 123,
  "result": [
    "<string>"
  ]
}
Arbitrum API method that retrieves a list of accounts that were modified in a specific block or between two blocks, identified by block number. This method compares the state tries between the specified blocks 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

  • startNum — the block number (as a decimal integer) 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).
  • endNum — (optional) the end block number (as a decimal integer). When provided, the method returns accounts modified between startNum and endNum.

Response

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

debug_getModifiedAccountsByNumber code examples

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

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

// Get accounts modified in a single block
getModifiedAccounts(30000000);

Use case

The debug_getModifiedAccountsByNumber method is useful for monitoring state changes over a range of blocks. Developers can use it to build state diff tools, track which accounts are affected by a series of transactions, or perform forensic analysis on state changes across a block range. Unlike debug_getModifiedAccountsByHash, this method accepts block numbers, making it more convenient for iterating over sequential blocks.

Body

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

Response

200 - application/json

Returns a list of accounts modified between the specified blocks.

jsonrpc
string
id
integer
result
string[]

The addresses of the modified accounts.

Last modified on March 13, 2026