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

# rwa_multichain.prices

> Canonical RWA prices normalized to USD per on-chain token unit, with validity windows and source-mechanism metadata.

export const PremiumDatasetAccessCard = ({href = "https://dune.com/enterprise#contact-form", note = null}) => <Card title="Gated dataset" icon="lock" href={href}>
    Querying this dataset requires an entitlement on your workspace. See <a href="/data-catalog/overview#access-tiers-public-vs-gated-datasets">access tiers</a>, or contact the Dune team to enable access.
    {note && <><br /><br />{note}</>}
  </Card>;

`rwa_multichain.prices` is the cross-chain valuation surface for tokenized RWAs. Grain: one row per `(blockchain, token_id, valid_from)`, with non-overlapping `[valid_from, valid_to)` windows. Rows come from onchain NAV and declared NAV feeds.

<PremiumDatasetAccessCard />

Unlike `nav_intervals`, this view exposes a normalized textual `token_id` and prices whose basis is one on-chain token unit. It standardizes chain-specific address representation and unit conversions. USD totals already live on [`supply.supply_usd`](/data-catalog/curated/rwa/holders-supply/supply) and `balances.balance_usd`; you do not need to join this table to compute AUM. A token can have `supply_usd` or `balance_usd` even when it has no covering row here.

## Table schema

| Column | Type | Description |
| - | - | - |
| `blockchain` | `VARCHAR` | Chain for the token deployment |
| `token_standard` | `VARCHAR` | Native token standard or asset namespace, including `tip20` for Tempo |
| `token_id` | `VARCHAR` | Normalized textual token identifier. Join key to `tokens`, `balances`, `transfers`, and `supply` |
| `asset_address` | `VARBINARY` | Binary asset identifier from the NAV tables |
| `price_usd` | `DOUBLE` | USD price per normalized on-chain token unit |
| `value_kind` | `VARCHAR` | `accounting_nav`, `redemption_rate`, `tracker_price`, `commodity_reference`, or `par_value` |
| `valid_from` | `TIMESTAMP WITH TIME ZONE` | Inclusive start of the price window |
| `valid_to` | `TIMESTAMP WITH TIME ZONE` | Exclusive end. `NULL` only for an open interval |
| `oracle_address` | `VARBINARY` | Native source identifier bytes |
| `source_kind` | `VARCHAR` | Source mechanism from the verified oracle registry |
| `source_table` | `VARCHAR` | Source dataset providing the value |
| `_updated_at` | `TIMESTAMP WITH TIME ZONE` | Latest refresh timestamp |

## Point-in-time join

```sql theme={null}
SELECT
  b.day,
  b.blockchain,
  b.token_symbol,
  p.value_kind,
  SUM(b.balance * p.price_usd) AS nav_usd
FROM rwa_multichain.balances AS b
LEFT JOIN rwa_multichain.prices AS p
  ON p.blockchain = b.blockchain
  AND p.token_id = b.token_id
  AND CAST(b.day AS TIMESTAMP) >= p.valid_from
  AND (p.valid_to IS NULL OR CAST(b.day AS TIMESTAMP) < p.valid_to)
WHERE b.day = CURRENT_DATE - INTERVAL '1' DAY
  AND b.balance > 0
GROUP BY 1, 2, 3, 4
ORDER BY 5 DESC NULLS LAST
```

Use a `LEFT JOIN` to retain all balance rows while attaching the price in force for each snapshot. Prefer `balance_usd` or `supply.supply_usd` when you want the USD value already stored on those tables.

## value\_kind matters

All values are USD per token unit, but they do not all mean accounting NAV:

| Value | Meaning |
| - | - |
| `accounting_nav` | Issuer or fund accounting net asset value |
| `redemption_rate` | Units or value redeemable per token |
| `tracker_price` | Value published by a tracker or oracle |
| `commodity_reference` | Commodity reference price |
| `par_value` | Declared or contractual par value |

Keep `value_kind` in reconciliations and methodology notes. It tells downstream users what financial claim the USD number represents.

## Tempo price coverage

Tempo prices are identifier-exact for the three canonical TIP-20 deployments:

* BUIDL (`0xb5ff12bd8010baef823d1bfa2ce6bdc0109cbb24`) uses the issuer-supported Ethereum RedStone publication.
* BRSRV (`0xe36e2e79beb1b7f618201eead6106a7d737695e3`) uses the issuer-supported Ethereum RedStone publication.
* syrupUSDC (`0x20c0000000000000000000008191667423f70e67`) uses the canonical Ethereum pool's `convertToAssets` series.

`prices` exposes the source mechanism through `oracle_address`, `source_kind`, and `source_table`. Ethereum block and transaction provenance is retained on `rwa_multichain.nav` and `rwa_multichain.nav_intervals`, not directly on `prices`. The mapping applies only to the listed identifiers, not to similarly named or non-canonical Tempo deployments.


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