Skip to main content
rwa_multichain.token_metadata describes the real-world product behind each token in rwa_multichain.tokens: what backs it, who issues it, which platform brought it onchain, and the legal and regulatory structure holders actually buy into. Grain: one row per token per chain, keyed on (blockchain, token_id). It covers roughly 2,300 products from 218 issuers across 125 tokenization platforms.

Why it is separate from tokens

tokens answers “does this token exist and what is its identifier on each chain”. token_metadata answers “what is the product, and how is it structured”. Keeping them apart means the registry can add a chain deployment without waiting on research, and research can be revised without rewriting the registry. 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.

Table schema

Token identity Product identity Asset classification Product mechanics and lifecycle Jurisdiction and legal structure Research provenance

Blank versus NOT_APPLICABLE

Two sentinels carry different meanings and you should filter on them differently:
  • Blank means the value is not currently known for this product.
  • NOT_APPLICABLE means the field has been shown not to apply — a basket product has no single underlying_ticker, a non-SEC issuer has no issuer_cik.
No other placeholder ever appears: there is no N/A, UNKNOWN, or UNDISCLOSED in this table. So WHERE custodian_entity <> '' gives you products with a known custodian, and WHERE custodian_entity = 'NOT_APPLICABLE' gives you products that genuinely have none. asset_class and asset_type are populated for effectively every product. The deep legal fields are populated where a primary source confirms them, so expect blanks on custodian_entity, issuer_lei, and issuer_cik for long-tail products.

asset_class values

By product count, credit and equities dominate — private credit facilities and tokenized stock lineups both run to hundreds of products each — while cash_equivalent holds far fewer products but most of the AUM.

asset_type values

asset_type is constrained by its parent class: Two values are deliberately cross-class, assigned from the product’s actual exposure rather than inferred from the value alone: energy appears under both commodities and credit, and fixed_income_diversified under cash_equivalent, credit, and other. Filter on the pair when this matters, not on asset_type alone. This is one axis only. It is distinct from regulatory_framework (which regime the offering relies on) and jurisdiction_country (where the issuer is domiciled) — a BVI-domiciled fund can be a REGISTERED_FUND under SEC oversight.

eligible_investors values

UNRESTRICTED, US_RETAIL, US_ACCREDITED, US_QUALIFIED_PURCHASER, NON_US_REG_S, EU_PROFESSIONAL_QUALIFIED, KYC_GATED_GENERAL. Two products from the same issuer can differ here, because eligibility follows each offering’s own terms rather than the issuer. A direct government-bills fund distributed broadly under Reg S and that same issuer’s swap-based fund restricted to EU professional investors will not share a value.

The sources array

sources holds the evidence behind the row, ordered and capped at ten records per product. Each record has these fields: Because verifies is scoped per column, you can check whether a specific field on a specific product is backed by a primary legal source rather than trusting the row-level confidence alone.

Issuer, platform, and asset manager

Three separate entities, and they diverge often enough that picking the wrong one skews a league table:
  • issuer_name is the legal entity that issues the product. Attribute AUM here for asset-manager rankings.
  • platform_name is the venue that brought it onchain. Attribute here when measuring tokenization-infrastructure market share. Ondo Global Markets is the platform for tokenized iShares ETFs whose issuer is BlackRock.
  • asset_manager_entity runs the underlying portfolio when that is a third party — Amundi manages the Spiko funds, Franklin Advisers manages BENJI.

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. token_id resolves each onchain instance to exactly one product, so join on (blockchain, token_id) and never on symbol or underlying_ticker.

Example queries

AUM, holders, and product count by asset class:
Issuer league table for tokenized money market funds:
Products a US retail investor can hold, by legal wrapper and regulator:
Only well-evidenced rows, for a research or ratings model: