Skip to main content
Schema: solana.marinade Table: ez_native_staking_actions Type: Base Table

Description

This table tracks staking actions for accounts that have interacted with Marinade Native Staking at least once. It provides a comprehensive view of native staking activities including deposits, withdrawals, and balance changes, with USD pricing information and validator details, enabling analysis of Marinade’s native staking proxy service.

Key Use Cases

  • Analyze native staking patterns through Marinade’s proxy service
  • Track stake account lifecycle and balance changes
  • Monitor validator delegation patterns and performance
  • Study user behavior in native staking through Marinade
  • Support native staking proxy service performance analysis

Important Relationships

  • Links to silver.staking_lp_actions_labeled_2 for detailed staking action data
  • Connects to gov.fact_stake_accounts for stake account information
  • References price.ez_prices_hourly for USD price conversion
  • Provides native staking context for Marinade Finance ecosystem analytics

Commonly-used Fields

  • block_timestamp: Essential for time-series analysis and trend detection
  • event_type: Critical for categorizing different staking activities
  • provider_address: Key for user analysis and behavior tracking
  • stake_account: Important for stake account lifecycle tracking
  • pre_tx_staked_balance and post_tx_staked_balance: Critical for balance change analysis
  • validator_name and validator_rank: Key for validator performance analysis

Columns

Column NameData TypeDescription
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.
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’. | | 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). | | 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.
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 | | INDEX | NUMBER | The 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.
Data type: Integer 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 | NUMBER | The 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.
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. | | SUCCEEDED | BOOLEAN | Boolean flag indicating whether the transaction was successfully executed and confirmed on the Solana blockchain. A value of TRUE means the transaction was processed without errors; FALSE indicates failure due to program errors, insufficient funds, or other issues.
Example:
  • true
  • false
Business Context:
  • Used to filter for successful transactions in analytics and reporting.
  • Important for error analysis, user experience, and program debugging. | | EVENT_TYPE | TEXT | A string categorizing the type of event or instruction, such as ‘transfer’, ‘mint’, ‘burn’, or protocol-specific actions.
Example:
  • ‘transfer’
  • ‘mint’
  • ‘burn’
Business Context:
  • Enables segmentation and filtering of on-chain activity for analytics and dashboards.
  • Used to group and analyze protocol-specific actions and user behaviors.
Relationships:
  • May be derived from decoded instruction data or protocol-specific logic. | | PROVIDER_ADDRESS | TEXT | The provider address is the same as the withdraw authority which is defined as…The account responsible for signing any stake withdrawal transactions. This field identifies who has authority to withdraw staked SOL from the account.
Data type: STRING (Solana address) Business context: Used to track withdrawal authorities, analyze stake security, and monitor withdrawal patterns. Analytics use cases: Withdrawal authority tracking, stake security analysis, and withdrawal pattern monitoring. Example: ‘9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM’ | | STAKE_ACCOUNT | TEXT | The address of the stake account. This field identifies the specific account that holds staked SOL and participates in the staking system. Data type: STRING (Solana address) Business context: Used to track stake accounts, analyze delegation patterns, and measure staking participation. Analytics use cases: Stake account tracking, delegation analysis, and staking participation measurement. Example: ‘9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM’ | | STAKE_ACTIVE | BOOLEAN | Whether the stake account is active. This field indicates if the stake account is currently participating in staking and earning rewards, enabling stake status analysis and active stake tracking. Data type: BOOLEAN (true/false) Business context: Used to track stake account status, analyze active stake patterns, and measure staking participation. Analytics use cases: Status tracking, pattern analysis, and participation measurement. Example: true, false | | STAKE_AUTHORITY | TEXT | The wallet address of the user who initialized the transaction. This field identifies the account that has authority over the stake account and initiated the staking action. Data type: STRING (Solana address) Business context: Used to track stake authorities, analyze user staking behavior, and identify transaction initiators. Analytics use cases: Stake authority tracking, user staking behavior analysis, and transaction initiation patterns. Example: ‘9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM’ | | PRE_TX_STAKED_BALANCE | FLOAT | The amount of Solana belonging to the stake account before the transaction. This field captures the stake balance prior to the staking action, enabling balance change analysis and transaction impact measurement. Data type: DECIMAL (SOL amount) Business context: Used to track stake balance changes, analyze transaction impact, and measure staking activity. Analytics use cases: Balance change analysis, transaction impact measurement, and staking activity tracking. Example: 100.0, 1000.0 | | PRE_TX_STAKED_BALANCE_USD | NUMBER | The amount of SOL belonging to the stake account before the transaction in USD value. This field provides the USD equivalent of the pre-transaction stake balance, enabling financial analysis and value-based metrics. Data type: DECIMAL (USD amount) Business context: Used to track pre-transaction values, analyze financial metrics, and measure balance changes in USD terms. Analytics use cases: Value tracking, financial analysis, and USD-based balance measurement. Example: 100.0, 1000.0, 10000.0 | | POST_TX_STAKED_BALANCE | FLOAT | The amount of Solana belonging to the stake account after the transaction. This field captures the stake balance following the staking action, enabling balance change analysis and transaction impact measurement. Data type: DECIMAL (SOL amount) Business context: Used to track stake balance changes, analyze transaction impact, and measure staking activity. Analytics use cases: Balance change analysis, transaction impact measurement, and staking activity tracking. Example: 100.0, 1000.0 | | POST_TX_STAKED_BALANCE_USD | NUMBER | The amount of SOL belonging to the stake account after the transaction in USD value. This field provides the USD equivalent of the post-transaction stake balance, enabling financial analysis and value-based metrics. Data type: DECIMAL (USD amount) Business context: Used to track post-transaction values, analyze financial metrics, and measure balance changes in USD terms. Analytics use cases: Value tracking, financial analysis, and USD-based balance measurement. Example: 95.0, 1050.0, 10050.0 | | WITHDRAW_DESTINATION | TEXT | The destination wallet address of the withdrawn SOL. This field identifies where the SOL was transferred to during withdrawal actions, enabling movement tracking and destination analysis. Data type: STRING (Solana address) Business context: Used to track SOL movement destinations, analyze withdrawal patterns, and identify withdrawal recipients. Analytics use cases: Movement tracking, pattern analysis, and recipient identification. Example: ‘9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM’ | | WITHDRAW_AMOUNT | FLOAT | The amount of SOL withdrawn from the stake account. This field tracks the quantity of SOL removed from staking during withdrawal actions, enabling withdrawal analysis and stake reduction tracking. Data type: DECIMAL (SOL amount) Business context: Used to track withdrawal amounts, analyze withdrawal patterns, and measure stake reduction activity. Analytics use cases: Withdrawal tracking, pattern analysis, and reduction measurement. Example: 10.0, 100.0, 1000.0 | | VALIDATOR_NAME | TEXT | The name of the validator. This field provides a human-readable identifier for the validator, enabling easier identification and branding analysis. Data type: STRING (validator name) Business context: Used to identify validators, analyze branding, and track user experience with different validators. Analytics use cases: Validator identification, branding analysis, and user experience tracking. Example: ‘Solana Foundation’, ‘Chorus One’, ‘Stakefish’ | | VOTE_ACCOUNT | TEXT | Account address of voter | | NODE_PUBKEY | TEXT | The account for the validator node on the Solana network. This field identifies the specific validator that participates in network consensus and receives stake delegations. Data type: STRING (Solana address) Business context: Used to identify validators, track performance, and analyze stake delegation patterns. Analytics use cases: Validator identification, performance tracking, and stake delegation analysis. Example: ‘9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM’ | | VALIDATOR_RANK | NUMBER | The rank of the validator by amount of delegated SOL. This field provides the validator’s position in the network based on total stake delegation, enabling validator ranking analysis and stake distribution studies. Data type: INTEGER (ranking number) Business context: Used to analyze validator rankings, track stake distribution, and study validator performance by stake size. Analytics use cases: Validator ranking analysis, stake distribution studies, and performance correlation analysis. Example: 1, 10, 100 | | PROGRAM_ID | TEXT | The unique public key (base58-encoded address) of a Solana program. This field identifies the on-chain program (smart contract) responsible for processing instructions, emitting events, or managing accounts. Used throughout Solana analytics models—including events, transactions, IDLs, and program activity tables—to join, filter, and analyze program-level data. Example:
  • “4Nd1mY…”
  • “TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA”
Business Context:
  • Used as a join key for program activity, deployments, events, and interface changes.
  • Supports segmentation of activity by protocol, DEX, NFT marketplace, or other on-chain application. | | PLATFORM | TEXT | The platform of the staking account, either native or marinade native proxy. This field identifies whether the staking action is using direct native staking or Marinade’s native staking proxy service, enabling platform-specific analysis.
Data type: STRING (platform type) Business context: Used to categorize staking methods, analyze platform usage patterns, and compare native vs proxy staking. Analytics use cases: Platform categorization, usage pattern analysis, and method comparison. Example: ‘native’, ‘marinade native proxy’ | | IS_USING_MARINADE_NATIVE_STAKING | BOOLEAN | Whether the staking action is using Marinade Native Staking. This field indicates if the staking activity is routed through Marinade’s native staking proxy service, enabling proxy service usage analysis. Data type: BOOLEAN (true/false) Business context: Used to track Marinade proxy service usage, analyze proxy adoption patterns, and measure service utilization. Analytics use cases: Usage tracking, adoption analysis, and utilization measurement. Example: true, false | | _INSERTED_TIMESTAMP | TIMESTAMP_NTZ | Time the record was inserted into snowflake | | MARINADE_NATIVE_EZ_STAKING_ACTIONS_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. | | _INVOCATION_ID | TEXT | Unique identifier for DBT job run that inserted/modified this record |