> ## 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](https://tokenterminal.com/docs/catalog/chain-verticals/cosmos/index.md) exactly, with no differences.

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, where Ethereum-style contracts run; it lives in a dataset of its own, documented under [EVM](https://tokenterminal.com/docs/catalog/chain-verticals/evm/index.md), 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. [Real-world assets](https://tokenterminal.com/docs/catalog/real-world-assets/index.md) and [Stablecoins](https://tokenterminal.com/docs/catalog/stablecoins/index.md) cover the tokenized assets and their daily tables. [Bridges](https://tokenterminal.com/docs/catalog/bridges/index.md) covers transfers between chains, [Projects](https://tokenterminal.com/docs/catalog/projects/index.md) covers app and project activity per chain, and [Tokens](https://tokenterminal.com/docs/catalog/tokens/index.md) covers the token list.

## Tables

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

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

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

    <tr>
      <td>`transaction_messages`</td>
      <td>2021-09</td>
      <td>One row per message inside a transaction.</td>
    </tr>

    <tr>
      <td>`message_events`</td>
      <td>2021-09</td>
      <td>One row per event emitted during transaction execution.</td>
    </tr>

    <tr>
      <td>`block_events`</td>
      <td>2021-09</td>
      <td>One row per event emitted outside a transaction.</td>
    </tr>
  </tbody>
</table>

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.

## Sample queries

**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
```

**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
from `metrics_asset_tokens.market_cap_circulating_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 desc
```

**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_apps_by_chain.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
```


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