Get Pending Traces
curl --request GET \
--url https://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v3/pendingTracesimport requests
url = "https://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v3/pendingTraces"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v3/pendingTraces', 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://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v3/pendingTraces",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v3/pendingTraces"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v3/pendingTraces")
.asString();require 'uri'
require 'net/http'
url = URI("https://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v3/pendingTraces")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"traces": [
{
"trace_id": "<string>",
"external_hash": "<string>",
"mc_seqno_start": 123,
"start_lt": 123,
"start_utime": 123,
"state": "<string>",
"pending_edges": 123,
"edges": 123,
"nodes": 123
}
],
"address_book": {}
}TON node API
pendingTraces | TON v3
The pendingTraces endpoint retrieves traces that are pending completion in the TON blockchain. Available on TON v3 via Chainstack.
GET
/
pendingTraces
Get Pending Traces
curl --request GET \
--url https://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v3/pendingTracesimport requests
url = "https://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v3/pendingTraces"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v3/pendingTraces', 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://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v3/pendingTraces",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v3/pendingTraces"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v3/pendingTraces")
.asString();require 'uri'
require 'net/http'
url = URI("https://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v3/pendingTraces")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"traces": [
{
"trace_id": "<string>",
"external_hash": "<string>",
"mc_seqno_start": 123,
"start_lt": 123,
"start_utime": 123,
"state": "<string>",
"pending_edges": 123,
"edges": 123,
"nodes": 123
}
],
"address_book": {}
}Pending Traces
ThependingTraces endpoint retrieves traces that are pending completion in the TON blockchain. These represent transaction execution flows that have not yet fully propagated through all necessary contracts.
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.
TON billing: full (1 RU)This method is always billed as full. See Request units — TON method scope.
Parameters
trace_id(string, optional) — Filter by specific trace ID.limit(integer, optional) — Maximum number of traces to return. Default:10.offset(integer, optional) — Number of traces to skip for pagination. Default:0.
Response
-
traces(array) — Array of pending trace objects:trace_id(string) — Trace ID.external_hash(string) — Hash of the external message.mc_seqno_start(integer) — Start masterchain sequence number.start_lt(integer) — Start logical time.start_utime(integer) — Start unix timestamp.state(string) — Trace state (e.g.,pending).pending_edges(integer) — Number of pending message edges.edges(integer) — Total edges so far.nodes(integer) — Total nodes so far.
-
address_book(object) — Address book mapping.
Use case
ThependingTraces endpoint is essential for tracking in-progress complex operations:
- Monitoring multi-hop transactions that involve several contracts.
- Tracking Jetton transfers waiting for completion across wallet contracts.
- Debugging stuck transactions by identifying pending message edges.
- Building real-time dashboards showing transaction progress.
- Implementing timeout alerts for transactions taking too long.
curl -X GET \
'https://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v3/pendingTraces?limit=5' \
-H 'accept: application/json'
The
pending_edges field indicates how many messages are still being processed. A trace completes when this reaches zero.Last modified on June 22, 2026
Was this page helpful?