core-chain.balances Table: ez_balances_native Type: Base Table
What
This table tracks native asset balance changes (ETH, AVAX, BNB, etc.) at the transaction level by capturing pre- and post-transaction states. It uses state tracer data to show exactly how each address’s native asset balance changed during transaction execution, including decimal adjustments and USD valuations, where available, for comprehensive balance analysis. This data set includes both successful and failed transactions, as state may change regardless.Key Use Cases
- Tracking native asset balance changes at transaction granularity
- Analyzing balance impacts of smart contract interactions
- Monitoring large balance changes and whale activity
- Calculating precise balance evolution over time
- Identifying addresses with significant native asset holdings
- Debugging transaction effects on account balances
Important Relationships
- Join with fact_transactions: Use
tx_hashfor transaction context - Join with fact_blocks: Use
block_numberfor block metadata - Join with dim_labels: Use
addressfor entity identification - Join with ez_native_transfers: Compare balance changes to transfer amounts
- Join with ez_prices_hourly: USD valuations already included but can be refreshed
Commonly-used Fields
address: The account whose balance changedpre_balance: Native asset balance before the transactionpost_balance: Native asset balance after the transactionnet_balance: The change in balance (post - pre)pre_balance_usd/post_balance_usd: USD values at time of transactiontx_hash: Transaction that caused the balance changeblock_timestamp: When the balance change occurred
Sample queries
Daily Native Asset Balance ChangesColumns
| Column Name | Data Type | Description |
|---|---|---|
| BLOCK_NUMBER | NUMBER | Sequential counter representing the position of a block in the blockchain since genesis (block 0). |
- Immutable once finalized
- Primary ordering mechanism for blockchain data
- Increments by 1 for each new block
- Used as a proxy for time in many analyses
- Set by block producer
- Can have minor variations (±15 seconds)
- Always increasing (newer blocks = later timestamps)
- Position 0: First transaction in block
- MEV bots often target early positions
- Bundle transactions appear consecutively
- Useful for analyzing transaction ordering | | TX_HASH | TEXT | Unique 66-character identifier for the transaction.
- Primary key for transaction lookups
- Join key for traces, logs, and token transfers
- Immutable once confirmed
0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060 | | ADDRESS | TEXT
| The address whose native asset balance changed in this transaction.
Example: ‘0x1234567890123456789012345678901234567890’ | | DECIMALS | NUMBER | Number of decimal
places for the native asset. Typically 18 for native assets.
Example: 18 | | PRE_NONCE | NUMBER | Account nonce value before the transaction execution.
Example: 42 | | PRE_BALANCE_HEX | TEXT | Hexadecimal representation of the pre-transaction balance
as returned by the blockchain RPC.
Example: ‘0xda475abf0000000’ | | PRE_BALANCE_RAW | NUMBER | Native asset balance before transaction
in smallest unit (Wei), no decimal adjustment.
Example: 15750000000000000000 | | PRE_BALANCE_PRECISE | TEXT | Native asset balance before
transaction, decimal adjusted, returned as a string to preserve precision.
Example: ‘15.750000000000000000’ | | PRE_BALANCE | FLOAT | Native asset balance before the
transaction execution, decimal adjusted to standard units.
Example: 15.75 | | PRE_BALANCE_USD | FLOAT | USD value of the pre-transaction balance at the time of
the transaction.
Example: 39375.00 | | POST_NONCE | NUMBER | Account nonce value after the transaction execution. May
be null.
Example: 43 | | POST_BALANCE_HEX | TEXT | Hexadecimal representation of the post-transaction balance
as returned by the blockchain RPC.
Example: ‘0xaa87bee5380000’ | | POST_BALANCE_RAW | NUMBER | Native asset balance after transaction
in smallest unit (Wei), no decimal adjustment.
Example: 12250000000000000000 | | POST_BALANCE_PRECISE | TEXT | Native asset balance after
transaction, decimal adjusted, returned as a string to preserve precision.
Example: ‘12.250000000000000000’ | | POST_BALANCE | FLOAT | Native asset balance after the
transaction execution, decimal adjusted to standard units.
Example: 12.25 | | POST_BALANCE_USD | FLOAT | USD value of the post-transaction balance at the time
of the transaction.
Example: 30625.00 | | NET_BALANCE_RAW | NUMBER | The change in native asset balance in smallest unit
(Wei).
Example: -3500000000000000000 | | NET_BALANCE | FLOAT | The change in native asset balance
(post_balance - pre_balance).
Example: -3.5 | | EZ_BALANCES_NATIVE_ID | TEXT | Primary key - unique identifier for each row
ensuring data integrity.
Format: Usually VARCHAR containing composite key generated using MD5 hash of the relevant
columns. Example: MD5(block_number, tx_hash, trace_index)
Usage:
- Deduplication in incremental loads
- Join operations for data quality checks
- Troubleshooting specific records
- Data freshness monitoring
- Incremental processing markers
- Debugging data pipeline issues
- SLA tracking