> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rwa.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Tables & Schema

> Views, columns, and join keys in the RWA.xyz Snowflake share.

The RWA.xyz share has two reference views, `ASSETS` and `TOKENS`, and two daily metrics views, `ASSET_METRICS` and `TOKEN_METRICS`. They follow the [RWA.xyz data model](https://docs.rwa.xyz/schemas/data-model.md): an asset is a tokenized product, and each token is one on-chain deployment of an asset.

## How the views join

| From | Column | To | Column | Relationship |
| - | - | - | - | - |
| `TOKENS` | `ASSET_ID` | `ASSETS` | `ID` | Many tokens per asset |
| `TOKEN_METRICS` | `TOKEN_ID` | `TOKENS` | `ID` | One row per token per day |
| `ASSET_METRICS` | `ASSET_ID` | `ASSETS` | `ID` | One row per asset per day |

To roll token metrics up to an asset, join `TOKEN_METRICS` to `TOKENS` on `TOKEN_ID = ID`, then to `ASSETS` on `ASSET_ID = ID`. Use inner joins to `ASSETS` so every row in your results belongs to an asset in `ASSETS`.

## Metric columns

The metrics views are wide: each metric is its own column. Each column corresponds to a numbered measure, the same `measure_id` you can query through the API's [timeseries endpoints](https://docs.rwa.xyz/api/timeseries.md). A cell is `NULL` when RWA.xyz has no value for that metric on that day, for example `PRICE_DOLLAR` for an asset that does not trade on a secondary market. Activity, mint, burn, and flow columns are also `NULL`, not 0, on days without that activity; use `COALESCE(<column>, 0)` when summing them.

`_ETL_DATE` is always `DATE` + 1. It is a partition key, not a load timestamp, and restated history keeps its original `_ETL_DATE`.

Percent columns are in percentage points: `4.32` means 4.32%.

> [!NOTE]
>
> Shares are configured per customer, so yours may include a subset of these views or extra columns. Run `DESCRIBE VIEW <view>;` to see a view's exact columns.

## ASSETS

Asset reference data. One row per asset. See [Assets](https://docs.rwa.xyz/schemas/assets.md) for the full asset schema available through the API.

| Column | Description | Type |
| - | - | - |
| `ID` | Unique asset identifier | NUMBER |
| `NAME` | Name of the asset | VARCHAR |
| `DESCRIPTION` | Description of the asset | VARCHAR |
| `ICON_URL` | URL of the asset's icon | VARCHAR |
| `COLOR_HEX` | Hexadecimal color code for the asset | VARCHAR |
| `WEBSITE` | Website URL for the asset | VARCHAR |
| `UNIT` | Unit of measurement for the asset | VARCHAR |
| `TICKER` | Ticker symbol | VARCHAR |
| `ISIN` | International Securities Identification Number | VARCHAR |
| `CUSIP` | CUSIP number | VARCHAR |
| `ISSUER_NAME` | Issuer name | VARCHAR |
| `MANAGER_NAME` | Name of the entity managing the asset's portfolio | VARCHAR |
| `SUB_ADVISOR_NAME` | Name of the sub-advisor | VARCHAR |
| `ASSET_CLASS_NAME` | Asset class. See [Asset Classes](https://docs.rwa.xyz/frameworks/asset-classes.md) | VARCHAR |
| `REGION_NAMES` | Regions the asset is exposed to | ARRAY(VARCHAR) |
| `SECTOR_NAMES` | Sectors the asset is exposed to | ARRAY(VARCHAR) |
| `PEGGED_ASSET_NAME` | Name of the asset this asset is pegged to | VARCHAR |
| `ASSET_TO_PEGGED_ASSET_RATIO` | Ratio of this asset to its pegged asset | FLOAT |
| `TOTAL_MANAGEMENT_FEE_BPS` | Total management fee in basis points | NUMBER |
| `TOTAL_PERFORMANCE_FEE_BPS` | Total performance fee in basis points | NUMBER |
| `FEE_STRUCTURE_DESCRIPTION` | Description of the fee structure | VARCHAR |
| `OTHER_FEES_DESCRIPTION` | Description of other fees | VARCHAR |
| `REGULATORY_FRAMEWORK` | Regulatory framework governing the asset | VARCHAR |
| `GOVERNING_BODY` | Governing body for the asset | VARCHAR |
| `REGULATORY_REGISTRATION_NUMBER` | Regulatory registration number | VARCHAR |
| `JURISDICTION_COUNTRY_NAME` | Country of the asset's legal jurisdiction | VARCHAR |
| `INCEPTION_DATE` | Date the asset was launched | DATE |
| `DISTRIBUTES_INCOME` | Whether the asset distributes income to holders | BOOLEAN |

## TOKENS

On-chain token deployments. One row per token. See [Tokens](https://docs.rwa.xyz/schemas/tokens.md) for the full token schema available through the API.

| Column | Description | Type |
| - | - | - |
| `ID` | Unique token identifier | NUMBER |
| `ASSET_ID` | Asset this token represents. Joins to `ASSETS.ID` | NUMBER |
| `NETWORK_NAME` | Blockchain network the token is deployed on | VARCHAR |
| `PLATFORM_NAME` | Platform that deployed the token | VARCHAR |
| `ADDRESS` | Token contract address | VARCHAR |
| `DECIMALS` | Number of decimal places | NUMBER |
| `STANDARDS` | Token standards, such as `ERC-20` | ARRAY(VARCHAR) |
| `TRANSFERABILITY_TYPE` | Type of transferability, such as `Transferable within whitelist` | VARCHAR |
| `TRANSFERABILITY_DESCRIPTION` | Description of transfer constraints | VARCHAR |
| `TREASURY_ADDRESS` | Issuer treasury wallet address | VARCHAR |
| `_CREATED_AT` | When RWA.xyz added the token | TIMESTAMP\_LTZ |
| `_UPDATED_AT` | When the token's reference data last changed | TIMESTAMP\_LTZ |

`_UPDATED_AT` changes only when a token's data changes, including fields not in the share, so you can use it to find changed tokens. A token removed from `TOKENS` does not get a new `_UPDATED_AT`, so an incremental sync also needs a periodic full comparison to catch removals.

## ASSET\_METRICS

Daily asset-level metrics. One row per asset per day. See [NAV & Yield](https://docs.rwa.xyz/methodology/nav-and-yield.md) for how these are sourced and calculated.

| Column | Measure ID | Description | Type |
| - | - | - | - |
| `ASSET_ID` | | Asset identifier. Joins to `ASSETS.ID` | NUMBER |
| `DATE` | | Day the metrics describe | DATE |
| `_ETL_DATE` | | Partition key, always `DATE` + 1 | DATE |
| `NET_ASSET_VALUE_DOLLAR` | 3 | Per-unit value of the asset in USD, based on its underlying holdings | FLOAT |
| `PRICE_DOLLAR` | 39 | Per-unit market price in USD from secondary markets | FLOAT |
| `APY_7_DAY` | 80 | Annualized yield over the last 7 days, net of fees, in percent | FLOAT |
| `APY_30_DAY` | 81 | Annualized yield over the last 30 days, net of fees, in percent | FLOAT |
| `DAILY_YIELD_DISTRIBUTED_DOLLAR` | 83 | Yield distributed to holders on the day, in USD | FLOAT |
| `DAILY_YIELD_RATE` | 84 | Yield distributed on the day divided by circulating asset value, in percent | FLOAT |

## TOKEN\_METRICS

Daily token-level metrics. One row per token per day. See [Metrics](https://docs.rwa.xyz/methodology/metrics.md) for how these are calculated.

### Keys

| Column | Description | Type |
| - | - | - |
| `TOKEN_ID` | Token identifier. Joins to `TOKENS.ID` | NUMBER |
| `DATE` | Day the metrics describe | DATE |
| `_ETL_DATE` | Partition key, always `DATE` + 1 | DATE |

### Supply and value

| Column | Measure ID | Description | Type |
| - | - | - | - |
| `TOTAL_SUPPLY_TOKEN` | 4 | Total number of tokens that exist on-chain | FLOAT |
| `CIRCULATING_SUPPLY_TOKEN` | 61 | Total supply minus tokens held in treasury and premint addresses | FLOAT |
| `TOTAL_ASSET_VALUE_DOLLAR` | 2 | Total supply × NAV, in USD | FLOAT |
| `CIRCULATING_ASSET_VALUE_DOLLAR` | 63 | Circulating supply × NAV, in USD | FLOAT |
| `TOTAL_MARKET_VALUE` | 40 | Total supply × price, in USD | FLOAT |
| `CIRCULATING_MARKET_VALUE_DOLLAR` | 62 | Circulating supply × price, in USD. Only set when the token trades on a secondary market | FLOAT |

See [Market Cap & Total Value](https://docs.rwa.xyz/methodology/market-cap-and-total-value.md) for when to use NAV-based and price-based values.

> [!WARNING]
>
> Summing `CIRCULATING_ASSET_VALUE_DOLLAR` across the tokens of an asset can double-count supply that has been bridged from one network to another, and bridge movements can show up in mints, burns, and flows. The RWA.xyz homepage's RWA value figures use Bridged Token Value (measure 71) instead (see [Reproducing homepage figures](https://docs.rwa.xyz/api/homepage-queries.md)), which some shares include as `BRIDGE_ACCOUNTED_ASSET_VALUE_DOLLAR`. See [Bridged token supply](https://docs.rwa.xyz/methodology/metrics.md#bridged-token-supply).

### Holders and activity

| Column | Measure ID | Description | Type |
| - | - | - | - |
| `HOLDING_ADDRESSES_COUNT` | 15 | Unique addresses holding the token | FLOAT |
| `DAILY_ACTIVE_ADDRESSES_COUNT` | 14 | Approximate count of unique addresses that sent the token on the day | FLOAT |
| `WEEKLY_ACTIVE_ADDRESSES_COUNT` | 42 | Approximate count of unique sending addresses in the calendar week | FLOAT |
| `MONTHLY_ACTIVE_ADDRESSES_COUNT` | 43 | Approximate count of unique sending addresses in the calendar month | FLOAT |
| `QUARTERLY_ACTIVE_ADDRESSES_COUNT` | 44 | Approximate count of unique sending addresses in the calendar quarter | FLOAT |
| `ANNUALLY_ACTIVE_ADDRESSES_COUNT` | 45 | Approximate count of unique sending addresses in the calendar year | FLOAT |
| `DAILY_TRANSFER_COUNT` | 46 | Number of transactions with the token contract on the day | FLOAT |
| `DAILY_TRANSFER_VOLUME_TOKEN` | 13 | Tokens transferred between holders on the day, excluding mints and burns | FLOAT |
| `DAILY_TRANSFER_VOLUME_DOLLAR` | 20 | Daily transfer volume in USD | FLOAT |

The weekly, monthly, quarterly, and annual active address counts cover calendar periods, not trailing windows. Each value sits on the row for the first day of its period (the Monday of an ISO week, or the first day of a month, quarter, or year) and is `NULL` on every other day. The current period's value is partial and is updated daily until the period ends.

### Mints, burns, and flows

| Column | Measure ID | Description | Type |
| - | - | - | - |
| `DAILY_MINTS_TOKEN` | 16 | Tokens minted on the day | FLOAT |
| `DAILY_BURNS_TOKEN` | 17 | Tokens burned on the day | FLOAT |
| `DAILY_MINTS_DOLLAR` | 18 | Tokens minted on the day, in USD | FLOAT |
| `DAILY_BURNS_DOLLAR` | 19 | Tokens burned on the day, in USD | FLOAT |
| `DAILY_SUBSCRIPTION_VOLUME_TOKEN` | 85 | Adjusted mints on the day: tokens leaving treasury and premint wallets, plus mints directly to other wallets | FLOAT |
| `DAILY_SUBSCRIPTION_VOLUME_DOLLAR` | 87 | Daily subscription volume in USD | FLOAT |
| `DAILY_REDEMPTION_VOLUME_TOKEN` | 86 | Adjusted burns on the day: tokens entering treasury and premint wallets, plus burns directly from other wallets | FLOAT |
| `DAILY_REDEMPTION_VOLUME_DOLLAR` | 88 | Daily redemption volume in USD | FLOAT |

Subscription and redemption volumes are the adjusted mints and burns described in [Net flows](https://docs.rwa.xyz/methodology/corporate-actions.md#net-flows). Use them rather than raw mints and burns to measure investor flows.


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