solana.core Table: fact_transfers Type: View
Description
This table contains one row per transfer event involving native SOL or SPL tokens on the Solana blockchain. Each row records the details of a single transfer, including block and transaction identifiers, sender and recipient addresses, transferred amount, and token mint. The model includes both SOL and token transfers, supporting analytics on asset movement, user activity, and protocol flows. Data is updated as new blocks are processed, and each row represents a unique transfer event within a transaction. Note: For most transfer analytics, prefer usingcore.ez_transfers which includes additional
enriched fields like USD values, token symbols, and verification status that make analytics
easier.
Key Use Cases
- Track SOL or SPL token movements between accounts
- Analyze payment flows and wallet transaction histories
- Monitor large value transfers and whale activity
- Build DeFi protocol volume and token flow analytics
- Simplify asset movement analysis compared to parsing raw instructions
Important Relationships
- Prefer
core.ez_transfersfor most transfer analytics - enriched version with USD values, token symbols, and verification status - Closely related to
core.fact_events(for event context),core.fact_events_inner(for inner/CPI events), andcore.ez_events_decoded(preferred for decoded instruction details) - Use
core.fact_eventsfor event-level context and protocol interactions - Use
core.fact_events_innerfor nested program calls and composability analysis - Use
core.ez_events_decodedfor detailed instruction and argument analysis (if program is being decoded) - Joins with
core.fact_transactionsfor transaction context
Commonly-used Fields
block_timestamp: For time-series and transfer sequencing analysisblock_id,tx_id,index: For unique transfer identification and joinstx_from,tx_to: For sender and recipient analysisamount,mint: For value and token-specific analytics
Columns
| Column Name | Data Type | Description |
|---|---|---|
| BLOCK_TIMESTAMP | TIMESTAMP_NTZ | The 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_ID | NUMBER | A 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. |
- 123456789
- Supports block-level analytics, such as block production rate and transaction throughput.
- Useful for tracing transaction inclusion and block explorer integrations.
- All transactions with the same ‘block_id’ share the same ‘block_timestamp’. | | TX_ID | TEXT | The 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.
5Nf6Q2k6v1Qw2k3v4Qw5Nf6Q2k6v1Qw2k3v4Qw5Nf6Q2k6v1Qw2k3v4Qw5Nf6Q2k6v1Qw2k3v4Qw
- 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 | | SIGNERS | ARRAY | List of accounts that signed the transaction. This field captures all wallet addresses that provided signatures for the transaction, enabling multi-signature analysis and transaction authority tracking.
- 0 (first transfer in the transaction)
- 2 (third transfer in the transaction)
- 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. | | TX_FROM | TEXT | The 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.
7GgkQ2...
- Enables analysis of asset outflows, user activity, and protocol interactions. | | TX_TO | TEXT | The 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.
9xQeWv...
- Enables analysis of asset inflows, user activity, and protocol interactions. | | AMOUNT | FLOAT | The 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.
- USDC:
50.00(represents 50 USDC tokens)
- Used to analyze transaction volumes, user activity, and protocol flows.
- Supports aggregation of asset movement for analytics and reporting. | | MINT | TEXT | Unique address representing a specific token | | FACT_TRANSFERS_ID | TEXT | A 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_TIMESTAMP | TIMESTAMP_NTZ | The 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_TIMESTAMP | TIMESTAMP_NTZ | The 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. |