Skip to main content

Traces

The traces endpoint retrieves transaction traces from the TON blockchain. A trace represents the complete execution path of a transaction, including all resulting internal messages and their effects across the network.
Get you 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 pricing is the same for full, archive, v2, v3There’s no difference between a full node an archive node in data availability or pricing. All data is always available and all node requests are consumed as 1 request unit.

Parameters

  • trace_id (string, optional) — Filter by specific trace ID.
  • tx_hash (string, optional) — Get traces for a specific transaction hash.
  • tx_lt (integer, optional) — Filter by transaction logical time.
  • limit (integer, optional) — Maximum number of traces to return. Default: 10.
  • offset (integer, optional) — Number of traces to skip for pagination. Default: 0.
  • sort (string, optional) — Sort order: asc or desc. Default: desc.

Response

  • traces (array) — Array of trace objects containing:
    • trace_id (string) — Unique identifier for the trace.
    • external_hash (string) — Hash of the external message that initiated the trace.
    • mc_seqno_start (integer) — Masterchain sequence number when the trace started.
    • mc_seqno_end (integer) — Masterchain sequence number when the trace ended.
    • start_lt (integer) — Logical time when the trace started.
    • start_utime (integer) — Unix timestamp when the trace started.
    • end_lt (integer) — Logical time when the trace ended.
    • end_utime (integer) — Unix timestamp when the trace ended.
    • state (string) — Current state of the trace (e.g., complete, pending).
    • pending_edges (integer) — Number of pending message edges.
    • edges (integer) — Total number of message edges in the trace.
    • nodes (integer) — Total number of transaction nodes in the trace.
    • classification_state (string) — Classification state of the trace.
  • address_book (object) — Address book mapping raw addresses to user-friendly information.

Use case

The traces endpoint is essential for understanding the complete execution flow of transactions:
  1. Debugging failed transactions by tracing the exact execution path.
  2. Analyzing multi-hop transactions across multiple smart contracts.
  3. Understanding fee distribution across a transaction’s execution.
  4. Building transaction explorers that show complete message flows.
  5. Auditing smart contract interactions and their side effects.
Here’s an example of getting a trace for a specific transaction:
curl -X GET \
  'https://ton-mainnet.core.chainstack.com/f2a2411bce1e54a2658f2710cd7969c3/api/v3/traces?tx_hash=BhLJTdV2R6Vr5c3BAOjH8nFpnMYOuPcJvRlagGSKU88%3D&limit=1' \
  -H 'accept: application/json'
Traces are particularly useful for understanding Jetton and NFT transfers, which typically involve multiple internal messages between minter, wallet, and recipient contracts.