// faq
The structure that finally makes indexes work.
What is Spectrum?
A novel launchpad built on Uniswap V4 and PRISM that lets anyone create asset indexes which trade seamlessly as a single token — and pay holders instead of charging them. Each index is a per-launch ERC-20 that IS its own V4 hook and its own LP. Buying it deposits assets directly into its pool. No vault. No wrapper. No second tx.
Why did past index tokens fail?
Every prior index was two things stitched together: a vault that held the assets, and a separate market that priced them. Every failure traces back to the seam.
- Management fees — pure negative carry on a passive product.
- Rented liquidity — the day rewards stop, depth walks. Spreads blow out. You can buy but you can't sell.
- Closed-end discount — thin markets drift above or below NAV. You can be right about the thesis and still lose.
- Impermanent loss — when the index IS the pool, LPs bleed silently while they wait.
How does Spectrum fix all of that?
The token is its own liquidity. Each buy and sell flows through a custom
BEFORE_SWAP_RETURNS_DELTAhook that mints/burns shares using an infallible proportional MIN formula — units in, units out, no NAV read. You can't drain the basket because it isn't rented. You can't pay a premium because the price reflects real units owned. You don't suffer IL because you're a claimant, not an LP.How are LP fees split?
1% on every mint and every burn. Split three ways:
- 60% → holders — paid out pro-rata on burn, accrues as virtual NAV growth in the meantime
- 30% → the creator (whoever launched the index)
- 10% → buy & burn PRISM forever
How do I launch an index?
Launches are rate-limited to one index per slot, and a new slot opens a fixed number of blocks after the last launch (
SLOT_DURATION = 10 blocks— roughly 20 seconds on Base, a couple of minutes on Ethereum). Each slot is a Dutch auction: the price starts high (≥ 1 ETH, nudged ±12.5% by recent demand) and ticks down to a 0.1 ETH floor — whoever commits first pays the current price. 90% of your winning bid is used to buy & burn PRISM (bridged to Ethereum first on Base); the remaining 10% is a small protocol fee. Once you win, you pick the basket (any assets, any weights summing to 100%) and earn 30% of every swap fee for as long as your index trades.What can I put in a basket?
Anything with a V4 / V3 / V2 ETH pool on mainnet. AI tokens, DeFi blue chips, a stablecoin-yield mix, an L2 ecosystem bet — any thesis you can name. Each entry has a weight in basis points (sum to 10,000) and a venue field telling the hook where to route the swap.
Why DSTABLE as the pairing currency?
DSTABLE is the settlement currency of the PRISM ecosystem. Pairing every index against it means user-facing quotes stay readable (1 INDEX ≈ N DSTABLE), and the canonical DSTABLE/ETH pool acts as a routing rail for the internal swap chain that builds the basket.
What is PRISM in this picture?
PRISM is the token that owns the whole machine — a claim on its own LP fees, a cut of every Spectrum index, and a share of dstable's yield. As Spectrum indexes launch and trade, PRISM's supply shrinks (via burns) while its revenue compounds. Revenue up, supply down. Every remaining PRISM owns a bigger slice of a bigger pie.
Why does the hook address have to end in 0x88?
V4 hooks encode their permissions in the lower 14 bits of their address. Spectrum needs BEFORE_SWAP (1 ≪ 7 = 0x80) and BEFORE_SWAP_RETURNS_DELTA (1 ≪ 3 = 0x08) → 0x88. The launch flow mines a CREATE2 salt in your browser until the resulting address matches. Usually takes 1-3 seconds.
Can I lose tokens to a sandwich?
The mint formula is units-based, not price-based — sandwiches can shrink the quoted shares but can never drain the basket. Always set a
minOutslippage guard. Burns always pay you proportional to your stake.Why isn't my index on DexScreener?
Spectrum pools are hook-only — no traditional LP positions, so chart apps see
liquidity = 0 and filter them out as suspected scams. The chart tooling for V4 hooks is still nascent. Build a per-index dashboard from Swap events or wait for V4-native indexers to catch up.