> ## Documentation Index
> Fetch the complete documentation index at: https://docs.uniblock.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# arbtrace_callMany

> Simulates and traces multiple transactions sequentially on top of a given block. Each transaction is applied on the state resulting from the previous, enabling tracing of dependent calls. Supported on OpenEthereum and Erigon (for blocks before 22207816).

### Parameters

<ParamField query="chainId" type="string" default="421614" required>
  Unique identifier for a blockchain network.
</ParamField>

<ParamField body="id" type="number" default={1} required>
  Request identifier used to match responses.
</ParamField>

<ParamField body="jsonrpc" type="string" default="2.0" required>
  JSON-RPC version.
</ParamField>

<ParamField body="method" type="string" default="arbtrace_callMany" required>
  JSON-RPC method name.
</ParamField>

<ParamField body="params" type="object" default={[[[[{"from":null,"to":"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b","value":"0x186a0"},["trace"]],[{"from":null,"to":"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b","value":"0x186a0"},["trace"]]],"latest"]]} placeholder="[[[[{&#x22;from&#x22;:null,&#x22;to&#x22;:&#x22;0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b&#x22;,&#x22;value&#x22;:&#x22;0x186a0&#x22;},[&#x22;trace&#x22;]],[{&#x22;from&#x22;:null,&#x22;to&#x22;:&#x22;0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b&#x22;,&#x22;value&#x22;:&#x22;0x186a0&#x22;},[&#x22;trace&#x22;]]],&#x22;latest&#x22;]]" required>
  An array with two elements: an array of call + traceType pairs, and a block tag or number.

  Positional parameters for <code>arbtrace\_callMany</code>:

  <ul>
    <li><code>params\[0]</code>: List of transaction call + trace type tuples to simulate sequentially.</li>
    <li><code>params\[1]</code>: Block number or tag (e.g., latest, pending) to simulate the calls on.</li>
  </ul>
</ParamField>

### Returns

<ResponseField name="result" type="array">
  Array of trace result objects, one per simulated transaction.

  <Expandable title="items">
    <ResponseField name="items[]" type="object">
      <Expandable title="properties">
        <ResponseField name="output" type="string">
          Return value of the call (hex).
        </ResponseField>

        <ResponseField name="trace" type="array">
          Execution trace of the call.

          <Expandable title="items">
            <ResponseField name="items[]" type="object">
              <Expandable title="properties">
                <ResponseField name="action" type="object">
                  <Expandable title="properties">
                    <ResponseField name="from" type="string" />

                    <ResponseField name="to" type="string" />

                    <ResponseField name="callType" type="string" />

                    <ResponseField name="gas" type="string" />

                    <ResponseField name="input" type="string" />

                    <ResponseField name="value" type="string" />
                  </Expandable>
                </ResponseField>

                <ResponseField name="result" type="object">
                  <Expandable title="properties">
                    <ResponseField name="gasUsed" type="string" />

                    <ResponseField name="output" type="string" />
                  </Expandable>
                </ResponseField>

                <ResponseField name="subtraces" type="integer" />

                <ResponseField name="traceAddress" type="array">
                  <Expandable title="items">
                    <ResponseField name="items[]" type="integer" />
                  </Expandable>
                </ResponseField>

                <ResponseField name="type" type="string" />
              </Expandable>
            </ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="vmTrace" type="object">
          Optional VM execution trace if requested.
        </ResponseField>

        <ResponseField name="stateDiff" type="object">
          Optional state difference if requested.
        </ResponseField>

        <ResponseField name="destroyedContracts" type="array">
          List of contracts self-destructed in the call.

          <Expandable title="items">
            <ResponseField name="items[]" type="string" />
          </Expandable>
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash Curl theme={null}
  curl --request POST \
    --url https://api.uniblock.dev/uni/v1/json-rpc?chainId=421614 \
    --header 'content-type: application/json' \
    --data '{
      "id": 1,
      "jsonrpc": "2.0",
      "method": "arbtrace_callMany",
      "params": [
        [
          [
            [
              {
                "from": null,
                "to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
                "value": "0x186a0"
              },
              [
                "trace"
              ]
            ],
            [
              {
                "from": null,
                "to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b",
                "value": "0x186a0"
              },
              [
                "trace"
              ]
            ]
          ],
          "latest"
        ]
      ]
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json Success theme={null}
  {
    "jsonrpc": "2.0",
    "id": 1,
    "result": []
  }
  ```
</ResponseExample>
