Skip to main content
The identity table behind an address: the chain it sits on and, where somebody has attributed it, the project that runs it, its type and its label, next to the region, funding and attested country held for it. Accounts introduces the grain, and Contracts has the deployment behind a contract account. 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 is a property of the address key across its whole chain_family, not of one chain, and its evidence comes only from the chains activity hours covers: ethereum, base, robinhoodchain and solana. No country is ever derived from region: a country comes only from a funding venue’s registration, gated to venues that serve a single country, or from an attestation. Every confidence tier describes the strength of one signal, the address’s daily rhythm. Region and funding are published per account_id for every row, attributed or not, and the region distribution report holds region as a distribution across every sender on the chain. region is derived from activity hours:
  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.
An address has a region once its trailing activity clears the evidence floor. On a labelled row that describes where a venue or operator runs, and on an unlabelled wallet where that wallet is active. A global venue’s wallets move on its users’ hours across every band, so its region reflects where its users are, aggregated, and its region_confidence often stays null. The hit rate is read against venues whose operations sit in one band. Activity coverage publishes the share of each day’s active senders that are attributed. funding_venue_project_id on Funding is derived from venue edges: the venue is the earliest edge’s venue, and a wallet whose edges split evenly across venues gets a null venue instead. Confidence is set by how many venues a wallet has edges with, and how those edges were found. high is one venue, funded through a curated deposit anchor. medium is one venue funded through a detected deposit address only, or two venues where the earliest edge was curated. low is two venues where the earliest edge was detected. Three or more venues, or two of comparable weight, get a null tier. funding_jurisdiction on Venues is set only where a venue clears three facts together: its operating_scope is single_country, its onboarding_scope is residents_only, and its licence countries and entity countries agree on that one country, with no licence row and no funding wallet left without a country. gate_reason on Venues names which of the three failed, or qualifies.

Tables

One row per address the label registry attributes or any accounts fact holds a row for. The label columns are null where nobody has attributed the address. Join on account_id, or on address and chain_id; attested_country fills on every EVM chain of an attested address.
ColumnTypeDescription
account_idSTRINGAccount as one key: {address}-{chain_id}. The key that joins dimensions.contracts and dimensions.tokens directly.
chain_idSTRINGChain the address is on. The same address on two chains is two different accounts, so an address identifies a row only with this beside it.
addressSTRINGThe address, spelled the way its chain spells it: lowercase on EVM and Starknet, base58 and case-sensitive on Solana and Tron. Lowercase an EVM address copied from an explorer before matching it here; the balance functions lowercase the address they are handed.
project_idSTRINGProject the address is attributed to. Joins dimensions.projects for the name and market sector.
contract_nameSTRINGLabel for the address as the attributing project names it, such as Factory or USDC-WETH pool.
account_typeSTRINGeoa or smartcontract, and null where nobody has determined it, so test it with is null rather than = ”. Says nothing about whether the owner holds the address custodially.
parent_addressSTRINGFor a factory-emitted address, the factory that emitted it.
label_sourceSTRINGcurated for an attribution a person authored, factory_derived for an address a known factory emitted. Null where nobody has attributed the address. Of the attributed rows most are factory derived; filter to curated for the addresses someone has looked at.
regionSTRINGOne 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.
region_confidenceSTRINGhigh, medium or low, from the thresholds behind region, and null where region is null.
region_evidence_txsINT64Transactions behind the band: n, the trailing 90-day total the region calculation summed across the address’s chain family.
funding_venue_project_idSTRINGVenue that funded the account, from Funding. Null where the account has no funding edge, or where its edges split across venues.
funding_venue_typeSTRINGcex or fiat-ramps, from the Venues tab above. Null iff funding_venue_project_id is null.
funding_venue_sourceSTRINGcurated for an edge to a registry anchor, detected for an edge through a detected deposit address. Null iff funding_venue_project_id is null.
funding_confidenceSTRINGhigh, medium or low, from the same tiers as Funding. Null iff funding_venue_project_id is null.
funding_evidence_edgesINT64First-contact edges behind the tag. 0 where the account has no funding row, like region_evidence_txs.
funding_first_edge_atTIMESTAMPEarliest funding edge, from Funding. Null where the account has no funding row.
funding_jurisdictionSTRINGISO 3166-1 alpha-2 of the funding venue, from the Venues tab above. Null unless the venue passes the jurisdiction gate.
attested_countrySTRINGISO 3166-1 alpha-2 country of residence Coinbase attested for the address, from Attested country. Filled on every row whose chain is EVM, since the attestation applies to the address on every EVM chain, and null elsewhere and where the holder has no live attestation.
attested_atTIMESTAMPTimestamp the attestation was issued. Null iff attested_country is null.

Sample queries

The table is clustered on chain_id and address, so filtering on both is the cheapest lookup. Lowercase an EVM address copied from an explorer before you paste it in.