Methodology
Superlore separates three things: a sentiment index that measures a narrative, a market price you trade, and your positions. Prices and the index come from public data. Positions are paper trades with demo funds.
1. Tradable price: real coin baskets
Each narrative is priced by a fixed, equal-weight basket of real coins. Each coin contributes its price relative to the base date (2026-09-28), so every market starts at 1.00. Ratio markets divide one basket by another, and bearish markets use the inverse. Prices come from DefiLlama (keyed by CoinGecko ids), are collected every minute, and backfilled hourly from the base date.
| Market | Price | Coins |
|---|---|---|
| Solana Meme Season | Equal-weight basket of the top Solana memecoins | PENGU TRUMP BONK WIF FARTCOIN |
| AI Agents Are Back | Equal-weight basket of the top AI-agent tokens | VVV FET VIRTUAL TRAC ARC |
| ETH Is Undervalued | ETH / BTC | ETH ÷ BTC |
| Altseason Is Coming | Equal-weight large-cap alt basket / BTC | ETH XRP BNB SOL ADA TRX ÷ BTC |
| Memecoins Are Dying | 1 / equal-weight memecoin basket (gains when memecoins fall) | DOGE SHIB PEPE TRUMP PENGU BONK |
| Base Is the Next Solana | Base meme basket / Solana meme basket | BRETT TOSHI DEGEN DRB ÷ PENGU TRUMP BONK WIF FARTCOIN |
| DePIN Is the Next Big Meta | Equal-weight basket of the top DePIN tokens | TAO RENDER FIL GRASS GRT |
| Crypto Privacy Is Returning | Equal-weight basket of the top privacy coins | ZEC XMR DCR ZANO |
Constituents were chosen on 2026-10-28 as the largest coins by market cap in the matching CoinGecko category, excluding stablecoins and wrapped assets. They are not rebalanced automatically. A price is only published when every constituent has a recent price, so the basket never changes composition silently.
2. Sentiment index
Each market combines a subset of these public signals:
| Signal | Source | Weight | Max age |
|---|---|---|---|
| Trading activityCombined 24h trading volume of the basket's coins. | CoinGecko | 30% | 6h |
| AttentionDaily English Wikipedia pageviews of related articles. | Wikipedia pageviews | 20% | 72h |
| DiscussionHacker News stories and comments mentioning the narrative. | Hacker News (Algolia) | 10% | 30h |
| Chain activityDaily DEX trading volume on the related chain. | DefiLlama | 15% | 72h |
| Token launchesNew token profiles and boosts seen on DexScreener for the chain. | DexScreener | 10% | 3h |
| Market moodMarket-wide Crypto Fear & Greed Index. | Alternative.me Fear & Greed | 15% | 50h |
Scoring. Raw values (USD volume, pageviews, post counts) are not comparable, so each signal is scored by the mid-rank percentile of its latest value within its own trailing 30 days. A score of 50 means typical for that narrative. Percentiles are robust to spikes and outliers.
Aggregation. The index is the weighted mean of the available scores × 100, re-weighted over signals that have data. Bearish theses (e.g. “Memecoins Are Dying”) use 100 minus the topic’s strength.
Data quality. A signal is excluded when its newest value is older than its max age, or while it has too little history (it shows as “collecting history”). If usable signals cover less than 50% of the market’s weight, the index is unavailable. If the newest data is older than 30h, it is marked stale.
Not connected. X, Farcaster and Reddit posts are not used: their APIs need paid or authorised access. Hacker News is a weak, tech-leaning proxy for discussion, so it carries a low weight. Wikipedia pageviews measure broad public attention, not crypto-native chatter. The index describes attention and activity. It is not a validated predictive model.
3. Paper trading
Positions are unleveraged. Opening locks the full size as collateral plus a 0.10% fee. P&L is linear: P&L = signed size × (price / entry − 1), positive for longs and negative for shorts. Closing charges the same fee on the exit notional, and a position can lose at most its collateral. Fills use the latest published basket price, which can be a few minutes old. Trading pauses when a market has no price newer than the allowed age. Money is stored in integer cents, and every open and close is an atomic, idempotent database transaction.
4. Source status
Appendix: demo mode
With NARRA_DATA_MODE=demo (used for automated tests and offline work), prices and signals are simulated deterministically: ln P = ln(anchor) + β·(S(t − 30m) − 50)/50 + noise. Demo markets are labelled DEMO everywhere.