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

# Stellar

> Standardized Stellar tables from September 2015.

`stellar` holds the standardized Stellar tables. Stellar calls its blocks ledgers, and they land in `blocks`. A transaction here is a wrapper: what it does is carried in a list of operations. So transactions land in `transactions`, the operations inside them in `operations`, and what each operation changed in `effects`.

## Tables

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

  <tbody>
    <tr>
      <td><code>blocks</code></td>
      <td>2015-09</td>
      <td>One row per ledger, with transaction counts, fee pool and total lumens.</td>
    </tr>

    <tr>
      <td><code>transactions</code></td>
      <td>2015-09</td>
      <td>One row per transaction, with its fees, the account that sent it, and the original encoded form.</td>
    </tr>

    <tr>
      <td><code>operations</code></td>
      <td>2015-09</td>
      <td>One row per operation, typed by <code>operation\_type</code>.</td>
    </tr>

    <tr>
      <td><code>effects</code></td>
      <td>2015-09</td>
      <td>One row per state change an operation produced.</td>
    </tr>
  </tbody>
</table>

Ledgers are keyed on `number`, transactions on `transaction_hash`, operations on `operation_id` and effects on `effect_id`.

The tables get finer as you go down: a transaction holds one or more operations, and an operation produces any number of effects, including none. For payments and trades, start from `operations` and filter on `operation_type`. Use `effects` when the question is who was credited and who was debited.

## Sample queries

<Tabs>
  <Tab title="Operations by type">
    **Count operations by type on one day.**

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

  <Tab title="Tokenized assets ranked">
    **Rank the tokenized assets issued on Stellar 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 = 'stellar'
    order by daily.market_cap_circulating_total desc
    limit 20
    ```
  </Tab>

  <Tab title="Priced tokens">
    **List the Stellar tokens that carried a daily price over one week.**

    ```sql theme={null}
    with priced as (
        select
            token_id,
            avg(price) as avg_price,
            count(*) as price_days
        from `metrics_tokens.price_daily`
        where timestamp >= timestamp('2026-08-16')
          and timestamp < timestamp('2026-08-23')
          and chain_id = 'stellar'
        group by token_id
    )

    select
        tokens.symbol,
        tokens.name,
        priced.avg_price,
        priced.price_days
    from priced
    join `dimensions.tokens` as tokens using (token_id)
    order by priced.avg_price desc
    limit 20
    ```
  </Tab>
</Tabs>

## Notes

Above the raw tables sits the rest of the catalog, and Stellar shows up in two parts of it: the tokenized assets issued on it, and the list of tokens we know about with the daily prices they carry. Tokenized funds and stablecoins make up most of the asset side. No app or trading-pool table covers the chain.

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. [Tokens](/docs/catalog/tokens/index) covers the token list and the daily price table.
