Skip to main content
rwa_multichain.tokens_reference_data is the reference table for every token in rwa_multichain.tokens. Grain: one row per token per chain, keyed on (blockchain, token_standard, token_id).

Why it is separate from tokens

tokens answers “does this token exist and what is its identifier”. tokens_reference_data adds the issuer label, balance behavior, and every public field from product_reference_data. Tokens without an associated product remain available with product_id and the attached product fields null. A product and a token are not the same thing. One product — say Franklin Templeton’s BENJI fund — has a row per chain it is deployed on, and the product-level columns repeat identically across those rows. Deduplicate on product_id when you are counting products rather than deployments. For the product catalog itself, use product_reference_data.

Join keys

Do not join balances_enriched on product_id. One product has many chain tokens, so that join fans out.

Product classification

asset_class and asset_type are the canonical product classification fields. They are sourced from product_reference_data and mirrored here for token-grain queries. Tokens with a null product_id have null product fields. issuer is the token-list label. issuer_name is the legal issuer from product metadata. They are not interchangeable.

Table schema

Token identity Product attach (null when product_id is null)

Do not join on symbol

Token symbols are not a safe product key. The same product carries different tickers across access channels, unrelated products share tickers, and scam tokens squat real tickers on other chains. Join on (blockchain, token_id) or token_product_id, never on symbol or underlying_ticker.

Example queries

AUM, holders, and product count by legal asset class:
Join enriched balances on token_product_id: