Trace transaction by hash
curl --request POST \
--url https://ronin-mainnet.core.chainstack.com/3997273fc956a67dc6982384500e669e \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "debug_traceTransaction",
"params": [
"0x28b9b8b702236be6ae586e72f99ffab23cb6ef20c230fc37fcd9ce60e612bb31"
]
}
'import requests
url = "https://ronin-mainnet.core.chainstack.com/3997273fc956a67dc6982384500e669e"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "debug_traceTransaction",
"params": ["0x28b9b8b702236be6ae586e72f99ffab23cb6ef20c230fc37fcd9ce60e612bb31"]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
id: 1,
jsonrpc: '2.0',
method: 'debug_traceTransaction',
params: ['0x28b9b8b702236be6ae586e72f99ffab23cb6ef20c230fc37fcd9ce60e612bb31']
})
};
fetch('https://ronin-mainnet.core.chainstack.com/3997273fc956a67dc6982384500e669e', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://ronin-mainnet.core.chainstack.com/3997273fc956a67dc6982384500e669e",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => 1,
'jsonrpc' => '2.0',
'method' => 'debug_traceTransaction',
'params' => [
'0x28b9b8b702236be6ae586e72f99ffab23cb6ef20c230fc37fcd9ce60e612bb31'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://ronin-mainnet.core.chainstack.com/3997273fc956a67dc6982384500e669e"
payload := strings.NewReader("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"debug_traceTransaction\",\n \"params\": [\n \"0x28b9b8b702236be6ae586e72f99ffab23cb6ef20c230fc37fcd9ce60e612bb31\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://ronin-mainnet.core.chainstack.com/3997273fc956a67dc6982384500e669e")
.header("Content-Type", "application/json")
.body("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"debug_traceTransaction\",\n \"params\": [\n \"0x28b9b8b702236be6ae586e72f99ffab23cb6ef20c230fc37fcd9ce60e612bb31\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://ronin-mainnet.core.chainstack.com/3997273fc956a67dc6982384500e669e")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"debug_traceTransaction\",\n \"params\": [\n \"0x28b9b8b702236be6ae586e72f99ffab23cb6ef20c230fc37fcd9ce60e612bb31\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": {}
}Ronin node API
debug_traceTransaction | Ronin
The debug_traceTransaction method provides a detailed execution trace of a single transaction, identified by its hash. Ronin via Chainstack.
POST
/
3997273fc956a67dc6982384500e669e
Trace transaction by hash
curl --request POST \
--url https://ronin-mainnet.core.chainstack.com/3997273fc956a67dc6982384500e669e \
--header 'Content-Type: application/json' \
--data '
{
"id": 1,
"jsonrpc": "2.0",
"method": "debug_traceTransaction",
"params": [
"0x28b9b8b702236be6ae586e72f99ffab23cb6ef20c230fc37fcd9ce60e612bb31"
]
}
'import requests
url = "https://ronin-mainnet.core.chainstack.com/3997273fc956a67dc6982384500e669e"
payload = {
"id": 1,
"jsonrpc": "2.0",
"method": "debug_traceTransaction",
"params": ["0x28b9b8b702236be6ae586e72f99ffab23cb6ef20c230fc37fcd9ce60e612bb31"]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
id: 1,
jsonrpc: '2.0',
method: 'debug_traceTransaction',
params: ['0x28b9b8b702236be6ae586e72f99ffab23cb6ef20c230fc37fcd9ce60e612bb31']
})
};
fetch('https://ronin-mainnet.core.chainstack.com/3997273fc956a67dc6982384500e669e', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://ronin-mainnet.core.chainstack.com/3997273fc956a67dc6982384500e669e",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => 1,
'jsonrpc' => '2.0',
'method' => 'debug_traceTransaction',
'params' => [
'0x28b9b8b702236be6ae586e72f99ffab23cb6ef20c230fc37fcd9ce60e612bb31'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://ronin-mainnet.core.chainstack.com/3997273fc956a67dc6982384500e669e"
payload := strings.NewReader("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"debug_traceTransaction\",\n \"params\": [\n \"0x28b9b8b702236be6ae586e72f99ffab23cb6ef20c230fc37fcd9ce60e612bb31\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://ronin-mainnet.core.chainstack.com/3997273fc956a67dc6982384500e669e")
.header("Content-Type", "application/json")
.body("{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"debug_traceTransaction\",\n \"params\": [\n \"0x28b9b8b702236be6ae586e72f99ffab23cb6ef20c230fc37fcd9ce60e612bb31\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://ronin-mainnet.core.chainstack.com/3997273fc956a67dc6982384500e669e")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": 1,\n \"jsonrpc\": \"2.0\",\n \"method\": \"debug_traceTransaction\",\n \"params\": [\n \"0x28b9b8b702236be6ae586e72f99ffab23cb6ef20c230fc37fcd9ce60e612bb31\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "<string>",
"id": 123,
"result": {}
}The
debug_traceTransaction method provides a detailed execution trace of a single transaction, identified by its hash. This trace includes step-by-step execution details, gas usage, and changes to the Ethereum Virtual Machine (EVM) state, offering deep insights into the transaction’s execution process.
Get your 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
transactionHash- The hash of the transaction to trace.
Response
result- An object containing the detailed execution trace of the transaction. This includes information such as the gas used at each step, the operations performed, and any state changes that occurred as a result of the transaction’s execution.
Use case
This method is invaluable for developers and auditors who need to analyze the behavior of transactions, debug smart contracts, or verify the correctness and efficiency of transaction execution. It provides a granular view of how a transaction interacts with the Ronin network and smart contracts, making it an essential tool for advanced Ronin development and security analysis.Last modified on June 22, 2026
Was this page helpful?