Context: Analytics dashboards need vault metrics grouped by category or state without client-side aggregation.
Requirements:
GET /api/v1/analytics/vaults/group-by?by=rwa_category returns [{ group; vaultCount; totalValueLocked; averageApy }].
- Support
by values: rwa_category, state, maturityMonth. Return HTTP 400 for invalid values.
Acceptance criteria:
- Grouping by
state returns one row per non-empty state.
totalValueLocked is the sum of total_assets within each group.
Context: Analytics dashboards need vault metrics grouped by category or state without client-side aggregation.
Requirements:
GET /api/v1/analytics/vaults/group-by?by=rwa_categoryreturns[{ group; vaultCount; totalValueLocked; averageApy }].byvalues:rwa_category,state,maturityMonth. Return HTTP 400 for invalid values.Acceptance criteria:
statereturns one row per non-empty state.totalValueLockedis the sum oftotal_assetswithin each group.