somnia.balances Table: ez_balances_native_daily Type: Base Table
What
This table provides daily native asset balance snapshots (ETH, AVAX, BNB, etc.) by making directeth_getBalance RPC calls at the end of each day. Important: This table only includes a balance record for a given address on days when that address had native asset activity. Balances are not rolled forward for every address every day. This means if an address holds native assets but has no activity on a given day, no balance record will be created for that day. This provides an efficient way to track native asset holdings with decimal adjustments and USD valuations where available. Historical native balances data available, starting from 2025-06-10.
Key Use Cases
- Daily portfolio tracking and native asset balance monitoring
- Historical native asset balance analysis and trend identification
- Whale tracking and large holder distribution analysis
- Daily balance snapshots for reporting and analytics
- Native asset concentration analysis across addresses
- Daily balance-based yield and return calculations for native assets
- End-of-day balance reconciliation and accounting
Important Relationships
- Join with fact_blocks: Use
block_numberfor block metadata and timestamps - Join with dim_labels: Use
addressfor entity identification and categorization - Join with ez_prices_hourly: USD valuations already included but can be refreshed
- Join with ez_balances_erc20_daily: Compare with ERC20 token daily balances
- Join with ez_native_transfers: Compare daily balances with transfer activity
- Join with core__fact_traces: Analyze native asset movement patterns
Commonly-used Fields
address: The account address holding the native asset balancebalance: Native asset balance at end of day, decimal adjusted to standard unitsbalance_usd: USD value of the native asset balance at end of daybalance_raw: Raw balance in smallest unit (Wei) without decimal adjustmentbalance_precise: Precise decimal-adjusted balance as stringbalance_hex: Hexadecimal balance as returned by eth_getBalancedecimals: Number of decimal places (always 18 for native assets)block_date: The date for which this balance snapshot was taken
Sample queries
Daily Native Asset Holdings by AddressColumns
| Column Name | Data Type | Description |
|---|---|---|
| BLOCK_NUMBER | NUMBER | Sequential counter representing the position of a block in the blockchain since genesis (block 0). Key Facts: 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 Usage in Queries: Important: Block numbers are chain-specific. Block 15000000 on Ethereum ≠ block 15000000 on Polygon. |
| BLOCK_DATE | DATE | The date for which this balance snapshot represents the end-of-day native asset balance. Example: ‘2023-12-15’ |
| ADDRESS | TEXT | The account address whose native asset balance is recorded in this daily snapshot. Example: ‘0x1234567890123456789012345678901234567890’ |
| DECIMALS | NUMBER | DECIMALS column |
| BALANCE_HEX | TEXT | Hexadecimal representation of the native asset balance as returned by the eth_getBalance RPC call. Example: ‘0x3b9aca00’ |
| BALANCE_RAW | NUMBER | Native asset balance in the smallest unit (Wei) without decimal adjustment, as returned by eth_getBalance. Example: 1000000000000000000 |
| BALANCE_PRECISE | TEXT | Native asset balance with proper decimal adjustment, returned as a string to preserve precision. Example: ‘1.000000000000000000’ |
| BALANCE | FLOAT | Native asset balance with decimal adjustment converted to a float for easier mathematical operations. Example: 1.0 |
| BALANCE_USD | FLOAT | USD value of the native asset balance at the end of the day, calculated using hourly price data. Example: 2500.75 |
| EZ_BALANCES_NATIVE_DAILY_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(blocknumber, txhash, trace_index) Usage: Deduplication in incremental loads Join operations for data quality checks Troubleshooting specific records Important: Implementation varies by table - check table-specific documentation. |
| INSERTED_TIMESTAMP | TIMESTAMP_NTZ | UTC 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 SLA tracking Query Example: |
| MODIFIED_TIMESTAMP | TIMESTAMP_NTZ | UTC timestamp of the most recent update to this record. Format: TIMESTAMP_NTZ Triggers for Updates: Data corrections Enrichment additions Reprocessing for accuracy Schema migrations Monitoring Usage: |