🗃
Solana
An explanation of the Solana dataset within Nansen Query.
- Solana generates significant amount of data and it can be expensive to query
- We've parsed the information into groups so it's easier to query
- All raw Solana event data is included in the
raw_solana
dataset

Basic Blockchain Information
- This is full information directly from the blockchain and the most expensive to query
blocks
: data about each block producedtransactions
: data about each transaction
Program Instructions
- Each Solana transaction contains instructions for other programs and accounts. Parsing the instructions can be complicated when using the transaction data directly
instructions_unnested
: The un-nested instructions portion of the transaction data. This can be used to quickly search for "program_id", which is the smart contract and "accounts", which are the accounts interacting with that smart contractinitialize_mint_instructions
: The set of instructions only relating to minting of new tokens from the Solana Token program
Account Information
- Solana accounts can be one of a wallet, program, token, or vote. This dataset outlines all the non-wallet accounts and when they were initialized (created)
non_wallet_accounts_daily
: The list of accounts created on a daily basis and type
Non-Wallet Account List
Table Name:
non_wallet_accounts_daily
Field name | Type | Description |
---|---|---|
account_address | STRING | Address of account |
type | STRING | Type, either program, token, or vote |
day | DATE | Day which account was initialized |
Table Name:
instructions_unnested
Field name | Type | Description |
---|---|---|
transaction_id | STRING | ID of the transaction |
slot | INTEGER | Slot of the transaction |
block_timestamp | TIMESTAMP | Timestamp of the transaction |
accounts | RECORD | The accounts involved in the transaction |
signers | STRING | Who signed the transaction |
program_id | STRING | The program ID of the transaction |
instruction_type | STRING | The instruction type of the transaction |
instruction_data | STRING | The data associated with the instruction |
instruction_parsed | STRING | The parsed data from the instruction |
instruction_accounts | STRING | The accounts involved in the instructions |
instruction_index | NUMERIC | The index of the instruction |
Table Name:
initialize_mint_instructions
Field name | Type | Description |
---|---|---|
block_timestamp | TIMESTAMP | Timestamp of the block |
slot | INTEGER | Slot of the transaction |
transaction_id | STRING | ID of the transaction |
instruction_type | STRING | Either initalizeMint, or initalizeMint2 |
instruction_index | NUMERIC | The index of the instruction |
decimals | INTEGER | The number of decimals in the token |
freeze_authority | STRING | The address with the authority to freeze the token |
mint | STRING | Address of the token minted |
mint_authority | STRING | Address authorized to mint the token |
rent_sysvar | STRING | The rent associated with this transaction |
Field name | Data Type | Description |
---|---|---|
block_timestamp | TIMESTAMP | The estimated production time as Unix timestamp |
slot | INTEGER | The slot index of this block |
parent_slot | INTEGER | The slot index of this block's parent |
blockhash | STRING | The blockhash of this block |
previous_blockhash | STRING | The blockhash of this block's parent |
rewards | RECORD | Information regarding the block reward. Note this is a repeated field. |
rewards.pubkey | STRING | -- |
rewards.lamports | INTEGER | -- |
rewards.post_balance | INTEGER | -- |
rewards.reward_type | STRING | Type of reward |
block_height | INTEGER | Block height of the reward |
Field name | Data Type | Description |
---|---|---|
block_timestamp | TIMESTAMP | The estimated production time as Unix timestamp |
slot | INTEGER | The slot index of this block |
transaction_id | STRING | ID of the transaction |
is_successful | BOOLEAN | True if is successful |
error | STRING | Errors produced |
fee | INTEGER | Fee consumed |
accounts | RECORD | Accounts involved in the transactions (repeated field) |
accounts.address | STRING | Addresses involved |
accounts.pre_sol_balance | INTEGER | SOL balance prior to the transaction |
post_sol_balance | INTEGER | SOL balance after the transaction |
accounts.pre_token_balances | RECORD | Repeated field of token balance changes |
accounts.pre_token_balances.amount | STRING | Token balance amount prior to the transaction |
accounts.pre_token_balances.decimals | INTEGER | Decimals of the token |
accounts.pre_token_balances.ui_amount_string | STRING | -- |
accounts.post_token_balances | RECORD | Repeated field of token balance changes |
accounts.post_token_balances.amount | STRING | Token balance amount after the transaction |
accounts.post_token_balances.decimals | INTEGER | Decimals of the token |
accounts.post_token_balances.ui_amount_string | STRING | -- |
instructions | RECORD | Repeated field for instructions related to the transaction |
instructions.program_id | STRING | Program ID |
instructions.accounts | STRING | Related accounts |
instructions.data | STRING | Data from the transaction |
instructions.parsed | STRING | Data parsed from transaction |
log_messages | STRING | Log messaged related to the tranaction |
inner_instructions | RECORD | Repeated field for internal instructions related to the transaction |
inner_instructions.index | INTEGER | Index of internal instructions |
inner_instructions.instructions | RECORD | Repeated field for each inner instruction |
inner_instructions.instructions.program_id | STRING | Program ID |
inner_instructions.instructions.accounts | STRING | Related accounts |
inner_instructions.instructions.data | STRING | Data from the transaction |
inner_instructions.instructions.parsed | STRING | Data parsed from transaction |
Last modified 6mo ago