TRON - Missing Timestamps in Transactions
TRON behaves differently from other chains when it comes to transaction timestamps.
This article outlines how TRON handles timestamps, why some transactions return no timestamp, and how to correctly retrieve authoritative timing information when interacting with Tatum's TRON APIs.
Background
Tron Transactions may not include a transaction-level timestamp. Blocks always include a timestamp, and TRON block explorers (including Tronscan) display block time, not transaction time.
However, many transactions, especially those created manually or programmatically, can and will omit timestamp fields because TRON does not require them. This is a confirmed, upstream protocol behavior
As a result, Tatum's endpoint /v3/tron/transaction/{hash} or any other related to return Tron transactions may return transactions with no timestamp field.
TRON Protocol Behaviour
This behaviour is documented in the TRON Core implementation (java-tron) here: Issue #3845 – Some transactions have no timestamp
How to Retrieve Timestamps on TRON
Since transactions may not contain timestamps, you must rely on block timestamps.
Step_1: Fetch the transaction
GET /v3/tron/transaction/{transactionHash}Extract blockNumber.
Step_2: Fetch the block containing the transaction
GET /v3/tron/block/{blockNumber}In the block response, look for:
"block_header": {
"raw_data": {
"timestamp": 1611191724000
}
}This timestamp is the canonical time for the transaction.
Key Takeaways
- Missing
timestampfields on TRON transactions is an expected behaviour. - TRON does not mandate transaction timestamps.
- Block timestamp is the correct source of truth.
Updated about 8 hours ago