> ## 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.

# polkadot.extrinsics

> Description of Substrate extrinsics table on Dune.

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

Extrinsics (aka "transactions") normally contain a signature, some data to describe if the extrinsic has passed some validity checks and a reference to the pallet and call that it is intended for.  Extrinsics may be signed or unsigned.  Some extrinsics have a complex structure, e.g. when using proxy or utility pallets, resulting in the top-level call initiating other calls involving other pallets.

Common queries on the `extrinsics` table (e.g. `polkadot.extrinsics`) will typically filter on `block_time`, `section` and `method` and extract JSON encoded information in `data` or `decoded_data`.  In many cases, an initial query on the `extrinsics` table is best developed on the calls table instead to properly capture how users often use proxy and utility constructs to interact with the Substrate chain.

## Table Schema

| Column           | Type        | Description                                                                 |
| ---------------- | ----------- | --------------------------------------------------------------------------- |
| `year`           | `INTEGER`   | Calendar year of the block (partition column)                               |
| `month`          | `INTEGER`   | Calendar month of the block (partition column)                              |
| `section`        | `VARCHAR`   | The pallet (module) of the top-level call (e.g. `Balances`, `Staking`)      |
| `method`         | `VARCHAR`   | The method name within the pallet (e.g. `transferKeepAlive`, `nominate`)    |
| `block_time`     | `TIMESTAMP` | The timestamp of the block containing this extrinsic                        |
| `block_number`   | `BIGINT`    | The sequential number of the block containing this extrinsic                |
| `extrinsic_id`   | `VARCHAR`   | Unique identifier for this extrinsic (format: `blockNumber-extrinsicIndex`) |
| `hash`           | `VARBINARY` | Hash of this extrinsic                                                      |
| `block_hash`     | `VARBINARY` | Hash of the block containing this extrinsic                                 |
| `lifetime`       | `VARCHAR`   | Validity period of the extrinsic (mortal/immortal era)                      |
| `params`         | `VARCHAR`   | JSON-encoded parameters of the top-level call                               |
| `fee`            | `DOUBLE`    | Transaction fee paid for this extrinsic                                     |
| `weight`         | `BIGINT`    | Execution weight consumed by this extrinsic                                 |
| `signed`         | `BOOLEAN`   | Whether this extrinsic includes a cryptographic signature                   |
| `signer_ss58`    | `VARCHAR`   | SS58-encoded address of the signer                                          |
| `signer_pub_key` | `VARBINARY` | Public key of the signer                                                    |
| `status`         | `BOOLEAN`   | Whether the extrinsic executed successfully (`true`) or failed (`false`)    |
| `updated_at`     | `TIMESTAMP` | When this record was last updated in the database                           |
| `ingested_at`    | `TIMESTAMP` | When this record was first ingested into the database                       |

## Table Sample

<TableSample tableSchema="polkadot" tableName="extrinsics" />
