Skip to main content
dimensions.apps holds one row per app: one deployed version of a protocol that a project runs, such as uniswap-v3 or hyperliquid-spot. Rows come from the registry we author by hand, so a row exists because somebody wrote it down, not because we detected activity. A project can run several apps; dimensions.projects holds the project side.

Columns

ColumnTypeDescription
app_idSTRINGIdentifier of the app. Every table that mentions an app joins on this.
project_idSTRINGProject that runs the app. Joins dimensions.projects.
nameSTRINGDisplay name.
market_sectorsARRAY<STRING>Every market sector tag the app carries.
primary_market_sectorSTRINGThe first element of market_sectors. One value per row.
created_atTIMESTAMPWhen the app was added to the registry.

Sample queries

List every app one project runs.

Notes

market_sectors is a list, so joining through unnest(market_sectors) yields one row per tag and counts an app once for every tag it carries. Group by primary_market_sector to keep one row per app. Projects โ–ธ Registry carries the same rule for projects.