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

> ## Agent Instructions
> To query the Token Terminal data catalog, read https://tokenterminal.com/docs/catalog/agents-manual.md first. It is the whole catalog as one page: table naming grammar, key columns, partition and cluster rules, units, additivity, and the tables that are documented but not served yet.
> Never query a catalog table on a time bound alone. Also filter its cluster key, which you read from INFORMATION_SCHEMA.COLUMNS; an empty result means the object is a view, whose pruning contract is on its page. Compute is billed to the caller's own Google Cloud project.

# Injective

> Standardized Injective tables, with one row per event the chain's exchange emitted.

`injective` holds the standardized Injective tables, following the schema documented in [the family overview](/docs/catalog/chain-verticals/cosmos/index) exactly, with no differences. Injective also runs a second layer where Ethereum-style contracts work, and that lives in a separate dataset, `injectiveevm`, documented under [EVM](/docs/catalog/chain-verticals/evm/index).

## Tables

<table>
  <thead>
    <tr>
      <th width="200">Table</th>
      <th width="90">Since</th>
      <th>Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td><code>blocks</code></td>
      <td>2021-09</td>
      <td>One row per block, with its transaction count and proposer.</td>
    </tr>

    <tr>
      <td><code>transactions</code></td>
      <td>2021-09</td>
      <td>One row per transaction, with its fee and result code.</td>
    </tr>

    <tr>
      <td><code>transaction\_messages</code></td>
      <td>2021-09</td>
      <td>One row per message inside a transaction.</td>
    </tr>

    <tr>
      <td><code>message\_events</code></td>
      <td>2021-09</td>
      <td>One row per event emitted during transaction execution.</td>
    </tr>

    <tr>
      <td><code>block\_events</code></td>
      <td>2021-09</td>
      <td>One row per event emitted outside a transaction.</td>
    </tr>
  </tbody>
</table>

## Sample queries

<Tabs>
  <Tab title="Event types by day">
    **Rank event types emitted by transactions on one day.**

    ```sql theme={null}
    select
        event_type,
        count(*) as events
    from `injective.message_events`
    where block_timestamp >= timestamp('2026-08-20')
      and block_timestamp < timestamp('2026-08-21')
    group by event_type
    order by events desc
    limit 20
    ```
  </Tab>

  <Tab title="Tokenized assets by market cap">
    **Rank the tokenized assets deployed on the Cosmos layer by circulating market cap.**

    ```sql theme={null}
    select
        assets.symbol,
        assets.asset_type,
        daily.market_cap_circulating_total
    from `metrics_asset_tokens.market_cap_circulating_total_daily` as daily
    join `dimensions.asset_tokens` as deployments
        using (asset_token_id)
    join `dimensions.assets` as assets
        using (asset_id)
    where daily.timestamp >= timestamp('2026-08-22')
      and daily.timestamp < timestamp('2026-08-23')
      and deployments.chain_id = 'injective'
    order by daily.market_cap_circulating_total desc
    ```
  </Tab>

  <Tab title="App activity">
    **Rank the apps active on the EVM layer by fees over one week.**

    ```sql theme={null}
    select
        apps.name,
        sum(daily.fees) as fees
    from `metrics_app_chains.fees_daily` as daily
    join `dimensions.apps` as apps
        using (app_id)
    where daily.timestamp >= timestamp('2026-08-16')
      and daily.timestamp < timestamp('2026-08-23')
      and daily.chain_id = 'injectiveevm'
    group by apps.name
    order by fees desc
    ```
  </Tab>
</Tabs>

## Notes

Injective runs its whole exchange on the chain itself, and every order and trade leaves a note behind, so `message_events` and `block_events` are far larger here than on most Cosmos chains. Keep the `block_timestamp` range narrow and filter on `event_type` as early in the query as you can.

Injective has two layers, and the catalog treats them as two separate chains. `injective` is the Cosmos layer, and that is where its tokens and the tokenized assets issued on it are filed. `injectiveevm` is the EVM layer, and that is where the app activity is filed, including the value bridged in from other chains.

The market pages go deeper on each of these. [Tokenized assets](/docs/catalog/tokenized-assets/index) and [Stablecoins](/docs/catalog/stablecoins/index) cover the tokenized assets and their daily tables. [Bridges](/docs/catalog/bridges/index) covers transfers between chains, [Projects](/docs/catalog/projects/index) covers app and project activity per chain, and [Tokens](/docs/catalog/tokens/index) covers the token list.
