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

# trace_callMany on MegaETH

> Call trace_callMany on MegaETH via GoldRush JSON-RPC. Returns Parity-style traces for a sequence of calls executed on top of the same block. Endpoint, parameters, return values, and code examples.

<Card title="0.015 credits per call" icon="coins" />

`trace_callMany` on **MegaETH**: Returns Parity-style traces for a sequence of calls executed on top of the same block.

<Note>
  `trace_callMany` requires archive depth. See the [debug & trace matrix](/goldrush-json-rpc/debug-trace) for MegaETH archive coverage.
</Note>

## Endpoint

```
https://rpc.goldrushdata.com/v1/megaeth-mainnet
```

Authenticate with `Authorization: Bearer <GOLDRUSH_API_KEY>`. See [authentication](/goldrush-json-rpc/authentication).

## Parameters

| Name       | Type                             | Required | Description                                                                                                                                                          | Example                                                                                                                             |
| ---------- | -------------------------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- |
| `calls`    | `Array<[Object, Array<String>]>` | yes      | Array of `[callObject, traceTypes]` tuples. Each `callObject` has the same shape as `eth_call`; each `traceTypes` is one or more of `trace`, `vmTrace`, `stateDiff`. | `[[{"to":"0xa0b86991...","data":"0x70a08231..."},["trace"]],[{"to":"0xa0b86991...","data":"0xa9059cbb..."},["trace","stateDiff"]]]` |
| `blockTag` | `QUANTITY \| TAG`                | no       | Block number (hex) or block tag the simulation runs on top of. Defaults to `latest`.                                                                                 | `"latest"`                                                                                                                          |

## Returns

`Array<Object>`: Array of trace result objects, one per input call, each shaped like a `trace_call` result (`{output, trace[], stateDiff?, vmTrace?}`).

```json theme={null}
[{"output":"0x","trace":[{"action":{"from":"0x..."}}]},{"output":"0x0000...0001","trace":[{"action":{"from":"0x..."}}],"stateDiff":{}}]
```

## Examples

<CodeGroup>
  ```bash curl theme={null}
  curl https://rpc.goldrushdata.com/v1/megaeth-mainnet \
    -H "Authorization: Bearer $GOLDRUSH_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "jsonrpc": "2.0",
      "id": 1,
      "method": "trace_callMany",
      "params": [[[{"to":"0xa0b86991...","data":"0x70a08231..."},["trace"]],[{"to":"0xa0b86991...","data":"0xa9059cbb..."},["trace","stateDiff"]]], "latest"]
    }'
  ```

  ```typescript ethers v6 theme={null}
  import { ethers } from "ethers";

  const url = "https://rpc.goldrushdata.com/v1/megaeth-mainnet";
  const fetchReq = new ethers.FetchRequest(url);
  fetchReq.setHeader("Authorization", `Bearer ${process.env.GOLDRUSH_API_KEY}`);

  const provider = new ethers.JsonRpcProvider(fetchReq);
  const result = await provider.send("trace_callMany", [[[{"to":"0xa0b86991...","data":"0x70a08231..."},["trace"]],[{"to":"0xa0b86991...","data":"0xa9059cbb..."},["trace","stateDiff"]]], "latest"]);
  console.log(result);
  ```

  ```typescript viem theme={null}
  import { createPublicClient, http } from "viem";

  const client = createPublicClient({
    transport: http("https://rpc.goldrushdata.com/v1/megaeth-mainnet", {
      fetchOptions: {
        headers: {
          Authorization: `Bearer ${process.env.GOLDRUSH_API_KEY}`,
        },
      },
    }),
  });

  const result = await client.request({
    method: "trace_callMany",
    params: [[[{"to":"0xa0b86991...","data":"0x70a08231..."},["trace"]],[{"to":"0xa0b86991...","data":"0xa9059cbb..."},["trace","stateDiff"]]], "latest"],
  });
  console.log(result);
  ```

  ```javascript web3.js theme={null}
  import { Web3 } from "web3";

  const provider = new Web3.providers.HttpProvider(
    "https://rpc.goldrushdata.com/v1/megaeth-mainnet",
    {
      headers: [
        { name: "Authorization", value: `Bearer ${process.env.GOLDRUSH_API_KEY}` },
      ],
    }
  );
  const web3 = new Web3(provider);

  const result = await web3.currentProvider.request({
    method: "trace_callMany",
    params: [[[{"to":"0xa0b86991...","data":"0x70a08231..."},["trace"]],[{"to":"0xa0b86991...","data":"0xa9059cbb..."},["trace","stateDiff"]]], "latest"],
  });
  console.log(result);
  ```

  ```python web3.py theme={null}
  from os import environ
  from web3 import Web3

  w3 = Web3(Web3.HTTPProvider(
      "https://rpc.goldrushdata.com/v1/megaeth-mainnet",
      request_kwargs={
          "headers": {
              "Authorization": f"Bearer {environ['GOLDRUSH_API_KEY']}",
          },
      },
  ))
  result = w3.manager.request_blocking("trace_callMany", [[[{"to":"0xa0b86991...","data":"0x70a08231..."},["trace"]],[{"to":"0xa0b86991...","data":"0xa9059cbb..."},["trace","stateDiff"]]], "latest"])
  print(result)
  ```
</CodeGroup>

## Errors

Standard JSON-RPC errors: `-32600` invalid request, `-32601` method not found, `-32602` invalid params.

## Related Debug and trace methods on MegaETH

* [`debug_traceTransaction` on MegaETH](/api-reference/json-rpc/megaeth/debug-tracetransaction)
* [`debug_traceCall` on MegaETH](/api-reference/json-rpc/megaeth/debug-tracecall)
* [`debug_traceBlockByHash` on MegaETH](/api-reference/json-rpc/megaeth/debug-traceblockbyhash)
* [`debug_traceBlockByNumber` on MegaETH](/api-reference/json-rpc/megaeth/debug-traceblockbynumber)
* [`trace_transaction` on MegaETH](/api-reference/json-rpc/megaeth/trace-transaction)

## Also available on

* [`trace_callMany` on Ethereum](/api-reference/json-rpc/ethereum/trace-callmany)
* [`trace_callMany` on Polygon](/api-reference/json-rpc/polygon/trace-callmany)
* [`trace_callMany` on BNB Smart Chain (BSC)](/api-reference/json-rpc/bsc/trace-callmany)
* [`trace_callMany` on Arbitrum](/api-reference/json-rpc/arbitrum/trace-callmany)
* [`trace_callMany` on Base](/api-reference/json-rpc/base/trace-callmany)
