Skip to main content
rwa_multichain.trades covers where tokenized RWAs actually change hands. Grain: one row per trade, keyed on (blockchain, block_month, block_date, unique_key). It unions DEX swaps with RWA-native venues and normalizes both into a two-token swap schema.

Two platform types

platform_type splits the table into the two kinds of venue: DEX volume dominates by row count, but rwa_platform is where issuer-operated primary and secondary flow shows up. Split on platform_type rather than treating the table as homogeneous.

rwa_side tells you which leg is the RWA

Every row is a two-token swap, and either leg can be the real-world asset. rwa_side resolves it: Ignoring rwa_side and always reading token_bought_address gives you the stablecoin or quote asset roughly half the time. For directional flow analysis, filter rwa_side IN ('buy', 'sell') to exclude the RWA-to-RWA rows that would double-count.

Table schema

Addresses are VARCHAR across all token and account columns — 0x-hex on EVM, base58 on Solana — so one query covers both without casting. Joining to the VARBINARY NAV tables does require a cast; see NAV intervals.

This table does not contain perpetuals

Perpetual futures on RWA underlyings are a different instrument with a different schema, and they live in perp_trades. A perp fill is not a two-token swap, so it is deliberately not unioned in here. Comparing spot to synthetic activity means querying both tables and joining on asset class.

Example query

Net directional flow per asset, reading the correct leg: