> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dune.com/llms.txt
> Use this file to discover all available pages before exploring further.

# solana.instruction_calls

> Every program instruction executed on Solana with decoded arguments, inner instruction traces, and execution context. Critical for protocol analytics, smart contract auditing, cross-program invocation analysis, and DeFi flow tracing.

export const TableSample = ({tableName, tableSchema}) => <>
    <div className="hidden dark:block">
      <iframe src={`https://dune.com/embeds/3419983/5785629?table_schema_t6f0df=${tableSchema}&table_name_t6f0df=${tableName}&darkMode=true`} style={{
  width: '100%',
  height: '500px',
  border: 'none',
  marginTop: '10px'
}} />
    </div>
    <div className="dark:hidden">
      <iframe src={`https://dune.com/embeds/3419983/5785629?table_schema_t6f0df=${tableSchema}&table_name_t6f0df=${tableName}`} style={{
  width: '100%',
  height: '500px',
  border: 'none',
  marginTop: '10px'
}} />
    </div>
  </>;

## Table description

The `solana.instruction_calls` table is an unnested table of [`solana.transactions`](/data-catalog/solana/transactions). There can be multiple instructions in a transaction, so having an exploded view here will make it a little easier to work with the data. **This table mainly exists as the base for [Solana decoded tables](/data-catalog/solana/idl-tables), which you should be using instead.**

## Table Schema

| Column | Type | Description |
| - | - | - |
| `block_slot` | `BIGINT` | The slot number of the block containing this instruction |
| `block_date` | `DATE` | The date of the block this instruction was executed in |
| `block_time` | `TIMESTAMP` | The timestamp of the block this instruction was executed in |
| `block_hash` | `VARCHAR` | The hash of the block containing this instruction |
| `tx_index` | `INTEGER` | The index position of the parent transaction within the block |
| `inner_instruction_index` | `INTEGER` | The index of this instruction among inner instructions (null for top-level instructions) |
| `outer_instruction_index` | `INTEGER` | The index of the top-level instruction this belongs to |
| `inner_executing_account` | `VARCHAR` | The program account executing this inner instruction (null for top-level instructions) |
| `outer_executing_account` | `VARCHAR` | The program account executing the top-level instruction |
| `executing_account` | `VARCHAR` | The program account that executed this specific instruction |
| `is_inner` | `BOOLEAN` | Whether this is an inner (CPI) instruction rather than a top-level instruction |
| `stack_height` | `BIGINT` | The call stack depth of this instruction (1 for top-level, 2+ for inner) |
| `data` | `VARBINARY` | The raw instruction data passed to the program |
| `account_arguments` | `ARRAY(VARCHAR)` | The list of account addresses passed as arguments to this instruction |
| `inner_instructions` | `ARRAY(ROW(data VARCHAR, executing_account VARCHAR, account_arguments ARRAY(VARCHAR), stack_height BIGINT))` | Nested inner instructions triggered by this instruction via CPI |
| `tx_id` | `VARCHAR` | The unique transaction signature/ID |
| `tx_signer` | `VARCHAR` | The address of the fee-paying signer of the transaction |
| `tx_success` | `BOOLEAN` | Whether the parent transaction completed successfully |
| `log_messages` | `ARRAY(VARCHAR)` | Program log messages emitted during this instruction's execution |

## Table Sample

<TableSample tableSchema="solana" tableName="instruction_calls" />


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.