| 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_TIMESTAMP | TIMESTAMP_NTZ | UTC timestamp when the block was produced by validators/miners. Format: TIMESTAMP_NTZ (no timezone) Precision: Second-level accuracy Reliability: Set by block producer Can have minor variations (±15 seconds) Always increasing (newer blocks = later timestamps) Best Practices: Note: Use for time-series analysis, but be aware that block production rates vary by chain. |
| TX_HASH | TEXT | Unique 66-character identifier for the transaction. Format: 0x + 64 hexadecimal characters Usage: Primary key for transaction lookups Join key for traces, logs, and token transfers Immutable once confirmed Example: 0x5c504ed432cb51138bcf09aa5e8a410dd4a1e204ef84bfed1be16dfba1b22060 |
| CONTRACT_ADDRESS | TEXT | Smart contract address that emitted this event or received the transaction. Key Points: Always the immediate event emitter for logs May differ from transaction to_address Lowercase normalized format Never NULL for valid events |
| EVENT_NAME | TEXT | The event name as defined in the contract’s ABI. Format: PascalCase event identifier Examples: Transfer - Token transfers Swap - DEX trades OwnershipTransferred - Admin changes Approval - Token approvals Usage Pattern: |
| EVENT_INDEX | NUMBER | Zero-based sequential position of the event within a transaction’s execution. Key Facts: Starts at 0 for first event Increments across all contracts in transaction Preserves execution order Essential for deterministic event ordering Usage Example: |
| ORIGIN_FUNCTION_SIGNATURE | TEXT | Function signature (first 4 bytes) of the called method. Format: 0x + 8 hex characters Common Signatures: 0xa9059cbb: transfer(address,uint256) 0x095ea7b3: approve(address,uint256) 0x23b872dd: transferFrom(address,address,uint256) Note: NULL for simple transfers or invalid calls |
| ORIGIN_FROM_ADDRESS | TEXT | The externally-owned account (EOA) or contract address that initiated the transaction. Key Points: Always 42 characters (0x + 40 hex chars) Lowercase normalized in all tables Cannot be NULL for valid transactions For contract creation: sender of creation transaction Common Patterns: EOA → EOA: Simple transfer EOA → Contract: User interaction Contract → Contract: Internal calls (see fact_traces) Known addresses: Exchange hot wallets, protocol deployers Query Examples: |
| ORIGIN_TO_ADDRESS | TEXT | The destination address for the transaction - either an EOA or contract address. Special Cases: NULL: Contract creation transaction Contract address: Interacting with smart contract EOA address: Simple transfer or receiving funds Important Patterns: Note: For token transfers, this is the token contract, not the recipient. See eztokentransfers tables for recipient. |
| DIGEST | TEXT | The identifier for a specific trade, this can be split across two or more base deltas in order to fill the entire amount of the trade. |
| TRADER | TEXT | The wallet address of the trader, there can be multiple subaccounts associated with a trader. |
| SUBACCOUNT | TEXT | Independent Nado account of trader with its own margin, balance, positions, and trades. Any wallet can open an arbitrary number of these. Risk is not carried over from subaccount to subaccount. |
| PRODUCT_ID | NUMBER | The product to liquidate as well as the liquidation mode: Perp Liquidation: Any valid perp productid with isencodespread set to false. Spot Liquidation: Any valid spot productid with isencodespread set to false. Spread Liquidation: If there are perp and spot positions in different directions, liquidate both at the same time. isencodespread must be set to true. If it is a spread liquidation this column will show the perp productid, for both ids refer to the spreadproduct_ids array. Only availa… |
| HEALTH_GROUP | FLOAT | The spot / perp product pair of health group i where healthgroups[i][0] is the spot productid and healthgroups[i][1] is the perp productid. Additionally, it is possible for a health group to only have either a spot or perp product, in which case, the product that doesn’t exist is set to 0. |
| HEALTH_GROUP_SYMBOL | TEXT | The token symbol represented by the specific health group. For example WBTC and BTC-PERP is BTC. |
| AMOUNT_UNADJ | NUMBER | The total size of the trade in units of the asset being traded. |
| AMOUNT | FLOAT | The total size of the trade in units of the asset being traded across one digest, decimal adjusted. All amounts and prices are adjusted 18 decimals points regardless of underlying asset contract. |
| AMOUNT_QUOTE_UNADJ | NUMBER | To liquidate a position, there must be a payment (transfer) between the liquidator and the position holder. This done in the quote currency, USDT0. Payments are signed as positive, meaning you received the USDT0, or negative, meaning you paid. For perpetual liquidations, users should expect to see a (+) USDT0 payment. They will see a (-) USDT0 payment for borrowers since they need to pay the user for buying their borrow. |
| AMOUNT_QUOTE | FLOAT | To liquidate a position, there must be a payment (transfer) between the liquidator and the position holder. This done in the quote currency, USDT0. Payments are signed as positive, meaning you received the USDT0, or negative, meaning you paid. For perpetual liquidations, users should expect to see a (+) USDT0 payment. They will see a (-) USDT0 payment for borrowers since they need to pay the user for buying their borrow. All amounts and prices are adjusted 18 decimals points regardless of und… |
| IS_ENCODED_SPREAD | BOOLEAN | IS_ENCODED_SPREAD column |
| SPREAD_PRODUCT_IDS | ARRAY | Array of productids that have been decoded from binary. Only available when isencode_spread is true and the liquidation occurs on V2 Nado, which went live March 8th 2024. |
| EZ_LIQUIDATIONS_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: |