Parity Tracing API methods give Alchemy users access to the most detailed information about on-chain activity. For more information about use, see the Parity Trace API Documentation.
NOTE: Alchemy is the only service that provides access to these Trace API methods due to their high maintenance costs and specialized infrastructure. For this reason, they are currently only available to Alchemy users in Growth and Enterprise tiers. You can upgrade your plan here to access them.
These API methods allow you to get a full externality trace on any transaction executed throughout the Parity chain. Unlike the log filtering API, you are able to search and filter based only upon address information. Information returned includes the execution of all CREATE,
SUICIDE
and all variants of CALL
together with input data, output data, gas usage, amount transferred and the success status of each individual action.
NOTE: The Trace API is only supported on Mainnet, Ropsten, and Kovan.
Basic trace of your transaction.
Provides a full trace of the VM’s state throughout the execution of the transaction, including for any subcalls.
Provides information detailing all altered portions of the Ethereum state made due to the execution of the transaction.
Executes the given call and returns a number of possible traces for it.
Object
- Call options, same as eth_call
.
from
: Address
- (optional) 20 Bytes - The address the transaction is send from.
to
: Address
- (optional when creating new contract) 20 Bytes - The address the transaction is directed to.
gas
: Quantity
- (optional) Integer formatted as a hex string of the gas provided for the transaction execution. eth_call consumes zero gas, but this parameter may be needed by some executions.
gasPrice
: Quantity
- (optional) Integer formatted as a hex string of the gas price used for each paid gas.
value
: Quantity
- (optional) Integer formatted as a hex string of the value sent with this transaction.
data
: Data
- (optional) 4 byte hash of the method signature followed by encoded parameters. For details see Ethereum Contract ABI.
Array
- Type of trace, one or more of: "vmTrace"
, "trace"
, "stateDiff"
.
Quantity
or Tag
- (optional) Integer of a block number, or the string 'earliest'
or 'latest'
.
Array
- Block traces
Request
curl https://eth-mainnet.alchemyapi.io/v2/your-api-key \-X POST \-H "Content-Type: application/json" \-d '{"method":"trace_call","params":[{"from": "0x6f1FB6EFDf50F34bFA3F2bC0E5576EdD71631638","to": "0x1E0447b19BB6EcFdAe1e4AE1694b0C3659614e4e","value": "0x0","data": "0xa67a6a45000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000"},["trace"]],"id":1,"jsonrpc":"2.0"}'
URL: https://eth-mainnet.alchemyapi.io/v2/your-api-keyRequestType: POSTBody:{"jsonrpc":"2.0","method":"trace_call","params":[{"from": "0x6f1FB6EFDf50F34bFA3F2bC0E5576EdD71631638","to": "0x1E0447b19BB6EcFdAe1e4AE1694b0C3659614e4e","value": "0x0","data": "0xa67a6a45000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000"},},["trace"]],"id":1}
Response
{"jsonrpc": "2.0","result": {"output": "0x","stateDiff": null,"trace": [{"action": {"callType": "call","from": "0x6f1fb6efdf50f34bfa3f2bc0e5576edd71631638","gas": "0x1dcd11f8","input": "0xa67a6a45000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000","to": "0x1e0447b19bb6ecfdae1e4ae1694b0c3659614e4e","value": "0x0"},"error": "Reverted","subtraces": 0,"traceAddress": [],"type": "call"}],"vmTrace": null},"id": 0}
Performs multiple call traces on top of the same block. i.e. transaction n
will be executed on top of a pending block with all n-1
transactions applied (traced) first. Allows to trace dependent transactions.
Array
- List of trace calls with the type of trace, one or more of: "vmTrace"
, "trace"
, "stateDiff"
.
Quantity
or Tag
- (optional) integer block number, or the string 'latest'
, 'earliest'
or 'pending'
, see the default block parameter.
params: [[[{"from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1","to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b","value": "0x186a0"},["trace"]],[{"from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1","to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b","value": "0x186a0"},["trace"]]],"latest"]
Array
- Array of the given transactions’ traces
Request
curl https://eth-mainnet.alchemyapi.io/v2/your-api-key \-X POST \-H "Content-Type: application/json" \-d '{"method":"trace_callMany","params":[[[{"from":"0x407d73d8a49eeb85d32cf465507dd71d507100c1","to":"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b","value":"0x186a0"},["trace"]],[{"from":"0x407d73d8a49eeb85d32cf465507dd71d507100c1","to":"0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b","value":"0x186a0"},["trace"]]],"latest"],"id":1,"jsonrpc":"2.0"}'
URL: https://eth-mainnet.alchemyapi.io/v2/your-api-keyRequestType: POSTBody:{"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
{"id": 1,"jsonrpc": "2.0","result": [{"output": "0x","stateDiff": null,"trace": [{"action": {"callType": "call","from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1","gas": "0x1dcd12f8","input": "0x","to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b","value": "0x186a0"},"result": {"gasUsed": "0x0","output": "0x"},"subtraces": 0,"traceAddress": [],"type": "call"}],"vmTrace": null},{"output": "0x","stateDiff": null,"trace": [{"action": {"callType": "call","from": "0x407d73d8a49eeb85d32cf465507dd71d507100c1","gas": "0x1dcd12f8","input": "0x","to": "0xa94f5374fce5edbc8e2a8697c15331677e6ebf0b","value": "0x186a0"},"result": {"gasUsed": "0x0","output": "0x"},"subtraces": 0,"traceAddress": [],"type": "call"}],"vmTrace": null}]}
Traces a call to eth_sendRawTransaction
without making the call, returning the traces
Data
- Raw transaction data.
Array
- Type of trace, one or more of: "vmTrace"
, "trace"
, "stateDiff"
.
params: ["0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675",["trace"]]
Returns
Object
- Block traces.
Example
Request
curl https://eth-mainnet.alchemyapi.io/v2/your-api-key \-X POST \-H "Content-Type: application/json" \-d '{"method":"trace_rawTransaction","params":["0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675",["trace"]],"id":1,"jsonrpc":"2.0"}'
URL: https://eth-mainnet.alchemyapi.io/v2/your-api-keyRequestType: POSTBody:{"jsonrpc":"2.0","method":"trace_rawTransaction","params":["0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675",["trace"]],"id":1}
Response
{"id": 1,"jsonrpc": "2.0","result": {"output": "0x","stateDiff": null,"trace": [{"action": { ... },"result": {"gasUsed": "0x0","output": "0x"},"subtraces": 0,"traceAddress": [],"type": "call"}],"vmTrace": null}}
Replays all transactions in a block returning the requested traces for each transaction.
Parameters
Quantity
or Tag
- Integer of a block number, or the string 'earliest'
, 'latest'
or 'pending'
.
Array
- Type of trace, one or more of: "vmTrace"
, "trace"
, "stateDiff"
.
params: ["0x2ed119",["trace"]]
Returns
Array
- Block transactions traces.
Example
Request
curl https://eth-mainnet.alchemyapi.io/v2/your-api-key \-X POST \-H "Content-Type: application/json" \-d '{"method":"trace_replayBlockTransactions","params":["0x2ed119",["trace"]],"id":1,"jsonrpc":"2.0"}'
URL: https://eth-mainnet.alchemyapi.io/v2/your-api-keyRequestType: POSTBody:{"jsonrpc":"2.0","method":"trace_replayBlockTransactions","params":["0x2ed119",["trace"]],"id":1}
Response
{"jsonrpc": "2.0","result": [{"output": "0x","stateDiff": null,"trace": [{"action": {"callType": "call","from": "0xaa7b131dc60b80d3cf5e59b5a21a666aa039c951","gas": "0x0","input": "0x","to": "0xd40aba8166a212d6892125f079c33e6f5ca19814","value": "0x4768d7effc3fbe"},"result": {"gasUsed": "0x0","output": "0x"},"subtraces": 0,"traceAddress": [],"type": "call"}],"transactionHash": "0x07da28d752aba3b9dd7060005e554719c6205c8a3aea358599fc9b245c52f1f6","vmTrace": null},{"output": "0x","stateDiff": null,"trace": [{"action": {"callType": "call","from": "0x4f11ba23bb526c0486d83c6a8f18f632f3fc172a","gas": "0x0","input": "0x","to": "0x7ed1e469fcb3ee19c0366d829e291451be638e59","value": "0x446cde325fbfbe"},"result": {"gasUsed": "0x0","output": "0x"},"subtraces": 0,"traceAddress": [],"type": "call"}],"transactionHash": "0x056f11efb5da4ff7cf8523cfcef08393e5dd2ff3ab3223e4324426d285d7ae92","vmTrace": null},{...}],"id": 0}
Replays a transaction, returning the traces.
Parameters
Hash
- Transaction hash.
Array
- Type of trace, one or more of: "vmTrace"
, "trace"
, "stateDiff"
.
params: ["0x02d4a872e096445e80d05276ee756cefef7f3b376bcec14246469c0cd97dad8f",["trace"]]
Returns
Object
- Block traces.
Example
Request
curl https://eth-mainnet.alchemyapi.io/v2/your-api-key \-X POST \-H "Content-Type: application/json" \-d '{"method":"trace_replayTransaction","params":["0x02d4a872e096445e80d05276ee756cefef7f3b376bcec14246469c0cd97dad8f",["trace"]],"id":1,"jsonrpc":"2.0"}'
URL: https://eth-mainnet.alchemyapi.io/v2/your-api-keyRequestType: POSTBody:{"jsonrpc":"2.0","method":"trace_replayTransaction","params":["0x02d4a872e096445e80d05276ee756cefef7f3b376bcec14246469c0cd97dad8f",["trace"]],"id":1}
Response
{"jsonrpc": "2.0","result": {"output": "0x","stateDiff": null,"trace": [{"action": {"callType": "call","from": "0x00a63d34051602b2cb268ea344d4b8bc4767f2d4","gas": "0x0","input": "0x","to": "0x87cc0d78ee64a9f11b5affdd9ea523872eae14e4","value": "0x810e988a393f2000"},"result": {"gasUsed": "0x0","output": "0x"},"subtraces": 0,"traceAddress": [],"type": "call"}],"vmTrace": null},"id": 0}
Returns traces created at given block.
Parameters
Quantity
or Tag
- Integer of a block number, or the string 'earliest'
, 'latest'
or 'pending'
.
params: ["0x2ed119" // 3068185]
Returns
Array
- Block traces.
Example
Request
curl https://eth-mainnet.alchemyapi.io/v2/your-api-key \-X POST \-H "Content-Type: application/json" \-d '{"method":"trace_block","params":["0x2ed119"],"id":1,"jsonrpc":"2.0"}'
URL: https://eth-mainnet.alchemyapi.io/v2/your-api-keyRequestType: POSTBody:{"jsonrpc":"2.0","method":"trace_block","params":["0x2ed119"],"id":1}
Response
{"jsonrpc": "2.0","result": [{"action": {"callType": "call","from": "0xaa7b131dc60b80d3cf5e59b5a21a666aa039c951","gas": "0x0","input": "0x","to": "0xd40aba8166a212d6892125f079c33e6f5ca19814","value": "0x4768d7effc3fbe"},"blockHash": "0x7eb25504e4c202cf3d62fd585d3e238f592c780cca82dacb2ed3cb5b38883add","blockNumber": 3068185,"result": {"gasUsed": "0x0","output": "0x"},"subtraces": 0,"traceAddress": [],"transactionHash": "0x07da28d752aba3b9dd7060005e554719c6205c8a3aea358599fc9b245c52f1f6","transactionPosition": 0,"type": "call"},{"action": {"callType": "call","from": "0x4f11ba23bb526c0486d83c6a8f18f632f3fc172a","gas": "0x0","input": "0x","to": "0x7ed1e469fcb3ee19c0366d829e291451be638e59","value": "0x446cde325fbfbe"},"blockHash": "0x7eb25504e4c202cf3d62fd585d3e238f592c780cca82dacb2ed3cb5b38883add","blockNumber": 3068185,"result": {"gasUsed": "0x0","output": "0x"},"subtraces": 0,"traceAddress": [],"transactionHash": "0x056f11efb5da4ff7cf8523cfcef08393e5dd2ff3ab3223e4324426d285d7ae92","transactionPosition": 1,"type": "call"},{...}],"id": 0}
Returns traces matching given filter.
Parameters
Object
- The filter object
fromBlock
: Quantity
or Tag
- (optional) From this block.
toBlock
: Quantity
or Tag
- (optional) To this block.
fromAddress
: Array
- (optional) Sent from these addresses.
toAddress
: Address
- (optional) Sent to these addresses.
after
: Quantity
- (optional) The offset trace number
count
: Quantity
- (optional) Integer number of traces to display in a batch.
params: [{"fromBlock": "0x2ed0c4", // 3068100"toBlock": "0x2ed128", // 3068200"toAddress": ["0x8bbB73BCB5d553B5A556358d27625323Fd781D37"],"after": 1000,"count": 100}]
Returns
Array
- Traces matching given filter
Example
Request
curl https://eth-mainnet.alchemyapi.io/v2/your-api-key \-X POST \-H "Content-Type: application/json" \-d '{"method":"trace_filter","params":[{"fromBlock":"0x2ed0c4","toBlock":"0x2ed128","toAddress":["0x8bbB73BCB5d553B5A556358d27625323Fd781D37"],"after":1000,"count":100}],"id":1,"jsonrpc":"2.0"}'
URL: https://eth-mainnet.alchemyapi.io/v2/your-api-keyRequestType: POSTBody:{"jsonrpc":"2.0","method":"trace_filter","params":[{"fromBlock":"0x2ed0c4","toBlock":"0x2ed128","toAddress":["0x8bbB73BCB5d553B5A556358d27625323Fd781D37"],"after":1000,"count":100}],"id":1}
Response
{"id": 1,"jsonrpc": "2.0","result": [{"action": {"callType": "call","from": "0x32be343b94f860124dc4fee278fdcbd38c102d88","gas": "0x4c40d","input": "0x","to": "0x8bbb73bcb5d553b5a556358d27625323fd781d37","value": "0x3f0650ec47fd240000"},"blockHash": "0x86df301bcdd8248d982dbf039f09faf792684e1aeee99d5b58b77d620008b80f","blockNumber": 3068183,"result": {"gasUsed": "0x0","output": "0x"},"subtraces": 0,"traceAddress": [],"transactionHash": "0x3321a7708b1083130bd78da0d62ead9f6683033231617c9d268e2c7e3fa6c104","transactionPosition": 3,"type": "call"},...]}
Returns trace at given position.
Parameters
Hash
- Transaction hash.
Array
- Index positions of the traces.
params: ["0x17104ac9d3312d8c136b7f44d4b8b47852618065ebfa534bd2d3b5ef218ca1f3",["0x0"]]
Returns
Object
- Trace object
Example
Request
curl https://eth-mainnet.alchemyapi.io/v2/your-api-key \-X POST \-H "Content-Type: application/json" \-d '{"method":"trace_get","params":["0x17104ac9d3312d8c136b7f44d4b8b47852618065ebfa534bd2d3b5ef218ca1f3",["0x0"]],"id":1,"jsonrpc":"2.0"}'
URL: https://eth-mainnet.alchemyapi.io/v2/your-api-keyRequestType: POSTBody:{"jsonrpc":"2.0","method":"trace_get","params":["0x17104ac9d3312d8c136b7f44d4b8b47852618065ebfa534bd2d3b5ef218ca1f3",["0x0"]],"id":1}
Response
{"id": 1,"jsonrpc": "2.0","result": {"action": {"callType": "call","from": "0x1c39ba39e4735cb65978d4db400ddd70a72dc750","gas": "0x13e99","input": "0x16c72721","to": "0x2bd2326c993dfaef84f696526064ff22eba5b362","value": "0x0"},"blockHash": "0x7eb25504e4c202cf3d62fd585d3e238f592c780cca82dacb2ed3cb5b38883add","blockNumber": 3068185,"result": {"gasUsed": "0x183","output": "0x0000000000000000000000000000000000000000000000000000000000000001"},"subtraces": 0,"traceAddress": [0],"transactionHash": "0x17104ac9d3312d8c136b7f44d4b8b47852618065ebfa534bd2d3b5ef218ca1f3","transactionPosition": 2,"type": "call"}}
Returns all traces of given transaction.
Hash
- Transaction hash
params: ["0x17104ac9d3312d8c136b7f44d4b8b47852618065ebfa534bd2d3b5ef218ca1f3"]
Array
- Traces of given transaction
Request
curl https://eth-mainnet.alchemyapi.io/v2/your-api-key \-X POST \-H "Content-Type: application/json" \-d '{"method":"trace_transaction","params":["0x17104ac9d3312d8c136b7f44d4b8b47852618065ebfa534bd2d3b5ef218ca1f3"],"id":1,"jsonrpc":"2.0"}'
URL: https://eth-mainnet.alchemyapi.io/v2/your-api-keyRequestType: POSTBody:{"jsonrpc":"2.0","method":"trace_transaction","params":["0x17104ac9d3312d8c136b7f44d4b8b47852618065ebfa534bd2d3b5ef218ca1f3"],"id":1}
Response
{"jsonrpc": "2.0","result": [{"action": {"callType": "call","from": "0x83806d539d4ea1c140489a06660319c9a303f874","gas": "0x1a1f8","input": "0x","to": "0x1c39ba39e4735cb65978d4db400ddd70a72dc750","value": "0x7a16c911b4d00000"},"blockHash": "0x7eb25504e4c202cf3d62fd585d3e238f592c780cca82dacb2ed3cb5b38883add","blockNumber": 3068185,"result": {"gasUsed": "0x2982","output": "0x"},"subtraces": 2,"traceAddress": [],"transactionHash": "0x17104ac9d3312d8c136b7f44d4b8b47852618065ebfa534bd2d3b5ef218ca1f3","transactionPosition": 2,"type": "call"},{"action": {"callType": "call","from": "0x1c39ba39e4735cb65978d4db400ddd70a72dc750","gas": "0x13e99","input": "0x16c72721","to": "0x2bd2326c993dfaef84f696526064ff22eba5b362","value": "0x0"},"blockHash": "0x7eb25504e4c202cf3d62fd585d3e238f592c780cca82dacb2ed3cb5b38883add","blockNumber": 3068185,"result": {"gasUsed": "0x183","output": "0x0000000000000000000000000000000000000000000000000000000000000001"},"subtraces": 0,"traceAddress": [0],"transactionHash": "0x17104ac9d3312d8c136b7f44d4b8b47852618065ebfa534bd2d3b5ef218ca1f3","transactionPosition": 2,"type": "call"},{"action": {"callType": "call","from": "0x1c39ba39e4735cb65978d4db400ddd70a72dc750","gas": "0x8fc","input": "0x","to": "0x70faa28a6b8d6829a4b1e649d26ec9a2a39ba413","value": "0x7a16c911b4d00000"},"blockHash": "0x7eb25504e4c202cf3d62fd585d3e238f592c780cca82dacb2ed3cb5b38883add","blockNumber": 3068185,"result": {"gasUsed": "0x0","output": "0x"},"subtraces": 0,"traceAddress": [1],"transactionHash": "0x17104ac9d3312d8c136b7f44d4b8b47852618065ebfa534bd2d3b5ef218ca1f3","transactionPosition": 2,"type": "call"}],"id": 0}