| 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 |
| 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: |
| PLATFORM_NAME | TEXT | The name of the platform |
| PLATFORM_ADDRESS | TEXT | The contract address of the platform’s lending contract |
| PLATFORM_EXCHANGE_VERSION | TEXT | The version of the platform’s lending contract |
| LOAN_ID | TEXT | The ID associated with the loan, often times tied to the borrower’s address and collateral. For the case of Blur’s blend, this ID can be used as a unique identifier when tracking active loans. However, note that refinances can happen while still maintaining the same loanId. For platforms like NFTFI, loanids of previously paid loans are reused hence they can’t be reliably used as a unique identifier without appropriate timestamp filters. Instead, use the uniqueloanid column. |
| UNIQUE_LOAN_ID | TEXT | The unique ID that can be used to represent a loan within the same platform. For the same loan, the value of this ID will remain the same across the loans taken, liquidations and repayment tables. For some platforms like NFTFI where the lender is issued a promissory note, the lender can send this note to any address, making the receiver the new lender. However, the uniqueloanid still remains the same although the final lender is different. For Blend, uniqueloanid changes only if the loanId an… |
| LENDER_ADDRESS | TEXT | The address that gives out a loan to the borrower. In the case of NFTFI, when a loan is issued, a promissory note (an ERC721) is issued to the lender. The lender can transfer this note to any address which makes any receiving address the new “lender” |
| BORROWER_ADDRESS | TEXT | The address that receives the loan and has an NFT locked as collateral |
| NAME | TEXT | The name of the NFT collection or project. May be NULL for unverified collections. Example: ‘Bored Ape Yacht Club’ |
| CONTRACT_ADDRESS | TEXT | The address of the NFT used as collateral |
| TOKEN_ID | TEXT | The tokenId of the NFT used as collateral |
| LOAN_TOKEN_ADDRESS | TEXT | The contract address of what the loan is denominated in. For Blend, this is Blur’s ETH while for NFTFI this could be either WETH, DAI or USDC |
| LOAN_TOKEN_SYMBOL | TEXT | The symbol of the loan token address. For Blur Pool, the symbol is ETH |
| PRINCIPAL_UNADJ | NUMBER | The principal amount of the loan taken with unadjusted decimal places |
| PRINCIPAL | FLOAT | The principal amount of the loan taken with adjusted decimal places |
| PRINCIPAL_USD | FLOAT | The principal amount of the loan taken in USD terms |
| INTEREST_RATE | FLOAT | The non-annualized rate charged by the lender on the principal amount of the loan denominated in percentage (%). For fixed term loans, it is calculated by taking the difference between total debt and principal amount divided by principal amount. For perpetual term loans, interest rate is usually on an annual basis and total debt is calculated prorated |
| APR | FLOAT | The annualized interest rate denominated in percentage (%). |
| LOAN_TERM_TYPE | TEXT | The type of loan terms, could be either a fixed loan or a perpetual loan. A fixed term loan as a fixed repayment date while a perpetual loan does not. |
| LOAN_START_TIMESTAMP | TIMESTAMP_NTZ | The timestamp of when the loan offer is accepted |
| LOAN_DUE_TIMESTAMP | TIMESTAMP_NTZ | The timestamp of when the loan is due. For perpetual term loan, the value will be null |
| TX_FEE | FLOAT | Total fee paid for transaction execution in native token units. Example: 0.002 |
| TX_FEE_USD | FLOAT | The transaction fee in USD terms |
| 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. |
| 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 |
| EZ_NFT_LENDING_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: |