Skip to main content
Schema: tron.core Table: ez_native_transfers Type: Base Table

What

This convenience table tracks all native TRX transfers extracted from internal transactions (call_value_info). It provides decimal-adjusted amounts and USD conversions, simplifying native asset flow analysis. TRX uses 6 decimal places (1 TRX = 1,000,000 SUN).

Key Use Cases

  • Tracking native TRX movements between addresses
  • Analyzing exchange deposits and withdrawals
  • Monitoring whale TRX movements
  • Calculating wallet TRX balances from transfer history
  • Measuring network-wide TRX transfer volume

Important Relationships

  • Join with fact_transactions: Use tx_hash for full transaction context
  • Join with fact_internal_transactions: Use tx_hash and internal_transaction_id for the source internal call
  • Complement to ez_token_transfers: Together provides a complete picture of all value flows on Tron

Commonly-used Fields

  • from_address: TRX sender address
  • to_address: TRX recipient address
  • amount: Decimal-adjusted TRX amount (float)
  • amount_usd: USD value at time of transfer
  • amount_precise: Exact TRX amount as string for precision

Sample queries

-- Daily TRX transfer volume
SELECT
    DATE_TRUNC('day', block_timestamp) AS day,
    COUNT(*) AS transfer_count,
    SUM(amount) AS total_trx,
    SUM(amount_usd) AS total_usd,
    COUNT(DISTINCT from_address) AS unique_senders
FROM tron.core.ez_native_transfers
WHERE block_timestamp >= CURRENT_DATE - 30
GROUP BY 1
ORDER BY 1 DESC;

-- Whale TRX movements (over 1M TRX)
SELECT
    block_timestamp,
    tx_hash,
    from_address,
    to_address,
    amount,
    amount_usd
FROM tron.core.ez_native_transfers
WHERE block_timestamp >= CURRENT_DATE - 7
    AND amount > 1000000
ORDER BY amount DESC
LIMIT 100;

-- Top TRX recipients
SELECT
    to_address,
    COUNT(*) AS transfers_received,
    SUM(amount) AS total_trx_received,
    SUM(amount_usd) AS total_usd_received
FROM tron.core.ez_native_transfers
WHERE block_timestamp >= CURRENT_DATE - 7
    AND amount_usd IS NOT NULL
GROUP BY 1
ORDER BY 4 DESC
LIMIT 50;

Columns

Column NameData TypeDescription
BLOCK_NUMBERNUMBERSequential counter representing the position of a block in the Tron blockchain since genesis (block 0). Key Facts: Immutable once finalized Primary ordering mechanism for blockchain data Increments by 1 for each new block Encoded in the first bytes of blockhash Usage in Queries: Important: Many early Tron blocks are empty (zero transactions). Expect blocknumber gaps in transaction-based tables.
BLOCK_TIMESTAMPTIMESTAMP_NTZUTC timestamp when the block was produced by the super representative (SR). Format: TIMESTAMP_NTZ (no timezone) Precision: Second-level accuracy Best Practices: Note: Tron produces blocks every 3 seconds via DPoS consensus.
TX_HASHTEXTUnique identifier for the transaction. Format: 0x + 64 hexadecimal characters Usage: Primary key for transaction lookups Join key for event logs, internal transactions, and token transfers Immutable once confirmed Example: ‘0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060’
TX_POSITIONNUMBERZero-indexed position of the transaction within its block. Example: 5
INTERNAL_TRANSACTION_IDTEXTThe identifier of the internal transaction within the parent transaction, linking back to factinternaltransactions. Example: ‘internal_0’
FROM_ADDRESSTEXTThe sender address for the native TRX transfer, in 0x-prefixed hex format. Derived from calleraddress in factinternal_transactions. Example: ‘0x1234567890123456789012345678901234567890’
TO_ADDRESSTEXTThe recipient address for the native TRX transfer, in 0x-prefixed hex format. Example: ‘0xabcdefabcdefabcdefabcdefabcdefabcdefabcd’
AMOUNTFLOATTRX amount transferred, decimal-adjusted (divided by 1e6), as a float. Example: 1500.5
AMOUNT_PRECISE_RAWTEXTRaw transfer amount in SUN (smallest TRX unit), as a string for precision preservation. Example: ‘1500500000’
AMOUNT_PRECISETEXTTRX amount transferred, decimal-adjusted (divided by 1e6), as a string for full precision. Example: ‘1500.500000’
AMOUNT_USDFLOATUSD value of the TRX transfer at the time of the transaction. NULL if price data unavailable. Example: 150.05
ORIGIN_FROM_ADDRESSTEXTThe address that initiated the originating transaction, in 0x-prefixed hex format. Useful when viewing events or internal transactions to trace back to the original caller.
ORIGIN_TO_ADDRESSTEXTThe destination address of the originating transaction. For contract interactions, this is the contract that was directly called (not necessarily the contract that emitted the event).
ORIGIN_FUNCTION_SIGNATURETEXTFunction signature (first 4 bytes) of the called method in the originating transaction. Format: 0x + 8 hex characters Common Signatures: 0xa9059cbb: transfer(address,uint256) 0x095ea7b3: approve(address,uint256) 0x23b872dd: transferFrom(address,address,uint256) Note: NULL for simple TRX transfers or non-contract calls.
EZ_NATIVE_TRANSFERS_IDTEXTPrimary key — unique identifier for each row ensuring data integrity. Format: VARCHAR containing composite key generated using MD5 hash of the relevant columns. Usage: Deduplication in incremental loads Join operations for data quality checks Troubleshooting specific records
INSERTED_TIMESTAMPTIMESTAMP_NTZUTC timestamp when the record was first added to the Flipside database. Format: TIMESTAMP_NTZ Use Cases: Data freshness monitoring Incremental processing markers Debugging data pipeline issues
MODIFIED_TIMESTAMPTIMESTAMP_NTZUTC timestamp of the most recent update to this record. Format: TIMESTAMP_NTZ Use Cases: Tracking data corrections and reprocessing Monitoring incremental model updates Data quality audits