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

# Geographic intelligence

> Region of activity, funding venue and attested country for an address, with jurisdiction from venues that serve one country.

Region of activity, funding source and attested country for an address. The tables here serve the region band, the funding venue and jurisdiction, the attested country, and the evidence and coverage behind them.

We publish where a wallet is active, where it was funded and, for holders who opted in, the country Coinbase attested for it. Region of activity, unchanged from v1, is a UTC-offset band derived from public transaction timing. Funding source is new. Where we can trace a wallet's incoming transfers to an exchange, custodian, or fiat ramp, we publish which venue funded it, the venue's type, whether that venue address was curated by a person or detected from wallet behavior, a confidence tier of high, medium, or low, how many funding transactions back the tag, and when the funding relationship was first observed. Funding jurisdiction is the country the venue that funded the wallet is registered in and serves, published only where the venue serves a single country. A wallet funded through a regional or global exchange gets a null jurisdiction, because that value describes the venue, not the person who holds the wallet. Neither region nor funding reads a partner's KYC records, and no country is derived from how or when an address transacts, only from where the venue that funded it is registered. Attested country is different in kind: it is the country of residence Coinbase recorded when it verified the account holder, issued as an opt-in attestation the holder can revoke, and we republish it as issued without deriving anything from it.

`region` on [Accounts ▸ Registry](https://tokenterminal.com/docs/catalog/accounts/registry.md) is derived from [activity hours](https://tokenterminal.com/docs/catalog/accounts/activity-hours.md):

1. Sum the address's hourly transaction counts over the trailing 90 complete UTC days, across every chain in its `chain_family`; `n` is the total. Addresses with `n` below 300 get a null `region_confidence`.
2. The trough is the 6-hour window with the smallest share of `n`; its centre hour is `t`. The UTC offset is `round(3.5 - t)`, wrapped to -11..+12, taking 03:30 as the local sleep centre.
3. The band is the one of seven that contains the offset.
4. Depth `d` = `1 - (trough share / 0.25)`; night share is the share in the 12 hours centred on the trough.
5. `high` needs `n >= 3000`, `d >= 0.70`, night `<= 0.25`; `medium` needs `n >= 1000`, `d >= 0.50`, night `<= 0.30`; `low` needs `n >= 300`, `d >= 0.30`, night `<= 0.35`; otherwise `region` and `region_confidence` are null. A second trough within 10% of the first caps confidence at `low`.

## Coverage

Region: `ethereum`, `base` and `robinhoodchain` (evm). `solana` (svm). Funding: `arbitrum`, `base`, `bsc`, `ethereum` and `robinhoodchain` (evm). `solana` (svm). Attested country: every evm chain.

## Tables

* [`dimensions.accounts`](https://tokenterminal.com/docs/catalog/accounts/registry) region, funding and attested country columns, on Accounts ▸ Registry.
* [`facts_accounts.activity_hours`](https://tokenterminal.com/docs/catalog/accounts/activity-hours), the hourly evidence `region` is derived from.
* [`reports_accounts.activity_coverage`](https://tokenterminal.com/docs/catalog/accounts/activity-coverage), the share of each day's active senders that are attributed and regioned.
* [`reports_accounts.region_distribution`](https://tokenterminal.com/docs/catalog/accounts/region-distribution), a trailing 90-day snapshot of senders by region and confidence.
* [`reports_accounts.region_hit_rate`](https://tokenterminal.com/docs/catalog/accounts/region-hit-rate), region accuracy for accounts with a known expected band.
* [`dimensions.venues`](https://tokenterminal.com/docs/catalog/accounts/registry), the Venues tab on Accounts ▸ Registry.
* [`facts_accounts.funding`](https://tokenterminal.com/docs/catalog/accounts/funding), the funding venue, confidence and jurisdiction behind an account.
* [`facts_accounts.venue_edges`](https://tokenterminal.com/docs/catalog/accounts/venue-edges), the funding edges a tag is built from.
* [`facts_accounts.attested_country`](https://tokenterminal.com/docs/catalog/accounts/attested-country), the country Coinbase attested for a wallet, and the attestation it comes from.
* [`reports_accounts.funding_coverage`](https://tokenterminal.com/docs/catalog/accounts/funding-coverage), the share of each chain's funded wallets that resolve to a venue.
* [`reports_accounts.funding_venue_distribution`](https://tokenterminal.com/docs/catalog/accounts/funding-venue-distribution), funded wallets by venue and confidence tier.
* [`reports_accounts.funding_region_agreement`](https://tokenterminal.com/docs/catalog/accounts/funding-region-agreement), how often a wallet's region matches its funding venue's expected band.
* [`reports_accounts.funding_hit_rate`](https://tokenterminal.com/docs/catalog/accounts/funding-hit-rate), curated deposit anchors against detected deposit addresses.

## Sample queries

**Band distribution on one chain**

The subquery pins the window ending on the latest `window_end` for `ethereum`, so the ranking reads one snapshot rather than mixing windows.

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

**A project's wallets by region**

`project_id` filters `dimensions.accounts` to one attributed project; `region` is null wherever `region_confidence` is null.

```sql theme={null}
select
    chain_id,
    address,
    region,
    region_confidence
from `dimensions.accounts`
where project_id = 'coinbase'
order by chain_id, region_confidence desc
```

**Coverage across chains, latest complete day**

`activity_date` is fixed to yesterday because the day still running is partial and gets rewritten by the next run.

```sql theme={null}
select
    chain_id,
    attributed_share,
    regioned_share
from `reports_accounts.activity_coverage`
where activity_date = date_sub(current_date(), interval 1 day)
order by regioned_share desc
```


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