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

# Region distribution

> Senders by region and confidence, a trailing 90-day snapshot per chain.

One row per chain, trailing 90-day window ending `window_end`, region and confidence tier. `senders` counts every address in that band over the window, including the region `null` at a null confidence.

## Columns

<table>
  <thead>
    <tr>
      <th width="200">Column</th>
      <th width="120">Type</th>
      <th>Description</th>
    </tr>
  </thead>

  <tbody>
    <tr><td>`chain_id`</td><td>STRING</td><td>Chain the senders transacted on.</td></tr>
    <tr><td>`window_end`</td><td>DATE</td><td>Last UTC day of the trailing 90-day window the row summarizes. Partition column.</td></tr>
    <tr><td>`region`</td><td>STRING</td><td>One of seven UTC-offset bands: `utc-11..-9`, `utc-8..-5`, `utc-4..-2`, `utc-1..+2`, `utc+3..+6`, `utc+7..+9`, `utc+10..+12`. Null when `region_confidence` is null.</td></tr>
    <tr><td>`region_confidence`</td><td>STRING</td><td>`high`, `medium` or `low`, from the same thresholds as [Accounts ▸ Registry](https://tokenterminal.com/docs/catalog/accounts/registry.md)'s `region_confidence`, and null where `region` is null.</td></tr>
    <tr><td>`senders`</td><td>INT64</td><td>Senders on that chain, in that window, region and confidence tier.</td></tr>
    <tr><td>`tx_count`</td><td>INT64</td><td>Transactions those senders initiated over the window.</td></tr>
    <tr><td>`sender_share`</td><td>FLOAT64</td><td>`senders` divided by the window's total senders on the chain, from `safe_divide`.</td></tr>
    <tr><td>`tx_share`</td><td>FLOAT64</td><td>`tx_count` divided by the window's total transactions on the chain, from `safe_divide`.</td></tr>
  </tbody>
</table>

## Sample queries

**One chain's latest snapshot**

Each row is one region and confidence pair for the window ending `window_end`; the `null` region at a null confidence is the share with no signal.

```sql theme={null}
select
    region,
    region_confidence,
    senders,
    sender_share
from `reports_accounts.region_distribution`
where chain_id = 'ethereum'
  and window_end = date('2026-09-01')
order by senders desc
```

**Regioned share of a chain's transactions**

Summing `tx_share` across every non-null confidence tier gives the share of the chain's transactions from senders with any region signal, whether or not they are attributed to a project.

```sql theme={null}
select
    chain_id,
    sum(tx_share) as regioned_tx_share
from `reports_accounts.region_distribution`
where window_end = date('2026-09-01')
  and region_confidence is not null
group by chain_id
order by regioned_tx_share desc
```

**Chain name alongside the distribution**

`chain_id` joins `dimensions.chains` for the display name.

```sql theme={null}
select
    chains.name,
    dist.region,
    dist.region_confidence,
    dist.senders
from `reports_accounts.region_distribution` as dist
join `dimensions.chains` as chains
    using (chain_id)
where dist.window_end = date('2026-09-01')
  and dist.chain_id = 'solana'
order by dist.senders desc
```


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