# TRON | Bitquery Data Store TRON since June 2018 as flat Parquet: blocks, transactions with energy and bandwidth receipts, internal calls, decoded events, TRX and TRC-20 transfers and DEX trades, at block resolution. Dataset page: https://bitquery.io/datastore/datasets/tron Network: Tron Category: Blocks, Transactions, Calls, Events, Transfers, Trades Tables: 6 Columns: 251 Coverage: 2018-06-25 to 2026-10-04 Format: Apache Parquet, ZSTD compression, one prefix per table Licence: https://bitquery.io/datastore/legal/data-license ## What this is Six flat Parquet tables covering TRON from 25 June 2018 to yesterday, at block resolution: blocks, transactions, calls, events, transfers and dex_trades. Every table carries Block_Number and Block_Time, and every table but blocks carries Transaction_Hash, so they join without a lookup table. TRON is not an EVM clone, and the schema says so. Transactions carry the resource receipt the chain records, energy used, energy burnt, bandwidth used and the TRX fee for each, plus the sender's fee limit and the protobuf contract type. Calls and events are decoded the same way as on our EVM chains, so a query written for Ethereum events runs here once the address format is changed. Addresses are base58 strings starting with T, amounts are decimal strings adjusted from SUN, and native rows in transfers carry the symbol TRX. Filter on Transfer_Currency_Native rather than on the symbol. ## What people use it for - Full-chain analytics without running a TRON full node or paying per API call - USDT flow analysis across all addresses, with the transaction and fee context around each transfer - Energy and bandwidth cost research from per-transaction receipts - Contract forensics on decoded internal calls and events for any TRC-20 or DEX contract ## Tables (6) ### blocks: 13 columns One row per TRON block, with the producing super representative, transaction count and trie roots. Bucket prefix: tron/blocks File naming: _.parquet, 50 blocks per file, sorted ascending Free sample (real Parquet, no email needed): https://bitquery-blockchain-dataset.s3.us-east-1.amazonaws.com/tron/blocks/78861250_78861298.parquet Sample updated: Jan 20, 2026 | column | type | description | | --- | --- | --- | | Block_Number | Int64 | Block height | | Block_Date | Date | UTC date of the block | | Block_Time | DateTime | Block timestamp, UTC | | Block_Hash | String | Block hash, hex | | Block_AccountStateRoot | String | Account state root of the block; empty on most blocks | | Block_ParentNumber | Int64 | Number of the parent block | | Block_ParentHash | String | Hash of the parent block, hex | | Block_TransactionsCount | UInt32 | Transactions in the block | | Block_TxTrieRoot | String | Transactions trie root of the block, hex | | Block_Version | Int32 | Block header version | | Witness_Signature | String | Signature of the block producer | | Witness_Id | Int64 | Numeric id of the super representative that produced the block | | Witness_Address | String | Address of the block producer | ### transactions: 36 columns One row per TRON transaction, with the energy and bandwidth receipt, fee limit, result and contract call counts. Bucket prefix: tron/transactions File naming: _.parquet, 50 blocks per file, sorted ascending Free sample (real Parquet, no email needed): https://bitquery-blockchain-dataset.s3.us-east-1.amazonaws.com/tron/transactions/78861100_78861149.parquet Sample updated: Jan 20, 2026 | column | type | description | | --- | --- | --- | | Block_Number | Int64 | Block height | | Block_Time | DateTime | Block timestamp, UTC | | Block_Date | Date | UTC date of the block | | Witness_Address | String | Address of the block producer | | Witness_Id | Int64 | Numeric id of the super representative that produced the block | | Witness_Signature | String | Signature of the block producer | | Transaction_Data | String | Raw calldata of the transaction, hex | | Transaction_Expiration | DateTime | Time after which the transaction can no longer be included, UTC | | Transaction_Fee | String | Transaction fee in TRX, decimal adjusted from SUN, as a decimal string | | Transaction_FeeInUSD | Float64 | Transaction fee valued in USD at the hourly TRX price for the block's hour | | Transaction_FeeLimit | String | Maximum TRX the sender allowed the transaction to burn for energy, decimal adjusted from SUN, as a decimal string | | Transaction_FeeLimitInUSD | Float64 | Fee limit valued in USD at the hourly TRX price for the block's hour | | Transaction_FeePayer | String | Address that paid the fee, which is the transaction sender | | Transaction_Index | Int32 | Position of the transaction within the block | | Transaction_Hash | String | Hash of the transaction this row settled in; the join key across the tables | | Transaction_Signatures | String | Signatures on the transaction, JSON array of hex strings | | Transaction_Time | DateTime | Timestamp of the transaction, UTC; equal to the block time | | Transaction_Timestamp | DateTime | Timestamp the sender put in the transaction, UTC; differs from Block_Time | | Transaction_Result_Message | String | Error message returned by the contract when the transaction failed; empty on success | | Transaction_Result_Status | String | Transaction outcome as the chain spells it: SUCESS (sic, the chain's own spelling) or FAILED | | Transaction_Result_Success | String | Whether the transaction succeeded; the string true or false | | Transaction_Receipt_EnergyFee | Int64 | TRX burnt for energy, in SUN | | Transaction_Receipt_EnergyPenaltyTotal | Int64 | Extra energy charged for calling a popular contract, in energy units | | Transaction_Receipt_EnergyUsageTotal | Int64 | Total energy consumed, including what the contract owner's stake covered | | Transaction_Receipt_NetFee | String | TRX burnt for bandwidth, decimal adjusted from SUN, as a decimal string | | Transaction_Receipt_NetFeeInUSD | Float64 | Bandwidth fee valued in USD at the hourly TRX price for the block's hour | | Transaction_Receipt_NetUsage | Int64 | Bandwidth consumed, in bytes | | Transaction_Receipt_OriginEnergyUsage | Int64 | Energy paid from the contract owner's own stake | | Transaction_Receipt_Result | String | Receipt result code: DEFAULT for plain transfers and resource operations, SUCCESS or the failure reason such as OUT_OF_ENERGY for contract calls | | Contract_Address | String | Contract the transaction called | | Contract_ArgumentsCount | UInt32 | Number of decoded arguments on the contract call | | Contract_ExecutionResultsCount | UInt32 | Number of execution results recorded for the contract call | | Contract_LogsCount | UInt32 | Logs emitted by the contract call | | Contract_InternalTransactionsCount | UInt32 | Internal transactions triggered by the contract call | | Contract_Type | String | TRON contract type, for example TriggerSmartContract or TransferContract | | Contract_TypeUrl | String | Protobuf type of the contract call, for example type.googleapis.com/protocol.TriggerSmartContract | ### calls: 46 columns One row per contract call frame, internal calls included, with decoded signature, arguments, returns and the TRON contract type. Bucket prefix: tron/calls File naming: _.parquet, 50 blocks per file, sorted ascending Free sample (real Parquet, no email needed): https://bitquery-blockchain-dataset.s3.us-east-1.amazonaws.com/tron/calls/78861200_78861249.parquet Sample updated: Jan 20, 2026 | column | type | description | | --- | --- | --- | | Arguments | String | Decoded call arguments as a JSON array, when the signature resolved; empty otherwise | | Returns | String | Decoded return values as JSON, when the signature resolved; empty otherwise | | StateChanges | String | Storage and balance changes the frame produced, as JSON | | Block_Number | Int64 | Block height | | Block_Date | Date | UTC date of the block | | Block_Time | DateTime | Block timestamp, UTC | | Call_CallPath | Array | Path of call indexes from the transaction root down to this frame, as an array of integers | | Call_CallerIndex | Int32 | Call_Index of the calling frame; -1 for the top-level call | | Call_Create | String | Whether this frame deployed a contract; true or false | | Call_Delegated | String | Whether the frame ran through delegatecall, as proxies do; true or false | | Call_Depth | UInt32 | Nesting depth, 0 for the top-level call | | Call_EnterIndex | UInt32 | Order in which the frame was entered within the transaction | | Call_Error | String | Error the call returned; empty on success | | Call_ExitIndex | UInt32 | Order in which the frame was exited | | Call_From | String | Calling address, base58 | | Call_GasUsed | UInt64 | Gas consumed by this call and everything beneath it | | Call_Gas | UInt64 | Gas supplied to the call | | Call_Input | String | Raw calldata passed to the frame, hex | | Call_Index | UInt32 | Position of the frame within the transaction. Events reference it to name the frame that emitted a log | | Call_InternalCalls | UInt32 | Number of calls made beneath this frame | | Call_LogCount | UInt32 | Number of logs this frame emitted | | Call_Opcode_Name | String | Opcode name, for example CALL, DELEGATECALL, STATICCALL, CREATE or CREATE2 | | Call_Opcode_Code | UInt32 | Numeric opcode that produced the frame | | Call_Output | String | Raw return data, hex | | Call_SelfDestruct | String | Whether the called contract self-destructed; true or false | | Call_Reverted | String | Whether the frame reverted; true or false. A frame can revert inside a transaction that succeeded | | Call_Signature_Abi | String | ABI fragment for the resolved function; empty when the selector is unknown | | Call_Signature_Name | String | Decoded function name | | Call_Signature_SignatureHash | String | Four-byte selector, hex without a 0x prefix | | Call_Signature_Signature | String | Full function signature | | Call_Signature_Parsed | String | Human-readable form of the call: function name with argument values filled in | | Call_Signature_Type | String | Whether the function signature came from a registered ABI; the string true or false | | Call_ValueInUSD | Float64 | That value in USD at the block's hourly TRX price; 0 when the value is 0 | | Call_Value | String | Native TRX sent with the call, decimal adjusted, as a decimal string | | Call_To | String | Called address, base58 | | Call_Success | String | Whether the frame succeeded; true or false | | Contract_Address | String | Contract the transaction called | | Contract_Type | String | TRON contract type, for example TriggerSmartContract or TransferContract | | Contract_TypeUrl | String | Protobuf type of the contract call, for example type.googleapis.com/protocol.TriggerSmartContract | | Transaction_Hash | String | Hash of the transaction this row settled in; the join key across the tables | | Transaction_Fee | String | Transaction fee in TRX, decimal adjusted from SUN, as a decimal string | | TransactionStatus_Success | String | Whether the transaction succeeded; the string true or false | | TransactionStatus_EndError | String | Error the parent transaction ended with; empty when it succeeded | | TransactionStatus_FaultError | String | Fault-level error on the parent transaction; empty when none | | Witness_Address | String | Address of the block producer | | Witness_Signature | String | Signature of the block producer | ### events: 45 columns One row per log, with the decoded event signature, topics, raw data and the call frame that emitted it. Bucket prefix: tron/events File naming: _.parquet, 50 blocks per file, sorted ascending Free sample (real Parquet, no email needed): https://bitquery-blockchain-dataset.s3.us-east-1.amazonaws.com/tron/events/78861200_78861249.parquet Sample updated: Jan 20, 2026 | column | type | description | | --- | --- | --- | | Arguments | String | Decoded event arguments as a JSON array, when the signature resolved; empty otherwise | | Topics_Hash | String | Indexed topics of the log, as an array of hex strings; the first is the event signature hash | | Block_Number | Int64 | Block height | | Block_Time | DateTime | Block timestamp, UTC | | Block_Date | Date | UTC date of the block | | Call_Signature_Name | String | Decoded function name | | Call_Signature_Signature | String | Full function signature | | Call_Signature_SignatureHash | String | Four-byte selector, hex without a 0x prefix | | Call_Signature_Type | String | Whether the function signature came from a registered ABI; the string true or false | | Call_Signature_Abi | String | ABI fragment of the function the emitting frame ran | | Call_CallPath | Array | Path of call indexes from the transaction root down to the emitting frame | | Call_CallerIndex | Int32 | Call_Index of the frame that called the emitting frame; -1 at the top level | | Call_InternalCalls | UInt32 | Number of calls made beneath the emitting frame | | Call_SelfDestruct | String | Whether the emitting contract self-destructed; true or false | | Call_Reverted | String | Whether the emitting frame reverted; true or false | | Call_Error | String | Error the emitting frame returned; empty on success | | Call_From | String | Caller of the emitting frame, base58 | | Call_Index | UInt32 | Position of the emitting frame within the transaction; join to calls on this plus Transaction_Hash | | Call_Create | String | Whether the emitting frame deployed a contract; true or false | | Call_GasUsed | UInt64 | Gas consumed by the emitting frame and everything beneath it | | Call_Gas | UInt64 | Gas supplied to the emitting frame | | Call_Success | String | Whether the frame succeeded; true or false | | Call_Value | String | Native TRX sent with the emitting frame, decimal adjusted | | Call_To | String | Address the emitting frame called, base58 | | Contract_Address | String | Contract the transaction called | | Contract_Type | String | TRON contract type, for example TriggerSmartContract or TransferContract | | Log_ExitIndex | UInt32 | Exit index of the emitting frame | | Log_EnterIndex | UInt32 | Enter index of the emitting frame | | Log_Index | UInt32 | Position of the log within the transaction | | Log_Pc | UInt64 | Program counter at which the log opcode ran | | Log_LogAfterCallIndex | UInt32 | Index of the last call frame entered before this log, for ordering logs against calls | | Log_Signature_Name | String | Decoded event name, for example Transfer | | Log_Signature_SignatureHash | String | Event topic0, hex without a 0x prefix | | Log_Signature_Signature | String | Full event signature | | Log_Signature_Type | String | Whether the event signature came from a registered ABI; the string true or false | | Log_Signature_Abi | String | ABI fragment for the resolved event; empty when the topic is unknown | | Log_SmartContract | String | Contract that emitted the log, base58. Filter on this for one contract's events | | LogHeader_Address | String | Address recorded in the log header, base58 | | LogHeader_Data | String | Raw non-indexed log data, hex | | LogHeader_Index | UInt64 | Index of the log within the block, as the receipt records it | | LogHeader_Removed | String | Whether the log was removed by a reorg; true or false | | Transaction_Hash | String | Hash of the transaction this row settled in; the join key across the tables | | Transaction_Fee | String | Transaction fee in TRX, decimal adjusted from SUN, as a decimal string | | Transaction_Index | Int32 | Position of the transaction within the block | | TransactionStatus_Success | String | Whether the transaction succeeded; the string true or false | ### transfers: 43 columns One row per TRX, TRC-10 or TRC-20 transfer, with sender, receiver, token metadata and a USD value where a price exists. Bucket prefix: tron/transfers File naming: _.parquet, 50 blocks per file, sorted ascending Free sample (real Parquet, no email needed): https://bitquery-blockchain-dataset.s3.us-east-1.amazonaws.com/tron/transfers/78861100_78861149.parquet Sample updated: Jan 20, 2026 | column | type | description | | --- | --- | --- | | Block_Number | Int64 | Block height | | Block_Time | DateTime | Block timestamp, UTC | | Block_Date | Date | UTC date of the block | | Transfer_Amount | String | Amount transferred, decimal adjusted, as a decimal string. Multiply by 10^Transfer_Currency_Decimals for the raw on-chain integer | | Transfer_AmountInUSD | Float64 | Amount valued in USD at the hourly price for the block's hour; 0 for TRC-10 tokens and tokens with no price | | Transfer_CallIndex | UInt64 | Index of the call the transfer happened in | | Transfer_Currency_AssetId | String | TRC-10 asset id; the string 0 for native TRX and empty for TRC-20 | | Transfer_Currency_Decimals | Int32 | Decimals of the transferred currency | | Transfer_Currency_Delegated | String | Whether the currency is delegated; the string true or false | | Transfer_Currency_DelegatedTo | String | Address the currency is delegated to; empty when it is not | | Transfer_Currency_Fungible | String | Whether the currency is fungible; true or false | | Transfer_Currency_Name | String | Name of the transferred currency | | Transfer_Currency_HasURI | String | Whether the currency carries a metadata URI; true or false | | Transfer_Currency_Native | String | true for native TRX, false for TRC-10 and TRC-20. Filter on this to separate base-asset flow from token flow | | Transfer_Currency_Symbol | String | Symbol reported by the contract; repeats across tokens, so join on the contract address | | Transfer_Currency_SmartContract | String | Contract of the transferred token; empty for native TRX. USDT is TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t | | Transfer_Currency_ProtocolName | String | Token standard, for example trc20 or trc10 | | Transfer_TransactionIndex | UInt64 | Position of the transaction within the block | | Transfer_URI | String | Metadata URI for non-fungible transfers; empty otherwise | | Transfer_Success | String | Whether the transfer succeeded; true or false | | Transfer_Sender | String | Sending address, base58 | | Transfer_Receiver | String | Receiving address, base58 | | Transfer_LogIndex | UInt64 | Log index within the transaction; the event index for TRC-20 transfers | | Transfer_Index | UInt32 | Position within the transaction. Several rows in one transaction can share it | | Transfer_Data | String | Raw transfer payload; empty on TRX, TRC-10 and TRC-20 transfers, which is all of them today | | Transfer_Id | String | Token id for non-fungible transfers; the string 0 when there is none | | Witness_Signature | String | Signature of the block producer | | Witness_Address | String | Address of the block producer | | TransactionStatus_Success | String | Whether the transaction succeeded; the string true or false | | Transaction_Fee | String | Transaction fee in TRX, decimal adjusted from SUN, as a decimal string | | Transaction_FeePayer | String | Address that paid the fee, which is the transaction sender | | Transaction_Hash | String | Hash of the transaction this transfer settled in; the join key to the transactions and events tables | | Transaction_FeeInUSD | Float64 | Transaction fee valued in USD at the hourly TRX price for the block's hour | | Log_Signature_Name | String | Decoded event name, for example Transfer | | Log_Signature_Signature | String | Full event signature | | Log_Signature_Type | String | Whether the event signature came from a registered ABI; the string true or false | | Log_Signature_SignatureHash | String | Event topic0, hex without a 0x prefix | | Contract_Address | String | Contract the transaction called | | Contract_Type | String | TRON contract type, for example TriggerSmartContract or TransferContract | | Call_Signature_Name | String | Decoded function name | | Call_Signature_Signature | String | Full function signature | | Call_Signature_Type | String | Whether the function signature came from a registered ABI; the string true or false | | Call_Signature_SignatureHash | String | Four-byte selector, hex without a 0x prefix | ### dex_trades: 68 columns One row per DEX swap on TRON, with both sides, pool and protocol, fees, transaction details and a USD value where a price exists. Bucket prefix: tron/dex_trades File naming: _.parquet, 50 blocks per file, sorted ascending Free sample (real Parquet, no email needed): https://bitquery-blockchain-dataset.s3.us-east-1.amazonaws.com/tron/dex_trades/78861200_78861249.parquet Sample updated: Jan 20, 2026 | column | type | description | | --- | --- | --- | | Block_Number | Int64 | Block height | | Block_Date | Date | UTC date of the block | | Block_Time | DateTime | Block timestamp, UTC | | Trade_Buy_Amount | String | Amount bought, decimal adjusted, as a decimal string with exactly as many places as the token has decimals; for NFTs, the number of items | | Trade_Buy_AmountInUSD | Float64 | USD value of the swap at the block's hourly price, set from its best-priced side and the same on both sides; 0 when neither side has a price | | Trade_Buy_Buyer | String | Address that received the bought currency, usually a router or the trader | | Trade_Buy_Currency_AssetId | String | TRC-10 asset id of the bought token; empty for TRX and TRC-20 tokens | | Trade_Buy_Currency_Decimals | Int32 | Decimals of the bought token, as its contract reports them | | Trade_Buy_Currency_Fungible | String | Whether the bought token is fungible; true or false, and false for NFTs | | Trade_Buy_Currency_ProtocolName | String | Token standard on the bought side, for example erc20 or erc1155; empty for native TRX | | Trade_Buy_Currency_SmartContract | String | Contract of the bought token, base58; empty for native TRX | | Trade_Buy_Currency_Symbol | String | Symbol reported by the bought token's contract; not unique, so join on the contract | | Trade_Buy_Currency_Name | String | Name reported by the bought token's contract; lookalike tokens copy real names | | Trade_Buy_Currency_HasURI | String | Whether the bought token carries a metadata URI; true or false | | Trade_Buy_Currency_DelegatedTo | String | Implementation the bought token's contract delegates to, when it is a proxy; empty otherwise | | Trade_Buy_URIs | String | Token URIs of the bought asset, as a JSON array; empty for fungible tokens | | Trade_Buy_Seller | String | Address that sent the bought currency, usually the pool | | Trade_Buy_OrderId | String | Order id for order-book and marketplace trades on order-book venues, hex without 0x; empty for pool swaps. The same value on both sides | | Trade_Buy_Ids | String | Token ids bought, as strings; empty for fungible tokens | | Trade_PriceInUSD | Float64 | Price of one unit of the bought token in USD at the hourly price for the block's hour; 0 when no price | | Trade_Price | Float64 | Price of the trade as the DEX reports it, sold amount per unit bought | | Trade_Dex_DelegatedTo | String | Implementation the DEX contract delegates to, when it is a proxy; empty otherwise | | Trade_Dex_FeeRecipient | String | Address that received the DEX fee for the swap, when the protocol reports one; empty otherwise | | Trade_Dex_OwnerAddress | String | Factory or owner the index records for the pool, base58; empty when none. Use it to tell forks apart | | Trade_Dex_Pair_SmartContract | String | Pool token contract for v2-style pools, base58; empty otherwise, where Trade_Dex_SmartContract or Trade_PoolId names the pool | | Trade_Dex_Pair_Symbol | String | Symbol of the pool's own LP token, for example UNI-V2; not unique | | Trade_Dex_Pair_AssetId | String | TRC-10 asset id of the pool's own LP token; empty when the pool has none | | Trade_Dex_Pair_Decimals | Int32 | Decimals of the pool's own LP token; 0 when the pool has none, as in v3 and v4 | | Trade_Dex_Pair_Delegated | String | Whether the pool contract is a proxy; the string true or false | | Trade_Dex_Pair_Fungible | String | Whether the pool's LP token is fungible; the string true or false | | Trade_Dex_Pair_HasURI | String | Whether the pool's LP token has a token URI; the string true or false | | Trade_Dex_Pair_Name | String | Name of the pool's own LP token, for example Uniswap V2; empty for v3, v4 and other pools without one | | Trade_Dex_Pair_ProtocolName | String | Token standard of the pool's LP token, for example trc20; empty when the pool has none | | Trade_Dex_ProtocolFamily | String | Protocol family, for example SunSwap. Filter this column to keep or drop a venue | | Trade_Dex_ProtocolName | String | Protocol and version as indexed, for example sunswap_v2. It names the pool design, so forks can share it | | Trade_Dex_ProtocolVersion | String | Protocol version string | | Trade_Dex_SmartContract | String | Contract that emitted the swap, base58; the pool contract for SunSwap pools | | Trade_Fees | String | Fees charged on the swap as a JSON array of [amount, amountInUSD, [decimals, name, token standard, contract hex, symbol], payer, recipient]; the USD value is set when the fee token is one side of the swap; [] when none | | Trade_Index | UInt32 | Position of the swap within the transaction | | Trade_Sell_Amount | String | Amount sold, decimal adjusted, as a decimal string with exactly as many places as the token has decimals; for NFTs, the number of items | | Trade_Sell_AmountInUSD | Float64 | USD value of the swap at the block's hourly price, set from its best-priced side and the same on both sides; 0 when neither side has a price | | Trade_Sell_Buyer | String | Address that received the sold currency, usually the pool | | Trade_Sell_Currency_AssetId | String | TRC-10 asset id of the sold token; empty for TRX and TRC-20 tokens | | Trade_Sell_Currency_Decimals | Int32 | Decimals of the sold token, as its contract reports them | | Trade_Sell_Currency_Fungible | String | Whether the sold token is fungible; true or false, and false for NFTs | | Trade_Sell_Currency_ProtocolName | String | Token standard on the sold side, for example erc20 or erc1155; empty for native TRX | | Trade_Sell_Currency_SmartContract | String | Contract of the sold token, base58; empty for native TRX | | Trade_Sell_Currency_Symbol | String | Symbol reported by the sold token's contract; not unique, so join on the contract | | Trade_Sell_Currency_Name | String | Name reported by the sold token's contract; lookalike tokens copy real names | | Trade_Sell_Currency_HasURI | String | Whether the sold token carries a metadata URI; true or false | | Trade_Sell_Currency_DelegatedTo | String | Implementation the sold token's contract delegates to, when it is a proxy; empty otherwise | | Trade_Sell_URIs | String | Token URIs of the sold asset, as a JSON array; empty for fungible tokens | | Trade_Sell_Seller | String | Address that sent the sold currency, usually a router or the trader | | Trade_Sell_OrderId | String | Order id for order-book and marketplace trades on order-book venues, hex without 0x; empty for pool swaps. The same value on both sides | | Trade_Sell_Ids | String | Token ids sold, as strings; empty for fungible tokens | | Trade_Success | String | Whether this swap succeeded; true or false. A swap can fail inside a successful transaction, so filter on this column | | Trade_Sender | String | Address that called the pool, often a router or aggregator | | Trade_PriceAsymmetry | Float64 | Relative gap between the prices implied by the two sides of the swap; 0 when they agree | | Transaction_Hash | String | Hash of the transaction this row settled in; the join key across the tables | | Transaction_Index | Int32 | Position of the transaction within the block | | Transaction_Fee | String | Transaction fee in TRX, decimal adjusted from SUN, as a decimal string | | TransactionStatus_Success | String | Whether the transaction succeeded; the string true or false | | Call_Signature_Signature | String | Full function signature | | Call_Signature_SignatureHash | String | Four-byte selector, hex without a 0x prefix | | Log_Signature_Signature | String | Full event signature | | Log_Signature_SignatureHash | String | Event topic0, hex without a 0x prefix | | Contract_Address | String | Contract the transaction called | | Contract_Type | String | TRON contract type, for example TriggerSmartContract or TransferContract | ## Price - Latest month (Sep 4, 2026 → Oct 4, 2026): $400 one-time, USD - Last 12 months (Oct 4, 2025 → Oct 4, 2026): $2,400 one-time, USD - Last 24 months (Oct 4, 2024 → Oct 4, 2026): $4,800 one-time, USD - Full history (Jun 25, 2018 → Oct 4, 2026): $12,000 one-time, USD Every window includes all 6 tables and 251 columns. Only the time range changes. ## Questions buyers ask Q: What is included in the TRON dataset? A: Six Parquet tables with 251 documented columns in total: blocks (13), transactions (36), calls (46), events (45), transfers (43) and dex_trades (68). Each purchase covers the window you choose, through to yesterday, refreshed daily. The Full tier starts at the start of indexed history on 25 June 2018. Q: How far back does the full history go, and why buy it? A: To 25 June 2018, the start of indexed history; the first transfer sits at block 342. TRON's shape has changed since: USDT moved from Omni onto TRC-20 in 2019, and stablecoin volume has grown until it dominates the chain. A baseline before those shifts, a long backtest, or a contract's deployment-to-present history needs the full archive rather than a recent slice. Q: How large is the full dataset? A: Transfers alone is about 13 billion rows, estimated from the live table for the TRON Transfers product. We size the other tables before delivery and send you the exact figures with the manifest, so you can plan storage before downloading. If calls and events are more than you need, we can quote the other four tables on their own. Q: How do the tables join? A: On Transaction_Hash, which appears in every table except blocks; blocks join on Block_Number. Within a transaction, Call_Index orders the call frames, Log_Index orders the logs, Transfer_Index orders the transfers and Trade_Index orders the swaps. Q: What is deliberately not in this dataset? A: Balance updates. The chain-wide balance_updates_address table exists in our store but is not part of this bundle, because it carries several rows per transfer and would dominate the size. If you need it, ask and we will quote it alongside this one. Q: How are fees recorded? A: The way TRON charges them. A transaction consumes bandwidth and, for contract calls, energy; what the sender's staked resources do not cover is burnt as TRX. Transaction_Receipt_EnergyUsageTotal and Transaction_Receipt_NetUsage are the resources used, Transaction_Receipt_EnergyFee and Transaction_Receipt_NetFee are the TRX actually burnt, and Transaction_Fee is their sum. Transaction_FeeLimit is the ceiling the sender set. In the sample window most transactions burnt nothing, because staked resources covered them. Q: What do the result columns mean? A: Transaction_Result_Status is the chain's own outcome, spelt SUCESS or FAILED as the chain spells it. Transaction_Receipt_Result is the receipt code: DEFAULT for plain transfers and resource operations, SUCCESS or a failure reason such as OUT_OF_ENERGY for contract calls. Contract_Type and Contract_TypeUrl say what kind of operation the transaction was: TransferContract, TriggerSmartContract, DelegateResourceContract and so on. Q: Which DEXes are in dex_trades? A: Every venue we decode on TRON, identified by Trade_Dex_ProtocolFamily and Trade_Dex_ProtocolName on each row. In the sample window the only family present was SunSwap, which carries most TRON swap volume. Filter the family column to keep or drop a venue. Q: How much of it is valued in USD? A: TRX and TRC-20 tokens with an hourly price series are valued; TRC-10 tokens and unpriced tokens carry 0. A USD value of 0 therefore means either a zero-value row or no price, and the column cannot tell the two apart. USDT is priced throughout, and it is the bulk of TRON transfer value. Q: Are failed transactions included? A: Yes, throughout, and the export applies no filter of its own. Transaction_Result_Status and Transaction_Receipt_Result carry the chain's own result codes on every transaction, and dex_trades additionally carries Trade_Success. Spam tokens, zero-value rows and lookalike contracts are all kept too; the columns let you drop what you do not want. Q: How do I get one contract's activity, or USDT only? A: Filter Call_To in calls and Log_SmartContract in events to the contract, in base58. For token flow, filter Transfer_Currency_SmartContract in transfers; USDT is TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t. Join on contract addresses rather than symbols, which repeat. Q: How are amounts and booleans encoded? A: Amounts are decimal-adjusted decimal strings, carrying exactly as many places as the token has decimals; TRX amounts are adjusted from SUN, where one TRX is a million SUN, except the energy fee, which the chain reports in SUN. Multiply by ten to the power of the decimals for the raw on-chain integer. Casting to float loses precision on large values. Booleans are the strings true and false. Q: How do I load it? A: One line in DuckDB: SELECT * FROM read_parquet('transfers/*.parquet') LIMIT 10. Pandas works too: pandas.read_parquet(path). The sample files open without credentials. Q: How is the data delivered, and how current is it? A: As flat Parquet named by block range, 50 blocks per file and sorted ascending, one prefix per table, with a JSON manifest listing every file and its sha256. We prepare the files within 7 business days of purchase and email you the location. You choose at checkout where to collect them: a Requester Pays S3 bucket, downloaded with your own AWS account, or a Cloudflare R2 bucket with a read-only API key and no egress fees. Files stay available for 7 days from delivery. Enterprise orders can be delivered into your own S3, GCS or R2 bucket. Refreshed daily with T+1 latency, so a purchase made today includes everything to yesterday. Q: Can I try before I buy? A: Yes. Each table links to a public sample file with real records, and the sample bucket holds full Parquet files you can load directly. No email address required. ## What this file is, and is not This is a description of one dataset sold by Bitquery, written for assistants and for people. It lists every column but holds no data rows. The sample files linked under each table are real Parquet and are free to download. Figures here come from the product record and are exact unless marked otherwise; the delivery manifest is authoritative for a purchased file. If a question needs a row that is not in a sample, say so rather than guessing at it.