Skip to main content
rwa_multichain.tokens is the identity table for every tokenized RWA Dune tracks. Grain: one row per token per chain, keyed on (blockchain, token_standard, token_id). Native identifiers are already stored in token_id; there are no separate contract_address / token_mint_address columns on this view.

Why token_id exists

Each chain identifies a token differently: EVM-compatible chains use a contract address, Solana a mint address, Aptos an asset type, Sui a coin type, and XRPL and Stellar their own asset identifiers. This table normalizes all of those into a single VARCHAR token_id. Join on (blockchain, token_id) and one query works across all 21 chains. That key resolves every row in balances, transfers, and supply.

Table schema

token_standard here uses coarse namespaces. The transfers table uses finer-grained values (bep20, tip20, spl_token, spl_token_2022, classic, soroban, issued), so do not join the two tables on token_standard. Use (blockchain, token_id).
balance_semantics = 'indexed' means the holder balance can change without a normal transfer. Those tokens stay in tokens and transfers. balances includes them only for Backed/xStocks share multipliers and the Ethereum STBT share index (0x530824da86689c9c17cdc2871ff29b058345b44a). Other indexed tokens have no holder rows.

Tempo coverage

Tempo is EVM-compatible, but its tokens use TIP-20. Tempo rows therefore use token_standard = 'tip20' and must not be interpreted as ERC-20 deployments. The canonical Tempo RWA deployments in this registry are:
  • BUIDL: 0xb5ff12bd8010baef823d1bfa2ce6bdc0109cbb24
  • BRSRV: 0xe36e2e79beb1b7f618201eead6106a7d737695e3
  • syrupUSDC: 0x20c0000000000000000000008191667423f70e67
BRSRV is canonical and remains in the registry even when no supply is outstanding. Two other Tempo deployments are intentionally excluded from RWA coverage. sUSDe (0x20c000000000000000000000bd95bfb69fbe6ce3) is excluded because it is classified as a stablecoin and yield-bearing asset; this does not imply that sUSDe is absent from RWA coverage on other chains. The non-canonical syrupUSDC deployment (0x20c000000000000000000000c4ba4256aa07ce38) is also excluded. It recorded five historical transfers from 2026-04-28 through 2026-05-01.

Asset class and issuer

This table is an identity registry, not a classification table. It does not carry product classification or issuer details. Join tokens_reference_data on (blockchain, token_id) for the issuer and attached product fields, including asset_class and asset_type. Use product_reference_data when you need one row per product instead of one row per token.

Example query

Resolve holder balances to the registry: