Skip to main content
Schema: solana.core Table: ez_transfers Type: View

View DBT Documentation

View the complete technical documentation and data lineage for this table

Description

This table contains transfer events for Solana and SPL tokens, including pre-parsed transfer amounts, USD value, token symbol, and verification status. Each row represents a single transfer event with enriched metadata that makes analytics easier compared to the raw core.fact_transfers table. The model includes both SOL and token transfers with complete pricing and token metadata, supporting comprehensive analytics on asset movement, wallet activity, payment flows, and large value transfers. This is the preferred table for transfer analytics - it includes USD pricing, token symbols, verification status, and other enriched fields that are essential for most analytical use cases.

Key Use Cases

  • Track SOL and SPL token movements with USD valuations
  • Analyze payment flows and wallet transaction histories
  • Monitor large value transfers and whale activity with price context
  • Build DeFi protocol volume analytics with accurate USD measurements
  • Analyze token adoption and usage patterns using verified token metadata
  • Create comprehensive asset movement dashboards with pricing data

Important Relationships

  • Enhanced version of core.fact_transfers with additional pricing and metadata fields
  • Closely related to core.fact_events (for event context), core.fact_events_inner (for inner/CPI events), and core.ez_events_decoded (for decoded instruction details)
  • Uses token price data from price tables to compute USD values
  • Joins with core.fact_transactions for transaction context
  • Essential for DeFi analytics when combined with protocol-specific tables like defi.ez_dex_swaps and defi.ez_liquidity_pool_actions

Commonly-used Fields

  • block_timestamp: For time-series and transfer sequencing analysis
  • tx_id, block_id: For transaction and block context joins
  • tx_from, tx_to: For sender and recipient analysis and wallet tracking
  • amount, amount_usd: For value analysis in both token units and USD
  • mint, symbol: For token-specific analytics and filtering
  • token_is_verified: For filtering to verified/trusted tokens
  • signer: For transaction initiator analysis

Sample Queries

Daily transfer volume and metrics

SELECT
    DATE_TRUNC('day', block_timestamp) AS date,
    COUNT(*) AS transfer_count,
    COUNT(DISTINCT tx_from) AS unique_senders,
    COUNT(DISTINCT tx_to) AS unique_receivers,
    COUNT(DISTINCT mint) AS unique_tokens,
    SUM(amount_usd) AS total_volume_usd,
    AVG(amount_usd) AS avg_transfer_usd,
    PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY amount_usd) AS median_transfer_usd
FROM solana.core.ez_transfers
WHERE block_timestamp >= CURRENT_DATE - 30
    AND amount_usd > 0
GROUP BY 1
ORDER BY 1 DESC;

Top token transfer routes

SELECT
    tx_from,
    tx_to,
    symbol,
    mint,
    COUNT(*) AS transfer_count,
    SUM(amount) AS total_amount,
    SUM(amount_usd) AS total_usd,
    AVG(amount_usd) AS avg_transfer_usd
FROM solana.core.ez_transfers
WHERE block_timestamp >= CURRENT_DATE - 7
    AND amount_usd IS NOT NULL
GROUP BY 1, 2, 3, 4
HAVING total_usd > 10000
ORDER BY total_usd DESC
LIMIT 100;

Token velocity analysis

SELECT
    mint,
    symbol,
    COUNT(*) AS transfer_count,
    COUNT(DISTINCT tx_from) AS unique_senders,
    COUNT(DISTINCT tx_to) AS unique_receivers,
    SUM(amount_usd) AS total_volume_usd,
    COUNT(DISTINCT DATE(block_timestamp)) AS active_days,
    SUM(amount_usd) / NULLIF(COUNT(DISTINCT DATE(block_timestamp)), 0) AS daily_avg_volume_usd
FROM solana.core.ez_transfers
WHERE block_timestamp >= CURRENT_DATE - 7
    AND amount_usd > 0
GROUP BY 1, 2
HAVING total_volume_usd > 1000
ORDER BY total_volume_usd DESC;

Columns

Column NameData TypeDescription
BLOCK_TIMESTAMPTIMESTAMP_NTZThe timestamp (UTC) at which the block was produced on the Solana blockchain. This field is recorded as a TIMESTAMP data type and represents the precise moment the block was finalized and added to the chain. It is essential for time-series analysis, block production monitoring, and aligning transaction and event data to specific points in time. Used extensively for analytics involving block intervals, network activity trends, and historical lookups. Format: YYYY-MM-DD HH:MI:SS (UTC).
BLOCK_IDNUMBERA unique identifier for the block in which this transaction was included on the Solana blockchain. Typically a sequential integer or hash, depending on the data source. Used to group transactions by block and analyze block-level activity.
TX_IDTEXTThe unique transaction signature (hash) for each transaction on the Solana blockchain. This field is a base58-encoded string, typically 88 characters in length, and serves as the primary identifier for transactions across all Solana data models. Used to join transaction data with related tables (blocks, events, transfers, logs, decoded instructions) and to trace the full lifecycle and effects of a transaction. Essential for transaction-level analytics, debugging, and cross-referencing with block explorers or Solana APIs.
SIGNERVARIANTThe Solana address (public key, base58-encoded) that signed the transaction. Signers are responsible for authorizing transactions and may represent users, programs, or system accounts. In most cases, the first signer is the fee payer. This field enables analysis of user activity, protocol adoption, and transaction attribution.
INDEXNUMBERThe position of the transfer event within the list of events for a given Solana transaction. Used to order and reference transfers within a transaction. Indexing starts at 0 for the first event.
INNER_INDEXNUMBERThe position of the inner instruction or event within the list of inner instructions for a given Solana transaction. Used to order and reference nested (CPI) instructions. Indexing starts at 0 for the first inner instruction.
TX_FROMTEXTThe base58-encoded wallet address that initiates the transfer event. For native SOL and SPL token transfers, this is the sender’s address. Used to attribute outgoing asset movement to specific users or programs.
TX_TOTEXTThe base58-encoded wallet address that receives the asset in a transfer event. For native SOL and SPL token transfers, this is the recipient’s address. Used to attribute incoming asset movement to specific users or programs.
AMOUNTFLOATThe amount of the asset transferred in the event. For native SOL, this is decimal adjusted and is not in Lamports. For SPL tokens, this is decimal adjusted according to the token’s mint. Represents the value moved from sender to recipient in a single transfer event.
AMOUNT_USDFLOATThe USD value of the transferred amount, calculated using the token price at the time of the transfer. This field enables value-based analytics and comparisons across different tokens.
MINTTEXTUnique address representing a specific token.
SYMBOLTEXTThe symbol of the token involved in the action (e.g., SOL, USDC, RAY). Used to identify the asset type in analytics and reporting.
TOKEN_IS_VERIFIEDBOOLEANA flag indicating if the asset has been verified by the Flipside team.
EZ_TRANSFERS_IDTEXTA unique, stable identifier for each record in this table. The primary key (PK) ensures that every row is uniquely identifiable and supports efficient joins, lookups, and data integrity across models. The PK may be a natural key (such as a blockchain transaction hash) or a surrogate key generated from one or more fields, depending on the table’s structure and requirements.
INSERTED_TIMESTAMPTIMESTAMP_NTZThe timestamp when this transaction record was first inserted into the analytics database. Used for data freshness tracking and incremental model logic. Format: YYYY-MM-DD HH:MI:SS. Not derived from the blockchain, but from the ETL process.
MODIFIED_TIMESTAMPTIMESTAMP_NTZThe timestamp when this transaction record was last updated in the analytics database. Used for tracking updates and supporting incremental model logic. Format: YYYY-MM-DD HH:MI:SS. Not derived from the blockchain, but from the ETL process.

Column Details

BLOCK_ID

Example:
  • 123456789
Business Context:
  • Supports block-level analytics, such as block production rate and transaction throughput.
  • Useful for tracing transaction inclusion and block explorer integrations.
Relationships:
  • All transactions with the same block_id share the same block_timestamp.

TX_ID

Example:
  • 5Nf6Q2k6v1Qw2k3v4Qw5Nf6Q2k6v1Qw2k3v4Qw5Nf6Q2k6v1Qw2k3v4Qw5Nf6Q2k6v1Qw2k3v4Qw
Business Context:
  • Enables precise tracking, auditing, and attribution of on-chain activity
  • Used for linking transactions to events, logs, and protocol actions
  • Critical for compliance, monitoring, and analytics workflows

SIGNER

Example:
  • 7Ggk7Q2...

INDEX

Example:
  • 0 (first transfer in the transaction)
  • 2 (third transfer in the transaction)
Business Context:
  • Enables reconstruction of transfer order and analysis of intra-transaction asset movement.
  • Used to join, filter, or segment data for protocol analytics, error tracing, and event sequencing.

INNER_INDEX

Example:
  • 0
  • 2
Business Context:
  • Enables precise identification and ordering of nested program calls (Cross-Program Invocations) within a transaction.
  • Critical for analyzing composability, protocol integrations, and the full execution path of complex transactions.

TX_FROM

Example:
  • 7GgkQ2...
Business Context:
  • Enables analysis of asset outflows, user activity, and protocol interactions.

TX_TO

Example:
  • 9xQeWv...
Business Context:
  • Enables analysis of asset inflows, user activity, and protocol interactions.

AMOUNT

Example:
  • USDC: 50.00 (represents 50 USDC tokens)
Business Context:
  • Used to analyze transaction volumes, user activity, and protocol flows.
  • Supports aggregation of asset movement for analytics and reporting.

AMOUNT_USD

Example:
  • 123.45 (represents $123.45 USD)
Business Context:
  • Used for tracking transaction volumes, wallet activity, and payment flows in USD terms.
  • Supports analytics on large value transfers, protocol revenue, and user behavior.

SYMBOL

Example:
  • SOL
  • USDC
Business Context:
  • Enables grouping and filtering of transfers by token.
  • Supports analytics on asset flows, protocol usage, and user preferences.