High-level entities
High-level entities provide the foundation for exploring TON Blockchain, understanding and tracking operations. They are essential for identifying transactions and tracing data flow across the network.- Accounts — the primary entities representing participants on the blockchain.
- Addresses — unique identifiers for accounts, showing balances and activity in Tonviewer.
- Messages — instructions sent between addresses. In explorers, they reveal what actions are initiated and how they lead to transactions.
- Transactions — records of executed messages. Explorers display their details linked to a specific address.
- Blocks — containers of transactions. In explorers, they expose block metadata and configuration parameters, allowing you to trace activity and understand how the blockchain operates.
Analyzing operations
Traces
In Tonviewer, operations are visualized through traces. A trace is a directed acyclic graph (DAG) where:- transactions are nodes on a specific address
- messages are edges
Steps to analyze an operation
- Identify the entry point
- Track participants
- Inspect messages
- value — amount of TON or jettons transferred
- opcode — instruction type
- payload — instructions
- Check transaction phases
- Locate the root cause
Failed use cases
The following examples illustrate common operation failures in Tonviewer. Each case demonstrates how to systematically analyze traces to identify the root cause of an issue, even when transactions appear to be successful or partially executed.Jetton transfer
Analyze a jetton transfer attempt.
- Identify the entry point At point A (mintmachine.ton), an external-in message initiates the operation, instructing a jetton transfer.
- Track participants
- A — sender’s wallet contract (mintmachine.ton).
- B — Jetton wallet contract governed by the Jetton master.
- Inspect messages
- A → B: Jetton transfer message with TON attached to cover execution fees.
- Check transaction phases
- Locate the root cause
48
per Jetton contract logic indicates that there isn’t enough gas to complete the transfer.
The attached TON was insufficient to cover execution and forwarding, so the contract aborted the transfer.
NFT transfer
Analyze an NFT transfer attempt.
- Identify the entry point
UQDj…D0lN
), the user’s wallet sends an external-in message to transfer an NFT.
- Track participants
- A — the user’s wallet.
- B — the NFT contract at address
EQCo…gJdV
.
- Inspect messages
- A → B: NFT transfer message with 0.04 TON attached.
- B → A: bounce returning 0.0365 TON.
- Check transaction phases
401
.
- Locate the root cause
401
(per NFT standard documentation) means that the sender is not the owner of the NFT.
Because the ownership check failed, the contract rejected the transfer and returned the unused funds to A.
DEX swap
Analyze a token swap from DYX to pTON.
- Identify the entry point
- Track participants
- A — user’s mintmachine, sending the initial funds.
- B — user’s jetton wallet.
- C — DEX jetton wallet.
- D — DEX smart contract executing the swap.
- E — jetton master (minter) of the token.
- Inspect messages
- A → B: 0.3 TON transferred via a jetton transfer.
- B → C: jetton internal transfer to the DEX wallet.
- C → D: swap request sent to the DEX contract.
- C → A: return of excess funds.
- D → E: request to the jetton master.
- E → D: reply with
exit_code: 962605456 (0x39603190)
.
- Check transaction phases
- Locate the root cause
exit_code: 962605456
corresponds (per Ston.fi docs) to Swap out token amount is less than provided minimum value.
This explains why, despite all transactions succeeding, the swap reverted: the output did not satisfy the minimum slippage tolerance.