---
title: "Current USD price for every active registry asset"
method: GET
path: "/asset-registry/prices"
tags: ["asset-registry"]
---

# Current USD price for every active registry asset

`GET /asset-registry/prices`

Returns database-published price state for every active asset without calling a provider. Only `priceUsd` is executable; stale values appear in `lastKnownPriceUsd`, and never-priced assets remain present with null values. Entry-level run IDs expose partial publications.

`marketCapUsd` and `volume24hUsd` are sort keys for a token picker, refreshed with every price run at no extra provider cost. They are returned whenever known — **including on stale rows** — because ordering by them stays correct as they age. Both are null for DRE-managed assets and for the assets CoinGecko does not size.

`change24hPct` is a decimal fraction, not a percentage: `-0.0231` is down 2.31%. It is measured at publish against the newest stored observation between 24 and 25 hours old, and is null when none exists — an asset listed less than a day ago, or a gap in its history. Render a dash, never `0%`. `sparkline7d` is roughly 28 plain numbers, the last price in each 6-hour bucket over 7 days, oldest first; it is decoration, so it carries floats rather than exact decimal strings. Both follow the `marketCapUsd` rule and are returned on stale rows too.

## Response `200`

`{ refreshRunId, publishedAt, prices[] }`.

---

[API](https://skmtc.dev/dre/apis/dre-api.md) · [All operations](https://skmtc.dev/dre/apis/dre-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/dre/dre-api/revisions/5d14beb9482b/schema)
