For the full product shape, start with the overview.
{}
Index object
Use the brief-defined Index shape across discovery, detail, creation, portfolio, and creator screens.
TypeScript schema#
Frontend brief
type Index = {
address: string
vault: string
curve: string | null
name: string
symbol: string
creator: string
creatorNftId: number
basket: {
token: string
symbol: string
weightBps: number
priceUsd: number
}[]
fees: {
buyBps: number
sellBps: number
creatorBps: number
protocolBps: number
vaultBps: number
burnBps: number
}
mutability: "IMMUTABLE" | "TIMELOCK" | "GOVERNED"
stage: "BONDING" | "GRADUATED"
bondingProgress: number
priceUsd: number
marketCapUsd: number
navUsd: number
volume24h: number
volume7d: number
holders: number
totalBurned: string
vaultAssets: {
token: string
amount: string
valueUsd: number
}[]
createdAt: number
chainId: 4663
}Source of truth#
The indexer supplies these fields through REST or GraphQL and publishes live updates over WebSocket. The UI should not calculate protocol accounting from display data when a canonical indexed value exists.
Content is based on the WSB frontend brief and the current public prototype.