trace_callMany RPC Method
Please note that this RPC method is available to all users on the Build plan and higher. If you are using the Free plan, you will need to upgrade to utilize this method. See our pricing for more information.
Parameters
array
array
REQUIRED
Loading...
vmTrace
Loading...
trace
Loading...
stateDiff
Loading...
blockNumber
string
Loading...
Returns
array
Loading...
output
Loading...
stateDiff
Loading...
trace
Loading...
action
Loading...
from
Loading...
callType
Loading...
gas
Loading...
input
Loading...
to
Loading...
value
Loading...
result
Loading...
gasUsed
Loading...
output
Loading...
subtraces
Loading...
traceAddress
Loading...
type
Loading...
vmTrace
Loading...
Request
curl https://docs-demo.quiknode.pro/ \ -X POST \ -H "Content-Type: application/json" \ --data '{"method":"trace_callMany","params":[[[{"from":"0x407d73d8a49eeb85d32cf465507dd71d507100c1","to":"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b","value":"0x186a0"},["trace"]],[{"from":"0x407d73d8a49eeb85d32cf465507dd71d507100c1","to":"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b","value":"0x186a0"},["trace"]]],"latest"],"id":1,"jsonrpc":"2.0"}'
require 'eth' client = Eth::Client.create 'https://docs-demo.quiknode.pro/' payload = { "jsonrpc": "2.0", "method": "trace_callMany", "params": [[[{"from":"0x407d73d8a49eeb85d32cf465507dd71d507100c1","to":"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b","value":"0x186a0"},["trace"]],[{"from":"0x407d73d8a49eeb85d32cf465507dd71d507100c1","to":"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b","value":"0x186a0"},["trace"]]],"latest"], "id": "1" } response = client.send(payload.to_json) puts response
import { ethers } from "ethers"; (async () => { const provider = new ethers.JsonRpcProvider("https://docs-demo.quiknode.pro/"); const response = await provider.send("trace_callMany", [ [ [ { "from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1", "to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value": "0x186a0", }, ["trace"], ], [ { "from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1", "to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value": "0x186a0", }, ["trace"], ], ], "latest", ]); console.log(response); })();
var myHeaders = new Headers(); myHeaders.append("Content-Type", "application/json"); var raw = JSON.stringify({ "method": "trace_callMany", "params": [ [ [ { "from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1", "to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value": "0x186a0" }, [ "trace" ] ], [ { "from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1", "to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value": "0x186a0" }, [ "trace" ] ] ], "latest" ], "id": 1, "jsonrpc": "2.0" }); var requestOptions = { method: 'POST', headers: myHeaders, body: raw, redirect: 'follow' }; fetch("https://docs-demo.quiknode.pro/", requestOptions) .then(response => response.text()) .then(result => console.log(result)) .catch(error => console.log('error', error));
import requests import json url = "https://docs-demo.quiknode.pro/" payload = json.dumps({ "method": "trace_callMany", "params": [ [ [ { "from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1", "to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value": "0x186a0" }, [ "trace" ] ], [ { "from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1", "to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value": "0x186a0" }, [ "trace" ] ] ], "latest" ], "id": 1, "jsonrpc": "2.0" }) headers = { 'Content-Type': 'application/json' } response = requests.request("POST", url, headers=headers, data=payload) print(response.text)
require "uri" require "json" require "net/http" url = URI("https://docs-demo.quiknode.pro/") https = Net::HTTP.new(url.host, url.port) https.use_ssl = true request = Net::HTTP::Post.new(url) request["Content-Type"] = "application/json" request.body = JSON.dump({ "method": "trace_callMany", "params": [ [ [ { "from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1", "to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value": "0x186a0" }, [ "trace" ] ], [ { "from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1", "to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value": "0x186a0" }, [ "trace" ] ] ], "latest" ], "id": 1, "jsonrpc": "2.0" }) response = https.request(request) puts response.read_body
from web3 import HTTPProvider client = HTTPProvider('https://docs-demo.quiknode.pro/') result = client.make_request('trace_callMany', [ [[{ "from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1", "to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value": "0x186a0" },["trace"]], [{ "from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1", "to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value": "0x186a0" },["trace"]]],"latest"]) print(result)
Response
{ "jsonrpc": "2.0", "id": 1, "result": [ { "output": "0x", "stateDiff": null, "trace": [ { "action": { "from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1", "callType": "call", "gas": "0x80000000419058f9", "input": "0x", "to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value": "0x186a0" }, "result": { "gasUsed": "0x0", "output": "0x" }, "subtraces": 0, "traceAddress": [], "type": "call" } ], "vmTrace": null }, { "output": "0x", "stateDiff": null, "trace": [ { "action": { "from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1", "callType": "call", "gas": "0x80000000419058f9", "input": "0x", "to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b", "value": "0x186a0" }, "result": { "gasUsed": "0x0", "output": "0x" }, "subtraces": 0, "traceAddress": [], "type": "call" } ], "vmTrace": null } ] }
Don't have an account yet?
Create your QuickNode endpoint in seconds and start building
Get started for free