Skip to main content
Schema: ink.nado Table: ez_liquidations Type: Base Table

What

All Nado liquidations. Once an account’s maintenance margin reaches $0, the account is eligible for liquidation. Liquidation events happen one by one, with the riskiest positions being liquidated first. Liquidations are based on the oracle price.

Columns

Column NameData TypeDescription
BLOCK_NUMBERNUMBERSequential 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_TIMESTAMPTIMESTAMP_NTZUTC 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_HASHTEXTUnique 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_ADDRESSTEXTSmart 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_NAMETEXTThe 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_INDEXNUMBERZero-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_SIGNATURETEXTFunction 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_ADDRESSTEXTThe 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_ADDRESSTEXTThe 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.
DIGESTTEXTThe 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.
TRADERTEXTThe wallet address of the trader, there can be multiple subaccounts associated with a trader.
SUBACCOUNTTEXTIndependent 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_IDNUMBERThe 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_GROUPFLOATThe 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_SYMBOLTEXTThe token symbol represented by the specific health group. For example WBTC and BTC-PERP is BTC.
AMOUNT_UNADJNUMBERThe total size of the trade in units of the asset being traded.
AMOUNTFLOATThe 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_UNADJNUMBERTo 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_QUOTEFLOATTo 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_SPREADBOOLEANIS_ENCODED_SPREAD column
SPREAD_PRODUCT_IDSARRAYArray 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_IDTEXTPrimary 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_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 SLA tracking Query Example:
MODIFIED_TIMESTAMPTIMESTAMP_NTZUTC 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: